4.6. Make your own boot CD.
Section contents:
4.6.1 Using SYSLINUX to make a bootable floopy.
The (in)famoun boot loader SYSLINUX, can't mount or read 'ext3' file systems
like GRUB,nor it can get physical 3D coordinates (CHS) like LILO,
it can read FAT file systems!! why FAT ?! it's designed to read FAT
file system (the old 8.3 way, 8 characters for name and 3 for extention),
a derived version of it called ISOLINUX could read ISO9960 file systems
used with CDs, in both cases it could not be used to read and boot a kernel
found on a native file system (like 'ext3'), it has limited usage at:
- create bootable floppies (eg. for installation).
- create bootable CDs
- boots a custom Linux installation where you put the kernel on Windows partition.
for example to create a bootable floppy, put a FAT formatted floppy
and type 'syslinux /dev/fb0', then mount the floppy
and put a configuration file that is 'syslinux.cfg'
and a kernel 'vmlinuz' on it.
The syntax of 'syslinux.cfg' is quite simple, a 'label' followed by a short name,
then 'kernel' line followed by filename (relative to floppy), and at last we have
'append' followed by arguments to pass like:
label linux
kernel vmlinuz
append initrd=ramdisk.rdz ramdisk_size=8000 root=/dev/ram3 vga=788
to specify a default system use 'dafault' followed by the label,
if you want it to be interactive use 'prompt 1',
but if you want if to do that only if you press 'SHIFT' use 'prompt 0'
(0 and 1 are like false and true),
to specify a timeout (in tenth of seconds) to boot the default system use
'timeout 80' which will wait for 8 seconds.
To specify what it display use 'display' followed by a filename,
to specify what it will display if the user presses F1 use 'F1' followed
by filename and so on for other keys F2,F3,...etc. those files are
a normal ASCII files (it could have some special characters for coloring),
or an image coverted from BMP using a 'perl' script that comes with SYSLINUX,
this is a sample complete 'syslinux.cfg' file:
default linux
prompt 1 # 0 don't prompt unless shift or what ever pressed
timeout 80 # wait for 15 sec
display boot.msg
F1 help.msg
F2 boot.msg
label linux
kernel alt0/vmlinuz
append initrd=ramdisk.rdz ramdisk_size=8000 root=/dev/ram3 vga=788
label text
kernel alt0/vmlinuz
append initrd=ramdisk.rdz ramdisk_size=8000 root=/dev/ram3 2
4.6.2 Using ISOLINUX to make bootable CDs.
A branch of SYSLINUX is called ISOLINUX which is used in usual distributions
bootable CDs. Let's assume you have a directory called '~/mycd'
that will become an ISO image called 'mycd.iso' to be burned as a bootable CD,
create a subdirectory called 'isolinux' inside that directory
and put 'isolinux.bin' which is copied from ISOLINUX
directory which vary from distribution to another, also create
'isolinux.cfg' file and put it in the 'isolinux' subdirectory,
and put a kernel and a GZIP'ed ramdisk image (give it a '.rdz' name),
we discuss how on '4.3. Linux under microscope.' section,
and then create the image by typing :
mkisofs -o ~/mycd.iso \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat \
-no-emul-boot -boot-load-size 4 -boot-info-table \
~/mycd
it's recommened to add '-J' and/or '-R'
to support long file names extention, the last option is not supported by Windows
(if no other extention used it will show 8.3 filenames style)
refere to '4.1. Hardware configaration.' section, in specific 4.1.10 subsection.
4.6.3 GRUB bootable CDs
A document in Linux From Scratch Tips(www.linuxfromscratch.org)
discuss how GRUB could be used as bootloader for CDs.
|
Best viewed with free web browsers
You may get more high quality software
from here for free

Generously Hosted by www.JadMadi.net
|