QNX boot loader does not work

Hello,

I am trying to embed a self made neutrino/qnx boot image but it seems
that my BIOS does not recognize the QNX loader

I have two disk drives /dev/hd0 (pri master) and /dev/hd1 (pri slave).
The first disk has full RTP installation. I want to boot from my own
image my_boot_image.ifs.

From RTP booted on /dev/hd0 I:

dd if=/dev/zero of=/dev/hd1 bs=1 seek=510 count=2 ( erase the
partition info )
fdisk -f /dev/hd1 add qnx 16 ( create a partition of size 16cyl =
125MB )
fdisk /dev/hd1 boot ( make partition bootable )
dinit -h -fmy_boot_image.ifs /dev/hd1t77 ( format the
partition and install my boot image )
shutdown

From BIOS I exclude C: (the RTP drive) from the boot sequence.

At boot up after BIOS runs it cannot find a bootable disk
(i.e Missing Operating System)

Why does my BIOS not recognize the QNX loader
installed on the hd by fdisk?

Can anyone help me with this?
Should I use the -d flag with dinit?



fdisk /dev/hd1 info

Physical disk characteristics: (/dev/hd1)
Disk type : Direct Access (0)
Disk flags : (0x0030)
Cylinders : 1826
Heads : 255
Sectors/Track : 63
Bytes/Sector : 512
Total Sectors : 29336833

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

Partition table information:
0: (0) beg(h=0,s=0,c=0) end(h=0,s=0,c=0) off=0, size=0
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: (77) beg(h=1,s=1,c=0) end(h=254,s=63,c=15) off=63, size=256977
Loader: QNX
signature1=0x55, signature2=0xAA

fdisk /dev/hd1 show

OS Start End _Number Size
Boot
name type Cylinder Cylinder Cylinders
Blocks

  1. QNX ( 77) 0 15 16 256977 125 MB
  1. ------ (—) ----- ----- ----- --------

  1. ------ (—) ----- ----- ----- --------

  1. ------ (—) ----- ----- ----- -------- -----






    Michel
    Saab Communication
    Stockholm, Sweden

The bootloader does not support booting from any drive other
than the primary master. You should be able to get this to work
using boot device selection features of bios however, if you have
this capability. You must set your bios to boot from the drive you
have as your pri slave. What brand of bios do you have? Can
you describe what it allows you to do for setting the boot device?

“Michel Benoit” <michel.benoit@saabcom.se> wrote in message
news:3A645D84.44F7E3C4@saabcom.se

Hello,

I am trying to embed a self made neutrino/qnx boot image but it seems
that my BIOS does not recognize the QNX loader

I have two disk drives /dev/hd0 (pri master) and /dev/hd1 (pri slave).
The first disk has full RTP installation. I want to boot from my own
image my_boot_image.ifs.

From RTP booted on /dev/hd0 I:

dd if=/dev/zero of=/dev/hd1 bs=1 seek=510 count=2 ( erase the
partition info )
fdisk -f /dev/hd1 add qnx 16 ( create a partition of size 16cyl =
125MB )
fdisk /dev/hd1 boot ( make partition bootable )
dinit -h -fmy_boot_image.ifs /dev/hd1t77 ( format the
partition and install my boot image )
shutdown

From BIOS I exclude C: (the RTP drive) from the boot sequence.

At boot up after BIOS runs it cannot find a bootable disk
(i.e Missing Operating System)

Why does my BIOS not recognize the QNX loader
installed on the hd by fdisk?

Can anyone help me with this?
Should I use the -d flag with dinit?



fdisk /dev/hd1 info

Physical disk characteristics: (/dev/hd1)
Disk type : Direct Access (0)
Disk flags : (0x0030)
Cylinders : 1826
Heads : 255
Sectors/Track : 63
Bytes/Sector : 512
Total Sectors : 29336833

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

Partition table information:
0: (0) beg(h=0,s=0,c=0) end(h=0,s=0,c=0) off=0, size=0
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: (77) beg(h=1,s=1,c=0) end(h=254,s=63,c=15) off=63, size=256977
Loader: QNX
signature1=0x55, signature2=0xAA

fdisk /dev/hd1 show

OS Start End _Number Size
Boot
name type Cylinder Cylinder Cylinders
Blocks

  1. QNX ( 77) 0 15 16 256977 125 MB
  1. ------ (—) ----- ----- ----- --------

  1. ------ (—) ----- ----- ----- --------

  1. ------ (—) ----- ----- ----- -------- -----






    Michel
    Saab Communication
    Stockholm, Sweden

Hi Chris (and others)

We have gotten around the problem of booting from primary master/slave
by using the quiet boot loaders available for qnx4 in the contributed
software library :

/usr/free/qnx4/os/utils/disk/quietloaders.tgz

I installed them (under neutrino) like this:

fdisk -f -B loader1.bin /dev/hd1 loader
dinit -b -B loader2.bin /dev/hd1t77

Could be a problem with the default loader
installed by fdisk?


I can now select from the BIOS either of primary master or slave
to boot from. I can swap the drives too and it still works.

Next I want to transfer what is on the hd1 disk to
the secondary master disk which is a 128M Flash disk
with IDE interface and boot from there

I follow the same procedure as for the 128M partition on the
disk to create /dev/hd2t77.

However when I tell the bios to boot from secondary master
(I remove the primary master/slave disks) it says it can´t
find a bootable OS.

DOS boots without problem from the secondary master.

How can I boot an embedded qnx image from the Flash/IDE disk?
Is the problem with seconsdary master or due to the
Flash/IDE disk?

Unfortunately the Flash/IDE disk is hard wired to secondary master.

Could this be related to the ‘dinit’ bug discussed in
a previous thread ?


Chris Foran wrote:

The bootloader does not support booting from any drive other
than the primary master. You should be able to get this to work
using boot device selection features of bios however, if you have
this capability. You must set your bios to boot from the drive you
have as your pri slave. What brand of bios do you have? Can
you describe what it allows you to do for setting the boot device?

My steps:

From RTP booted on /dev/hd0 I:

dd if=/dev/zero of=/dev/hd2 bs=1 seek=510 count=2
fdisk -f /dev/hd2 add qnx all
fdisk /dev/hd2 boot
fdisk -f -B loader1.bin /dev/hd2 loader

dinit -h -f my_boot_image.ifs -B loader2.bin /dev/hd2t77
shutdown

Michel Benoit
Saab Communication