13

What Is Syslinux? The Syslinux Archive File Structure Explained

 3 years ago
source link: https://www.makeuseof.com/syslinux-bootloader-file-structure/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

What Is Syslinux? The Syslinux Archive File Structure Explained

Published 9 hours ago

Everyone should learn the ins and outs of the Syslinux archive file structure before installing it on a Linux-powered machine.

programmer coding syslinux plugins

The bootloader is the software that loads the operating system when the computer boots up. A bootloader can also provide the user with a small interactive interface and utilities. At the same time, the bootloader determines the boot options for the operating system. Software like GRUB, LILO, and Das U-boot are some examples of bootloaders.

Syslinux is a collection of bootloaders used by Linux users globally. 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 bootloader, which uses the Linux kernel on IBM-compatible computers. The second is the SYSLINUX bootloader used in the FAT file system. Most of the time you can see both Syslinux and SYSLINUX used interchangeably. There is a misunderstanding here. To clarify, Syslinux is for IBM-compatible systems, whereas SYSLINUX is for the FAT file system.

Syslinux is for machines that use the x86 CPU architecture. When the computer boots, the operating system is loaded either from the hard disk, USB, memory card, or network. With Syslinux, it is also possible to open files running directly from the processor. You can install it on any storage unit and adjust each of its configurations according to your preference.

There are four different types of Syslinux bootloaders:

  • SYSLINUX: Installs on FAT file systems
  • EXTLINUX: Installs on ext, btrfs, FAT, NTFS, XFS, UFS, and HFS file systems
  • ISOLINUX: Installs on CDs and DVDs
  • PXELINUX: A type of network bootloader

Where to Get Syslinux

Syslinux is a GNU GPL licensed bootloader. Therefore, you can obtain Syslinux free of charge, reproduce it, change the source code, and distribute it to others.

Downloading and installing Syslinux is pretty straightforward. You can use mirror links to get the most up-to-date version of Syslinux. It is available in formats such as ZIP, TAR, and TAR.GZ. Uncompress these files immediately after downloading them to start using them.

The Syslinux Archive Directory Structure

The compressed archive you just downloaded contains some files and directories. Below you can find an informative table about the files contained in it.

Directories Description
codepage Information on various character sets
com32 .c32 files included in Syslinux
core Syslinux core files
doc Syslinux documentation and SYSLINUX's logo
diag Syslinux diagnostic tools
dos The installation file of Syslinux for DOS
dosutil Some tools for DOS
extlinux EXTLINUX setup file for Linux
linux SYSLINUX setup file for Linux
mbr Startup sectors
memdisk The MEMDISK plugin
sample Example files
txt Descriptions for Syslinux
utils Tools for Linux
win32 The 32-bit installation Syslinux file for Windows
win64 The 64-bit installation file of Syslinux 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.

Installation Files

As always, you will need the command line and some parameters when using the installation files. When you run these files, the installation process takes place on the desired storage unit. The mentioned parameters are a set of commands specifying where and how the installation process will occur.

Booting Files

There are booting files for installing Syslinux on USB, CD, or network. These files are for media required for installation, such as USB or CD. There are different types of Syslinux and the booting files vary in all types. For example, PXELINUX requires manual installation. Therefore, it would not be correct to generalize the working logic of the booting files.

Library Files

Library files, as in many software, describe the libraries and core files required for the software system. It has been available since the fifth version of Syslinux.

In addition, 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 these files and increasing the space used.

Core Files

System and kernel files are stored in the storage unit where Syslinux is. You do not need to install a copy of the relevant core file. This happens automatically during installation. But you have to copy other files that make up Syslinux to the current directory yourself. If these files do not exist and you boot the computer with that disk, a boot error message will pop up.

Plugins

Syslinux plugins are a set of files that add additional functionalities to the program. And as with open-source software, you can use these plugins to customize Syslinux and make it more convenient for you to use. You can even develop Syslinux plugins yourself if you're a developer.

Below you will see some plugins for Syslinux:

Plugin File Path
Chainloader chain.c32
  • bios/com32/chain
  • efi32/com32/chain
  • efi64/com32/chain
MEMDISK memdisk
  • bios/memdisk/memdisk
Opening menu on text display menu.c32
  • bios/com32/menu
  • efi32/com32/menu
  • efi64/com32/menu
Opening menu on graphic display vesamenu.c32
  • bios/com32/menu
  • efi32/com32/menu
  • efi64/com32/menu
Hardware detection tool hdt.c32
  • bios/com32/hdt
  • efi32/com32/hdt
  • efi64/com32/hdt
Multi-boot installer mboot.c32
  • bios/com32/mboot
  • efi32/com32/mboot
  • efi64/com32/mboot
Serial interface sysdump.c32
  • bios/com32/sysdump
  • efi32/com32/sysdump
  • efi64/com32/sysdump
Computer restarter reboot.c32
  • bios/com32/modules
  • efi32/com32/modules
  • efi64/com32/modules
Computer power off poweroff.c32
  • bios/com32/modules
  • efi32/com32/modules
  • efi64/com32/modules

The Syslinux Bootloader Explained!

If you are going to work with the FAT file system, Syslinux is one of the best ways to examine 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.

Moreover, since it works easily on MS-DOS/Windows, it is 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 Syslinux file structure and types.

Afterward, it will not be difficult for you to obtain stable Linux images with a correct and proper configuration. You may also want to check out a bootloader like GRUB instead of Syslinux.


Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK