Hi.
I’ve read many articles from this forum about my problem, but I’m completely unable to boot a SanDisk CF 256 MB with an embedded image. I’m using a PC PCM5896, with an IDE onboard controller, and a CF PC-104 module.
In the BIOS, The main hard disk is configured in LBA mode as master. The CF card is configured as slave, in LBA mode with 248:32:63 Cylinders:Heads:Sectors parameters.
If I install the QNX 6.3.0 distribution on the CF, it boots and works perfectly. But, I want to do my own embedded version.
I do the following steps:
- umount /dev/hd1t77 (when I boot QNX from the HDD, it is already mounted)
- fdisk /dev/hd1 delete all
- fdisk /dev/hd1 add -s1 -t77 -p100
- fdisk /dev/hd1 boot -s1
- fdisk /dev/hd1 loader
If I do fdisk /dev/hd1, it sees the 248:32:63 LBA parameters.
- mount -e /dev/hd1
- dinit -hb /dev/hd1t77 (it applies ipl-diskpc2-flop by default)
If I mount it now, the .boot is the same as the image.ifs, so ok.
I reboot. I choose to boot from Drive 2, Partition 1 and it says:
Hit Esc for .altboot …S
Since my own image didn’t work, I tried the simplest: /boot/build/bios.build
[virtual=x86,bios +compress] boot = {
startup-bios
PATH=/proc/boot procnto -vv
}
[+script] startup-script = {
# Programs require the runtime linker (ldqnx.so) to be at a fixed location
procmgr_symlink ../../proc/boot/libc.so.2 /usr/lib/ldqnx.so.2
# Start up some consoles
devc-con -n4 &
reopen /dev/con1
display_msg Welcome to QNX Neutrino on an PC compatible BIOS system
slogger &
# Start the pci server
seedres
pci-bios &
waitfor /dev/pci
# Some common servers
pipe &
mqueue &
devc-ser8250 -e &
devc-pty &
# Start a debug server for debugging programs
waitfor /dev/ser1
[+session] pdebug /dev/ser1 &
# 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
}
# 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
# We use the "c" shared lib (which also contains the runtime linker)
libc.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=ksh
# or use the smaller non-posix "Fat Embedded Shell" as the default shell "sh"
#sh=fesh
# Other executables
pdebug
pipe
mqueue
devc-ser8250
devc-pty
ls
cat
pidin
uname
slogger
sloginfo
but, still it does not boot. The mkifs -v does not give any error
I’m desperated