The Haiku/BeOS Tip Server
Tips and tricks for Haiku/BeOS users

Boot BeOS via SCSI with LILO

Contributed by: Paul Cardwell
This tip is valid for: Both BeOS and Haiku

[Editor’s note: Be’s bootman is far easier to configure and use than LILO. If you’re running a multi-boot machine, I recommend bootman (search this site for bootman tips). Bootman can boot virtually any OS from any kind of device, with no special configuration required. If you enjoy pain, read on.]

If you’re not familar with LILO, getting BeOS to boot off a SCSI disk can be stressful.

First off, let’s determine what hard drive number you have:

1. How many physical hard drives do you have in your system?

2. Which hard drive contains BeOS? (hint: it’s connected to the SCSI controller)

3. Let’s determine the hard drive number by knowing which ones your computer’s BIOS sees. They are seen in order.

For example, I have two hard drives on my primary ide controller (master and slave), which allows up to two drives off that connector. I have another IDE hard drive on the secondary ide ( master ) and a ide cdrom drive ( slave ).

Confused? Don’t be, it’s going to make sense in a second:

Master is referring to the 1st hard drive set as master on the primary ide controller. Slave is referring to the 2nd hard drive set as slave on the primary ide controller.

See a pattern?

In my configuration I have a total of *four* hard drives. Three IDE and one SCSI. The BIOS will see the drives on the primary IDE first, followed by secondary IDE and then finally it will see the SCSI controller with drives off of it.

In my case, the hard drive number that has BeOS on it is number four.

Master IDE drive on primary ide controller = 1.

Slave IDE drive on primary ide controller = 2.

Master IDE drive on secondary ide controller = 3.

Slave IDE cdrom on secondary ide controller = n/a, doesn’t apply here, not a hard drive.

SCSI disk first in SCSI chain (my only hard drive on it) is 4.

Now we know the disk/hard drive number, now write that down. :)

For the next part you need to be ‘root’ and use an editor of your choice.

Let’s take a peak at my /etc/lilo.conf file.

Example of /etc/lilo.conf

boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
linear
default=linux
compact
disk=/dev/sda
     bios=0x83

image=/boot/vmlinuz-2.2.14-5.0smp
	label=linux
	initrd=/boot/initrd-2.2.14-5.0smp.img
	read-only
	root=/dev/hdb1

image=/boot/vmlinuz-2.2.14-5.0
	label=linux-up
	initrd=/boot/initrd-2.2.14-5.0.img
	read-only
	root=/dev/hdb1

other=/dev/hda1
	label=dos

other=/dev/sda1
	label=be

As you see I have several entries, your’s may be more or less.

See the lines that read (near the top):

disk=/dev/sda
     bios=0x83

Yep, /dev/sd -> ‘a’ is hard drive one on the scsi chain.

Remember that hard drive number we jotted down (you did right?), well here is what all that work was for:

bios=0x8 -> ‘3’ is hard drive number 4 seen by the BIOS.

In other words figure out the drive number from step 3 above and substract 1.

Edit your /etc/lilo.conf and include “linear, disk, bios” lines like mine, minus making changes to reflect your setup.

We are almost done, look at the bottom of my example lilo.conf, notice “other=/dev/sda1” section? Make yours look like it but make the appropriate changes. Due note, /dev/sda1 is referring to partition ‘1’ on /dev/sda (scsi disk one in chain). Make sure you give it the right BeOS partition off of the SCSI drive.

Save your changes to the lilo.conf file.

At the Linux shell prompt, as user ‘root’ enter:

lilo

Now reboot and when LILO pops up, enter “be” to enter BeOS.

Posted in Miscellaneous


(comments are closed).