Re: [pc110] lilo - problems

Vaughan Pratt (pratt nospam at cs.stanford.edu)
Wed, 13 Oct 1999 09:22:09 -0700

>In particular, the cyl/hd/sec parameters need to be set in the LILO
>and also the noprobe option.

Just to be a bit more explicit about this, my lilo.conf includes the
following line (for a 15 MB card):

append = "hdb=noprobe hdb=477,2,32"

This of course is telling LILO to pass the quoted string as a boot
parameter, telling the block driver (hd) that the drive has 477 cylinders,
2 heads, and 32 sectors. (And obviously you need root=/dev/hdb1 in your
lilo.conf as well.)

There's a bit of a chicken-and-egg problem here, so to get off the
ground (assuming you have an operational root on your CF card but no
lilo installation yet) you can boot from somewhere else such as the
floppy or PCMCIA drive and append that string manually (i.e. type it in)
after whatever you type at the boot prompt (typically "linux"), along
with root=/dev/hdb1 unless you've already rdev'd that into wherever your
vmlinuz image is coming from. Once you're up and running with the CF
as your root you can run lilo and thereafter the string will be passed
automatically when you boot. (One would assume that "lilo -r /dev/hdb"
would install lilo onto the front of the CF even while running with the
root fs somewhere else, as you can do with floppies, but for some reason
I'm having less luck with this these days than I used to, or else my
memory is playing tricks on me.)

For a 48 MB or larger card you will have to change the 2 (number of heads)
to 4, and I assume it's 8 for yet larger cards (since the cylinder count
has to stay below 1024). Although the driver needs the head and sector
count to get the geometry right, the cylinder count can be anything as
these numbers seem only to be used to determine the geometry and not
the overall size of the device.

Vaughan