The LInux LOader, or LILO for short, is a legacy multi-boot loader for Linux systems. In spite of being the standard choice over the course of several years, it has been slowly phased out thanks to the advent of GRUB, an alternative boot loader offering easier configuration and less chance of rendering systems unbootable. However, many users still prefer the simplicity of traditional LILO, and it is still actively developed.
LILO is available as AUR. For UEFI systems the AUR package is also available.AUR and AUR from the
LILO is configured by editing the
/etc/lilo.conf file and running
lilo afterwards to apply the new configuration. If choosing LILO during the Arch Linux installation process, the configuration file should have been already performed.
As a reminder, consider that LILO needs to be run after every kernel upgrade, otherwise the system is likely to be left in an unbootable state.
More help on setting up LILO can be found in the LILO-mini-HOWTO.
A typical LILO setup:
/etc/lilo.conf's global section, as shown below.
# # /etc/lilo.conf # boot=/dev/hda # This line often fixes L40 errors on bootup # disk=/dev/hda bios=0x80 default=Arch timeout=100 lba32 prompt compact image=/boot/vmlinuz-linux label=Arch append="devfs=nomount" vga=788 root=/dev/hda2 read-only image=/boot/vmlinuz-linux label=ArchRescue root=/dev/hda8 read-only other=/dev/hda1 label=Windows # End of file
You can use hwinfo --framebuffer to determine what vga modes you can use.
Using an image as background
First prepare the background image:
- Open it in GIMP.
- Scale it to 640x480.
- Change it to indexed mode (Image-->Mode-->indexed).
- Select "Create optimal palette" and set it to 16 colours. Choose whatever dithering method suits you.
- Open the "Indexed Palette" dialog. Make note of which colours you want to use for menu text entries, the clock, etc. In your
lilo.conf, you refer to the colours by index.
- Save the image as a bmp in your
lilo.conf. There are a few options that can be set for your graphical menu. See
man lilo.conf for more information.
- bitmap=<bitmap-file> Set this to the file that you saved above.
These are the colours of the entries in the menu. They refer to the foreground, background, and shadow colours respectively, followed by the same for highlighted text. Do not use spaces. The values used are indices into the colour palette that you discovered in the previous step. If you choose, you can leave a value blank (but do not forget the comma). The default background is transparent, the default shadow is to have none.
- bmp-table=<x>,<y>,<ncol>,<nrow>,<xsep>,<spill> This option specifies where the menu is placed. x and y are the character coordinates. You can also suffix them with a p to specify pixel coordinates.
- bmp-timer=<x>,<y>,<fg>,<bg>,<sh> This option specifies the coordinates and colour of the timer that counts down the timeout before booting a default entry. It uses colour indices for the colours, and character (or pixel) coordinates.
bitmap=/boot/arch-lilo.bmp bmp-colors=1,0,8,3,8,1 bmp-table=250p,150p,1,18 bmp-timer=250p,350p,3,8,1
lilo as root, and reboot and see how it looks!