This section will take a closer look what a live CD is, and how it works.
This background will be handy in the upcoming sections which describe how to customize your live CD
A live CD ISO's structure looks like this:
The ISO image is created in such a way that it will call syslinux's boot program when the CD/DVD boots.
mkisofs -b isolinux/isolinux.bin
mkisofs's -b switch does the trick.
Under the "isolinux" folder you may find the following important files:
isolinux.bin - This is similar to lilo. It is a bootloader, and like other bootloaders, it has a config file.
isolinux.cfg - This config file tells isolinux.bin how to behave.
vmlinuz - The kernel which will be booted by isolinux.bin
initrd.gz - The initial ram drive which will be used by the kernel.
livecd.msg - (Optional) This is a message file. A message file is a special format graphic file which acts as a splash screen when the CD/DVD boots.
In the root you will typically find livecd.sqfs. This file is in a format that can be mounted in a loopback. The default is Squash FS, but other options include iso.( livecd.iso)
![]() | So now you'll have and iso within an iso :) |
isolinux.bin boots the kernel /isolinux/vmlinuz.
This kernel has a special custom ram drive ( /isolinux/initrd.gz ) containing startup scripts which will:
Detect where the iso's loopback filesystem is.
Mount the iso's loopback filesystem
Pivot_root the loopback filesystem
Set up certain configuration files to suit the loopback setup and current hardware.
Start the init process of the loopback filesystem.
The real magic happens during the hardware detection and configuration.
Lets take a look at the graphics for instance:
The live CD will automatically set up the configuration for X. Thus, you may have build the live CD on a machine with one type of graphics card, but the script detecting and setting up the hardware will detect the current graphics card and configure it accordingly.
The loopback filesystem may be written to. This is why the hardware detection scripts can overwrite existing hardware configurations. You may even add new users, but as soon as you reboot, they will be lost.
Now you have more background on the elements of a live CD, we can take a look at the parts which can be changed and personalized.
These parts are divided into screens inside the druid.
Each of the subsequent sections will discuss a screen.
The list of screens are as follow:
Select a root directory.
ISO image configuration.
ISO boot configuration.
Performance and extra files.
Kernel boot splash.
User environment.
Special mount points.