QNX Neutrino and QNX4 bootloader partitions

The sequence of events described is part of the normal processing that occurs during booting.

This technote explains what occurs if you try to perform an OS boot using a partition bootloader from QNX Neutrino, on a QNX4 partition.

Encountering the .altboot message

After this message:

Press ESC for .altboot

appears, the secondary boot loader reads in the root block of the partition.

This is the second block of a partition (or disk in the case of a floppy) and contains inode entries for /.boot and /.altboot, the two OS images that are available to load from the root directory.

The boot loader locates the second block, using the parameters for heads and sectors/track that were stored as part of the secondary boot loader when it was written to disk by the dinit utility.

The boot loader then loops for 2 seconds waiting for you to press a key.

Booting or rebooting using a partition bootloader

If you boot or reboot and use a partition bootloader from QNX Neutrino on a QNX4 partition, an error will occur.

Because a driver sees the disk differently from when it was initialized, the secondary boot loader won't be looking for the root block, or subsequent blocks, in the correct place.

You'll see a message similar to this:

Press ESC for .altboot......

followed by a letter or character:

When these characters appear, the boot process halts.

Resolving problems with bootloader partitions

To resolve this problem, and resume booting, you'll need to reboot using a QNX4 floppy disk.

Enter the following command:

dinit -hb

where:

-h
Initializes the hard disk.
-b
Writes only the OS loader to it.

When dinit initializes a disk, it writes a loader in the first block. If the disk is a floppy disk, the loader is the bootstrap loader, else it's the secondary (or partition) loader. If you feel the need to rewrite the loader without reinitializing the disk, you may specify the -b option.