qnx 6.3 boot from USB Flash Disk

Hello All,
I need to boot qnx6.3 from a USB Flash Disk. I’m using Intel 845GEBV2 board which support boot from USB. I have created an OS image using buildfile & mkifs utility and copy it to USB Flash Disk after mounting it in qnx6.3. The usb disk has a QNZ filesystem & it is set as bootable. Follwing are the contents of My USB Flash Disk from which I’m trying to boot the system.

ls /fs/usb

. … .altboot .bitmap .boot .inodes usbboot.ifs

where usbboot.ifs is my image.
But when I boot my system from USB it is giving my error

Can not find Boot media
Insert Boot media and press space bar to continue.

Please help me what to do now or where i’m making mistake.
Thanx in advance.

Your OS image needs to be copied as .boot
cp /fs/usb/usbboot.ifs /fs/usb/.boot

Try copying /fs/usb/usbboot.ifs int o /fs/usb/.boot

LOL… Always reply a second or 2 too late

I have tried as above you said but still giving the same error message, It seems to me that my Kingston USB Flash Drive is unknown to the system at the time of boot. Any further suggestion.
Thanx for ur time.

It seems lots of people have problems booting USB flash disk. Search this site for more discussions. The following thread may get you started:

openqnx.com/PNphpBB2-viewtopic-t3043-.html

i hope the USB flash storgae issues are fixed witht he next QNX release…

I am using the tool provided at h18007.www1.hp.com/support/files … 20306.html to format the USB stick. This tool seems to set the geometry right.

Another thing you can do is use MSDOS + loadqnx.sys to boot QNX of an usb stick. mama.indstate.edu/users/liug/qnx-fat-tools.zip

Boot QNX using MSDOS mini-howto

Procedure for booting QNX using MSDOS:

  1. Format + install MSDOS on the USB stick using the above mentioned tool.
  2. Build a bootimage using momentics (include: mount, io-usb, fs-dos, devb-umass, etc). Make sure the following is in the bootimage:


    io-usb -duhci -dohci -dehci &
    waitfor /dev/io-usb 10
    devb-umass &
    waitfor /dev/hd0 10
    mount -tdos /dev/hd0t6 /dos (depends on FAT or FAT32, can be 12 or 14 too)
    waitfor /dos 10

Here we mount our partition image

mount /dos/myqnxfile.qfs /

Start doing other stuff


  1. Build a qnx4 fs on a qnx target
    – dd if=/dev/zero of=myqnxfile.qfs count=nnn_blocks
    – dinit myqnxfile.qfs
    – mount myqnxfile.qfs /qnx4file
    – Start copying directories to /qnx4file
  2. Copy root.ifs and myqnxfile.qfs to the root of the DOS partition on the usb stick
  3. Make a config.sys that looks like:
    [menu]
    menudefault=QNX,0
    menuitem=QNX
    menucolor=15,1
    [QNX]
    DEVICE=C:\loadqnx.sys C:\root.ifs

[COMMON]

  1. Try to boot QNX

I hope this is helpfull to the original poster and to others. I used it a couple of times already.

Cheers,
Freddy

Related thread(s): openqnx.com/Article213.html By Frank Liu

I didn’t tried the MSDOS QNX boot yet cause i’m trying to up it using other methonds. But one thing i can not understand is I made a simple os image to boot from usb flash disk and than i did the following

fdisk /dev/hd1 delete -a
fdisk /dev/hd1 add -t79 -b
mount /dev/hd1 /fs/usb
cp myimage.ifs /fs/usb/.boot

When I restart the system one thing is BIOS is showing USB Flash Disk in Hard Drives not in Removable Drives. and when I tried to boot it does simply nothing except a blinking cursor on screen. Why it is in Hard Drives ? Secondly after creating a qnx filesystem on USB flash disk that is of 128 MB. I tried
dinit -f myimage.ifs /dev/hd1
after it when i used “fdisk /dev/hd1 show” it is reporting me disk size 22 mb and filesystem type 189. Why is this ? but after this when i boot the system my usb flash disk is in the removable devices in BIOS Setup. and system boots but stops after

Hit Esc for…
and do nothing.
I’m standing no where still. Plz tell me whats going on here.
thanx a lot for ur time.

Me too. Its much simpler. If your BIOS can boot from USB and it finds the flash disk there shouldnt be any problem with QNX6. And its normal that the bios shows the drive as harddisk.

I think the above thing isnt correct. Before mounting the stick you have to perform a dinit. So try the following on an empty disk:
fdisk /dev/hd1 add -t79 -b (you can also do an interactive fdisk in just calling fdisk /dev/hd1)
mount -e /dev/hd1 (to enumerate the device)
dinit -hf yourimage.ifs /dev/hd1t79 (not just hd1 because your image must be copied to a partition not a disk)
afterwards you can mount the stick and copy your sysinit or things like that on it.

Thats it. Give it a try
Tobias

It didn’t worked friend. Now it says
Hit Esc…D.
& halt. Any Idea.
Thanx.

The -D error Message means Disk I/O error. It seems that the QNX loader has some problems with the geometry of the usb-flash.
What does fdisk report of the geometry. Does it report something with 255 heads than it should be OK. (No further idea then what is wrong with your config)
If not try the following:
empty the partition table of the stick: fdisk /dev/hd1 delete -a
restart devb-umass: slay devb-umass and then start devb-umass again
no fdisk should report 255 heads
and then go on like I mentioned before:

If the stick is bigger than 504MB and dinit reports using loader ipl-diskpc2-flop, you have to use the dloader utility. Because …flop is just for small disks:
dloader /dev/hd1t79 pc2

Hope this will work now
Tobias

First of all thanx a lot for ur help. Here are some more results.
My Disk is of 128 MB. and fdisk /dev/hd2 show is showing 122 MB.
Here is some other information.

fdisk /dev/hd2 info

Physical disk characteristics: (/dev/hd2)
Disk type : Direct Access (0)
Cylinders : 31
Heads : 128
Sectors/Track : 63
Total Sectors : 254720

Warning: total sectors field does not agree with
cylinderssectors/trackheads!! (254720 vs 249984)

Partition table information:
0: (79) beg(h=1,s=1,c=0) end(h=127,s=63,c=30) off=63, size=249921
1: (0) beg(h=0,s=0,c=0) end(h=0,s=0,c=0) off=0, size=0
2: (0) beg(h=0,s=0,c=0) end(h=0,s=0,c=0) off=0, size=0
3: (0) beg(h=0,s=0,c=0) end(h=0,s=0,c=0) off=0, size=0
signature1=0x55, signature2=0xAA

after dinit -hf myimage.ifs /dev/hd2t79 when I mount my usb the following are the contents of usb.

mount /dev/hd2 /fs/usb

ls /fs/usb

ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ

I also tried the dloader but still the same results.
Any more suggestion.

I also use 128MB Flash disk. And I see you have less than 255 HEads. So try my suggestion from above.

And then create a new Partition and dinit it like mentioned before.

This wont work. You have to mount the partition like that:
mount /dev/hd2t79 /fs/usb

Tobias