There are two main bootloaders you can use with Linux these days: LILO and GRUB. Red Hat uses GRUB by default now. Most distributions used LILO until quite recently. We built a fairly souped up Linux workstation w/ a large Maxtor IDE drive. We decided to use Sorcerer GNU/Linux; however, we had a horrid time getting lilo to work correctly with the larger drive. Sorcerer uses some lilo and filesystem configurations that were unfamiliar to us, and didn’t appear to work well with our system. Additionally, we like to have a separate DOS partition to run FreeDOS and regular old MS-DOS 6.22 in (we need to test compatibility with 8048 dev systems and stuff like that. 😉 ). It gets even funner. We have an older copy of System Commander that has always worked well for us in the past to switch between different OSs. It is possible to boot FreeDOS, MS-DOS, Windows 95, etc., all from the same partition. System Commander will track the changes and boot correctly. A further complication, besides unfamiliar LILO adventures with Sorcerer Linux, was that System Commander didn’t seem able to correctly see our Linux partition on the large Maxtor drive. We tried installing LILO to the root partition, which is what you need to do if you have a different bootloader, but it didn’t work. Not feeling particularly flush with cash, we didn’t want to upgrade System Commander.
Our solution was to install a 1 gig SCSI drive w/ an Adaptec 2940. We then changed the BIOS to boot off of the SCSI drive first. We loaded up DOS 6.22 and System Commander. Finally, we copied loadlin.exe to our new DOS partition. Loadlin is another way to boot Linux. Yes, Loadlin is for wusses. If you are struggling with LILO, your BIOS, and large IDE drives, you, too might need Loadlin. In our configuration, we then added:
c:loadlin c:vmlinuz root=/dev/hda2 boot=/dev/hda1
to a file called l.bat, and then called l.bat from the bottom of autoexec.bat. We just have to copy bzImage from a new kernel compile to c:vmlinuz, and all boots nicely.