Monday, September 16, 2013

Linux Bootloaders

            Linux has a few bootloaders to choose from. Usually, Linux administrators leave the distro's default bootloader installed. Sometimes administrators need to use a different one or the distro's installer gives the administrators a choice between bootloaders. Clearly, it helps to know about the different Linux bootloaders.

The bootloader is software that executes after the hardware's BIOS completes its startup tests. The bootloader starts an operating system or another bootloader (this is called chainloading). The operating system needs some type of software to initiate the core of the OS. Chainloading is usually used when a computer has many installed operating systems (multi-booting) and the primary bootloader cannot initiate one or more of the operating systems. For instance, some of the Linux bootloaders cannot boot-up Windows. Instead, these bootloaders start another bootloader that can handle Windows or some other system.


LILO (LInux LOader) was once the default bootloader for many Linux distributions before GRUB (another bootloader) became popular. LILO was developed by Werner Almesberger in 1992 to 1998, John Coffman in 1999 to 2007, and Joachim Wiedorn since 2010. The project is still active. The advantages LILO has over many bootloaders is it is not filesystem specific. This means that the operating system can exist on any filesystem (NTFS, EXT4, BTRFS, FAT32, HFS+, UFS, JFS, etc.) and it will still be initiated. LILO can also boot Linux kernel images from floppy disks and hard drives. LILO can handle up to sixteen operating systems. Users could have more if they chainload. LILO may be installed on the partitions boot sector or the Master Boot Record (MBR).


A branch of LILO was made to handle EFI-based hardware. This bootloader is called ELILO (Efi-based LInux Loader) and was made by Hewlett Packard. ELILO is provided as a choice for a bootloader on Intel Macintosh systems. ELILO can also handle network booting via the TFTP/DHCP protocols.


The most widely used and popular Unix (mainly Linux and Solaris) bootloader (as of 2013) is GNU GRUB (GNU GRand Unified Bootloader). The GNU Project is the original maker and current maintainer. GNU GRUB is written in Assembly and C.


SYSLINUX is a lightweight bootloader made by H. Peter Anvin. Many bootloaders have branched off of this project. SYSLINUX is used for FAT and NTFS filesystems and can handle hard-drives, floppy disks, and USB drives. ISOLINUX is used with CD-ROM ISO 9660 filesystems. PXELINUX is used with network servers using the Preboot Execution Environment (PXE) system. Operating systems on EXTx filesystems and BTRFS require the EXTLINUX bootloader branch (EXTLINUX merged with SYSLINUX 4). MEMDISK is used for an older OS like DOS.


PXELINUX is a fork off of SYSLINUX. To use PXELINUX, the computer must have a PXE compliant ROM on a network card. BOOTP or DHCP is used to enable TCP/IP networking. PXELINUX then downloads a bootstrap via TFTP. The kernel is then loaded and configured. PXELINUX is used in diskless workstations or installing Linux from a server.


SPARC Linux systems are booted via the SPARC Improved bootLOader (SILO). SILO is also used in Solaris. SILO is similar to LILO in numerous ways. Once a user fully understands and knows LILO, then they can handle SILO without issues. However, some differences exist. For example, SILO views its configuration file at boot time while LILO does not. SILO can access ext2/3, UFS, romfs, and ISO 9660 filesystems. SILO supports decompression of gzipped vmlinux images.


HPPA Linux systems use PALO (PA-RISC bootLOader).


PowerPC Linux systems may use Yaboot (Yet Another BOOT loader).

Das U-Boot:

Some embedded systems use Das U-Boot (Universal Bootloader), an open-source bootloader written in C. Das U-Boot handles many processor types including PPC, ARM, MIPS, AVR32, x86, 68k, Nios, and MicroBlaze.


This open-source bootloader can handle ARM, Blackfin, MIPS, Nios, and x86 processors.


BURG (Brand-new Universal loadeR from GRUB) is a recent branch from GRUB. The BURG developers intend to replace GRUB with BURG. BURG handles a larger range of operating systems. The key feature to BURG is its ability to have different themes. BURG is a bootloader with many clear, well-drawn themes. Two of BURG's project pages include

Attached Files:

No comments:

Post a Comment