The bootloader is the software that loads the operating system when the computer starts. A boot loader can also provide the user with a small interactive interface and utilities. At the same time, the bootloader determines boot options for the operating system. Software like GRUB, LILO and Das U-boot are some examples of boot loaders.
Syslinux is a collection of boot loaders used by Linux users around the world. Here’s everything you need to know about Syslinux and its directory structure.
What is Syslinux?
Syslinux has two meanings. The first is the operating system boot loader, which uses the Linux kernel on IBM-compatible computers. The second is the SYSLINUX boot loader used in the FAT file system. Most of the time you can see Syslinux and SYSLINUX used interchangeably. There is a misunderstanding here. To clarify, Syslinux is for IBM compatible systems, while SYSLINUX is for the FAT file system.
Syslinux is intended for machines that use the x86 CPU architecture. When the computer starts, the operating system is loaded from the hard drive, USB drive, memory card or network. With Syslinux, it is also possible to open files executed directly from the processor. You can install it on any storage unit and adjust each of its configurations according to your preferences.
There are four different types of Syslinux boot loaders:
- SYSLINUX: Installs on FAT file systems
- EXTLINUX: Installs on ext, btrfs, FAT, NTFS, XFS, UFS and HFS file systems
- ISOLINUX: Installs on CD and DVD
- PXELINUX: A type of network bootloader
Where to get Syslinux
Syslinux is a GNU GPL licensed boot loader. Therefore, you can obtain Syslinux for free, reproduce it, modify the source code and distribute it to others.
Downloading and installing Syslinux is quite simple. You can use mirror links to get the latest version of Syslinux. It is available in formats such as ZIP, TAR and TAR.GZ. Unzip these files immediately after downloading them to start using them.
The structure of the Syslinux archive directory
The compressed archive you just downloaded contains files and directories. Below is an informative table about the files it contains.
|code page||Information about the different character sets|
|com32||.c32 files included in Syslinux|
|heart||Syslinux Core Files|
|document||Syslinux documentation and SYSLINUX logo|
|diagnostic||Syslinux diagnostic tools|
|back||Syslinux installation file for DOS|
|dosutil||Some tools for DOS|
|extlinux||EXTLINUX installation file for Linux|
|linux||SYSLINUX installation file for Linux|
|memdisk||The MEMDISK plug-in|
|to taste||Sample files|
|SMS||Descriptions for Syslinux|
|utilities||Tools for Linux|
|win32||The 32-bit Syslinux installation file for Windows|
|win64||The 64-bit Syslinux installation file for Windows|
Understanding the Files Found in the Syslinux Archive
The files you will find when you download and unzip Syslinux include installation files, library files, boot files, core files, and plugins.
As always, you will need the command line and some parameters when using the installer files. When you run these files, the installation process takes place on the desired storage device. The parameters mentioned are a set of commands specifying where and how the installation process will take place.
There are boot files to install Syslinux on USB, CD or network. These files are for the media required for installation, such as a USB drive or CD. There are different types of Syslinux and boot files vary in all types. For example, PXELINUX requires manual installation. Therefore, it would not be correct to generalize the logic of how boot files work.
Library files, as in many software, describe the core libraries and files required for the software system. It is available since the fifth version of Syslinux.
Moreover, having these files in a single folder is very useful, especially in terms of space and performance management. Many plugins want to use the same files and libraries, so it’s a good idea to provide common code in one place, rather than copying those files and increasing the space used.
System and kernel files are stored in the storage unit where Syslinux is located. You do not need to install a copy of the corresponding core file. This happens automatically during installation. But you have to copy the other files that make up Syslinux into the current directory yourself. If these files do not exist and you start the computer with this disc, a boot error message will appear.
Syslinux plugins are a set of files that add additional functionality to the program. And as with open source software, you can use these plugins to customize Syslinux and make it more convenient to use. You can even develop Syslinux plugins yourself if you are a developer.
Below you will see some plugins for Syslinux:
|Opening menu on text display||menu.c32||
|Opening menu on graphic screen||vesamenu.c32||
|Hardware detection tool||hdt.c32||
|Restarting the computer||reboot.c32||
The Syslinux Boot Loader Explained!
If you’re going to be working with the FAT file system, Syslinux is one of the best ways to look at Linux bootloader options. Syslinux will help you especially if you use FAT in embedded system Linux distributions or in your search for small and fast distributions.
Also, since it runs easily on MS-DOS/Windows, it’s a good option for those targeting virtual machines or those who are going to install Linux on Windows. Syslinux can handle a lot of things on its own, and you don’t even need a second bootloader. All you have to do is learn the structure and types of Syslinux files.
Thereafter, it will not be difficult for you to get stable Linux images with correct and proper configuration. You can also check out a boot loader like GRUB instead of Syslinux.