Thanks for your suggestions. I made some improvement, but still not
finished. The question is that devb-doc is written for QNX6.0 that needs
libc.so.1 and libcam.so.1, I want to boot QNX6.1 from diskonchip. The
QNX6.1
executives,such as mount, devc-con, … need libc.so.2. There thus is
confliction now. I included both libc.so.1 and libc.so.2 within the image,
but when executing devb-doc, the patition name hd0t77 would not appear in
/dev.
Please help!
Here is my buildfile-
###########################################################################
[search=/sbin:/usr/sbin:/bin:/usr/bin:/lib:/lib/dll:/boot/sys]
[virtual=x86,bios +compress] boot = {
startup-bios
PATH=/proc/boot:/bin
LD_LIBRARY_PATH=/proc/boot:/dev/shmem:/lib:/lib/dll:/usr/lib:/usr/lib/dll
procnto
}
[+script] startup-script = {
Start up some consoles
devc-con -n4 &
reopen /dev/con1
display_msg QNX6 Booting DOC
Start the pci server
seedres
pci-bios &
waitfor /dev/pci 60
Driving up floppy
devb-doc blk &
waitfor /dev/hd0t77 60
mount /dev/hd0t77 /
display_msg waitfor /bin
waitfor /bin 60
Some common servers
pipe &
mqueue &
devc-ser8250 &
devc-pty &
\
These env variables inherited by all the programs which follow
SYSNAME=nto
TERM=qansi
Start some extra shells on other consoles
reopen /dev/con2
[+session] sh &
reopen /dev/con3
[+session] sh &
Start a high priority shell just in case…
reopen /dev/con4
[pri=25 +session] sh &
Start the main shell
reopen /dev/con1
[+session] sh
[+session] login -p
}
[-autolink]
Cheat and make the /temp point to the shared memory area…
[type=link] /tmp=/dev/shmem
Redirect console messages for syslog
[type=link] /dev/console=/dev/con1
Programs require the runtime linker (ldqnx.so) to be at a fixed location
[type=link] /usr/lib/ldqnx.so.2=/proc/boot/libc.so.2
[type=link] /usr/lib/ldqnx.so.1=/proc/boot/libc.so.1
[type=link] /lib/libcam.so.1=/proc/boot/libcam.so.1
[type=link] /lib/libc.so.2=/proc/boot/libc.so.2
[type=link] /lib/libc.so.1=/proc/boot/libc.so.1
[type=link] /lib/dll/io-blk.so=/proc/boot/io-blk.so
[type=link] /lib/dll/cam-disk.so=/proc/boot/cam-disk.so
[type=link] /lib/dll/fs-qnx4.so=/proc/boot/fs-qnx4.so
We use the “c” shared lib (which also contains the runtime linker)
libc.so.2
libc.so.1
libcam.so.1
fs-qnx4.so
cam-disk.so
io-blk.so
Just incase someone needs floating point…
#fpemu.so.2
The files above this line can be shared by mutiple processes
[data=c]
Executables must currently be below this line
Include a console driver
devc-con
Include pci server
pci-bios
#seedres
Use the “public domain korn shell” as the default shell “sh”
sh=/bin/fesh
or use the smaller non-posix “Fat Embedded Shell” as the default shell
“sh”
#sh=fesh
Other executables
devb-doc
mount
sin
kill
ls
Thanks!
“Mario Charest” <> goto@nothingness.com> > wrote in message
news:a4q22g$sdv$> 1@inn.qnx.com> …
“News” <> news@leadingtek.com.cn> > wrote in message
news:a4ou9l$66h$> 1@inn.qnx.com> …
Thanks. I will first download the papers you recommand. But your brief
suggestions as below is impotant to solve my question. For I must
first
format the DiskOnChip before placing the OS Image to .boot in the DOC
filesystem. When I am trying to format the DOC with #dformat, the erro
information would be displayed that some sort of .so files could not
be
found. I guess that they might be one of the four .so files as I
listed,
but
in fact they are irrelevant.
Since my computer is old, some sort of Pentium MMX 233, could there be
such
possiblity that this problem is generated by the h/w?
No
Otherwise, I think the
M-System readme would list out these .so files.
Please give suggestions still.
Run objdump -x on the program you are trying to run, look for the
field NEEDED. The listed shared object must be in the LD_LIBRARY_PATH.
For example you may be running and setting up a 6.1 (.so.2) system, but
if
dformat
requires the 6.0 version (.so.1) you must install the corresponding
share
object.
Thanks
“raf5de6k” <> raf5de6k@yahoo.com> > wrote in message
news:> 3c6fdae3.7328547@inn.qnx.com> …
Sounds like you forgot something in the build.
A “shared object” is a " .so" file similar to a Windows DLL.
For a discussion of making an image for DOC and booting
from it, see the extra file, QNXBootCF.pdf in my Circuit Cellar
article on QNX Neutrino. It includes a write-up on booting
from both Compact Flash and DiskOnChip.
ftp://ftp.circuitcellar.com/pub/Circuit_Cellar/2001/138/mattern138.zip
http://www.circuitcellar.com/library/print/0102/Mattern/index.asp
http://www.circuitcellar.com/library/print/0102/Mattern/8.asp
http://www.circuitcellar.com/library/print/0102/Mattern/mattern138.pdf
Here is some exerpt:
Various device drivers require specific shared objects. The
specified
file are fetched from the host file system and placed into the
image.
The following is a list of the shared objects used by resource
managers included in this build for Compact Flash. They are:
libcam.so Common Access Method library
io-blk.so block I/O module
cam-disk.so Common Access Method module for Hard disks
fs-qnx4.so high-level knowledge of QNX file system
fs-dos.so high-level knowledge of Dos/FAT file system
cam-cdrom.so Common Access Method module for CDROM
fs-cd.so high-level knowledge of CDROM file system
This document describes the procedures for generating a QNX Neutrino
operating system image, placing that image on either DiskOnChip or
Compact Flash and configuring the system to boot from one of these
two
devices.
Differences for DiskOnChip2000
Step 1, constructing a buildfile
The build file will be the same for DOC, except the DOC driver has
to
be started and mounted. The following shows the differences for the
[script] and [data] attribute sections of the buildfile:
[+script] startup-script = {
hd0t77 because DOC is now the /FIRST device (QNX file system)
setup the mounting point at the root directory ??
display_msg “Starting DiskOnChip2000…”
devb-doc blk automount=hd0t77:/ &
.
.
.
[data=copy]
devb-doc
Step 3 Configure the selected boot media This step is identical to
the case using Compact Flash, except we have to work with the QNX
DOC resource manager (device driver), which was installed as part of
Patch B in Neutrino 2.0. It should be at the following locations:
/opt/m-sys/usr/sbin/devb-doc
OR
x86/opt/m-sys/usr/sbin/devb-doc
Regarding build file images, Akhilesh Mritunjai has put together
one
of the more comprehensive summaries to date
http://www.me.iitb.ernet.in/~mritun/qnx.html> ,
http://www.me.iitb.ernet.in/~mritun/roadmap.pdf
On Sun, 17 Feb 2002 13:45:10 +0800, “News” <> news@leadingtek.com.cn
wrote:
Please Help!
I tried to boot QNX6 from Diskonchip.
1- I make a booting floppy disk. In the OS Image, I included the
two
executives provided by M-System, the dformat and devb-doc; besides,
the
cam-disk.so, io-blk.so, fs-qnx4.so and libcam.so are also included
within
the OS Image.
2- I boot my machine up with the booting floppy successfully.
3- When runting
#dformat
or
#devb-doc
the system always says “could not find neccessary share
objects”.
Who knows where is the problem? Please help
\