You mean /etc/lilo.conf? Here's an example built on your information:

Code:
# /etc/lilo.conf
# LILO 22.6.1

boot=/dev/hda
root=/dev/hda1
map=/boot/map
timeout=100
read-only

# LILO home partition
image=/boot/vmlinuz
	label=Knoppix
	initrd=/boot/initrd.img
	append="ramdisk_size=100000 init=/etc/init lang=us"

# other Linux
image=/mnt/hda7/vmlinuz-2.6.8
	label=Debian_2.6.8
	root=/dev/hda7
	initrd=/mnt/hda7/initrd.img-2.6.8

# other Linux
image=/mnt/hda7/vmlinuz-2.4.27
	label=Debian_2.4.27
	root=/dev/hda7
	initrd=/mnt/hda7/initrd.img-2.4.27

# non-Linux
other=/dev/hda8
	label=NetBSD
	change
As you know from reading $ man lilo.conf there are two main sections to the file. At the top are "global options" that either affect how LILO functions and displays (like timeout) or that you want applied to all of the bootable images (like read-only).

Then come "stanzas," one for each different system you want to boot. Effectively, there are three kinds of stanzas: ones for the Linux that hosts LILO, ones for other Linuxes, and ones for operating systems other than Linux.

It's possible to have /etc/lilo.conf in every Linux partition and to run LILO from whichever one you happen to be in. The files can't be identical - they have to reflect which partition you're in. So the stanza for hda1 will be a little different depending on whether you're running LILO from hda1, which makes that partition the host, or from hda7, which makes that partition the host.

But the difference isn't big. In the example, the "other Linux" stanzas need their own root line to override the one set up in the global options, which reflects LILO's host partition.

Notice that you can have more than one stanza per partition. If you want to try out a new kernel before committing to it, add a stanza for it. If the new kernel crashes or just doesn't work out, you can still easily boot into the original.

Notice also that you have to pay attention to where the distro puts the kernel! As it happens, Debian does actually stash things in the /boot directory, but for whatever reason also provides symlinks in the root directory that point to the relevant items in /boot. That's okay, LILO can follow the symlinks.

Also notice that not every distro uses an initial ramdisk. But for those that do, the initrd line is mandatory.

You can read about the change option in the man page. The way I use it here, actually, is to turn it off - LILO doesn't need to fool around with hiding and deactivating partitions for Windows' sake. It shouldn't be necessary for extended partitions, but it seems to make LILO run more smoothly.

I hope this helps!

-- Ed