Boston Linux & Unix (BLU) Home | Calendar | Mail Lists | List Archives | Desktop SIG | Hardware Hacking SIG
Wiki | Flickr | PicasaWeb | Video | Maps & Directions | Installfests | Keysignings
Linux Cafe | Meeting Notes | Blog | Linux Links | Bling | About BLU

BLU Discuss list archive


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

LILO on a 10-gig drive



It is actually harder to build a boot floppy than the solve your real
problem.  First, you need to know that there are broadly speaking three
modes in which Lilo can be used.  I will restrict my comments to the
latest Lilo distirbutions (21.4.0 and later) from John Coffman.  If you
need a newer Lilo, get it from:

	ftp://sd.dynhost.com/pub/linux/lilo

The first mode is where Lilo runs in conventional CHS geometry.  This
should work on nearly any machine of any age able to run Linux.  It will
also work with any partition which resides entirely below the 1024
cylinder boundary, which is 512 MB for an old-style IDE drive.

The second mode is where Lilo runs in 24-bit Logical Block Addressing
(LBA) mode.  In order for LBA to work, both the motherboard BIOS and the
hard drive must be LBA-compatible.  A motherboard of 1996 vintage is very
likely to be LBA-compatible, and the BIOS settings screen may specifically
say that it is.  In 24-bit LBA mode, CHS geometry is faked as 255 heads by
63 sectors, so boot partitions up to 8.4 GB are supported, since this is
where the 1024 cylinder boundary lands.

The third mode is where Lilo runs in 32-bit LBA mode.  This requires
support for 32-bit LBA specifically from both the motherboard and the
drive, but it support boot partitions as large as 2 TB.  The main problem
with 32-bit LBA mode is that only very new (21.4.0) or later Lilo can do
it, and it is somewhat unlikely that an older motherboard BIOS would be
compatible with it.

Enabling 24-bit LBA mode with Lilo is done with the "linear" keyword.  
Enabling 32-bit LBA mode with Lilo is done with the "lba32" keyword.

Now, the simplest solution for you is to make a tiny partition at the
start of the drive, say 20 MB or so, and make this the /boot area of your
filesystem.  Nothing other than the stuff in /boot need to be accessible
to Lilo during the boot process.  This must be a primary partition,
however, or Lilo will complain.  In other words, you could partition your
system like this:

     /dev/hda1        20 MB      /boot
     /dev/hda2       256 MB      (swap)
     /dev/hda3      9700 MB      /

This configuration should work on any motherboard and any hard drive.  
This is, in effect, the "old way" of dealing with this problem.  There is
a distinct disadvantage to this layout, however, if you want the machine
to be able to boot into either Linux or Windows, since Windows will get
upset about having more than one primary partition -- and it wants that
one to be the Windows partition.  If Windows is not an issue, my advice is
to go for it this way.

The other approach is to make sure that whatever partition /boot lives on
is within the 8.4 GB limit of 24-bit LBA access.  For example, if you made
your root partition 8 GB and made /boot an ordinary subdirectory, then
this should work as long as your system is 24-bit LBA compatible.  The
problem here is that, since you are probably doing this to get dual boot
with another operating system, you need to make sure that ALL of the
bootable partitions are entirely below the 8.4 GB boundary.  This can lead
to a fairly messy juggling act.

Finally, if your system does support 32-bit LBA, then you can put Linux
anywhere on the disk, throw the "lba32" keyword into /etc/lilo.conf, and
roll with it.  Even so, however, Windows and other non-Linux operating
systems may get very confused by booting above the 1024 cylindery
boundary, so watch out for data corruption in that case.  In some very
nasty operating systems, everything will be fine until you start to access
the end of the disk which is beyond the 8.4 GB limit, and then disk writes
will occur at the beginning of the disk instead of the end when the
numbers wrap, leading to overwriting of critical data.

-- Mike


On 2000-07-06 at 10:56 -0400, richb at pioneer.ci.net wrote:

> Last night I spent some time digging through LILO documentation (after
> confirming that the 10-gig drive is readable as a root filesystem from
> a boot floppy) to see if I could figure out how to get the old P133 to
> boot up from the hard drive.
* * *
> Before I throw in the towel and buy a brand new PC, any suggestions?  All
> I need to get this old P133 into production, apparently, is either a
> successful LILO installation on the 10-gig drive, or a boot floppy which
> brings up /dev/hda3 from the 2.2.14 kernel which came with SuSE.  (I could
> build a custom kernel but have no need to do so, the stock one works fine.)
> I dd'ed that kernel to a floppy and rdev'ed it to hda3, but that fails
> even worse than LILO (have no idea why; the floppy thus produced doesn't
> get further than "Loading" on any of my systems).


-
Subcription/unsubscription/info requests: send e-mail with
"subscribe", "unsubscribe", or "info" on the first line of the
message body to discuss-request at blu.org (Subject line is ignored).




BLU is a member of BostonUserGroups
BLU is a member of BostonUserGroups
We also thank MIT for the use of their facilities.

Valid HTML 4.01! Valid CSS!



Boston Linux & Unix / webmaster@blu.org