System Boot Sequence
The boot sequence
Very simplified the system's boot process work as follows:
- The system boot loader (lilo, syslinux, grub etc.) is started by the computer BIOS.
- It reads its configuration and prompts (if configured) for the kernel to boot.
- Then it loads the selected kernel and initial RAM disk into RAM and starts the kernel passing any additional parameters from the boot prompt.
- The kernel unpacks the initial RAM disk and
- starts the init program in the disk's root directory.
And this is where the ariane boot process comes into play. The ariane init script has to
- load any modules required for the following steps (e.g. ext2, ext3, cdrom, network card drivers)
- prepare the RAM disk to the target image,
- locate and install the target image from CD-ROM, USB stick or network,
- make additional corrections to the installed image if required.
The init script (or more precise: the ariane loader scripts) supports the following boot prompt parameters.
instead of searching the image to load, use filename on the auto detected source device. The filename parameter may also have the extended boot parameter format described below.
sets the amount of RAM in megabytes to allocate for the system's RAM disk, the default is 256.
- starts a shell after load the linux image into RAM before making any pre-boot changes to it.
There are more supported parameters in the init script but the are not processed.
Loading the linux image
After some amount of RAM has been prepared to accommodate the linux image the loader script is started. Its task is to locate the linux image and load it into RAM. The default is to do some autodetection for the image source and its filename:
- If the
ipboot parameter is set, the loader assumes a PXE boot and configures eth0 with the data from the
ipparameter. The defaults are then to load linux.tgz from the given TFTP server.
- Otherwise the loader tries to mount a CD-ROM on /dev/hd[a-d], /dev/s[gr]0 or a USB disk on /dev/sd[a-d]1.
- If a CD-ROM is found the directories /, /isolinux, /boot, and /bootcode are searched for the file linux.tgz. For USB drives the directories are /, /extlinux and /boot.
This autodetection can be overridden by specifying an image boot parameter with the
im boot prompt option, see below for a description.
The image boot parameter
The image boot parameter (IBP) can be used to set the source of the linux image that should be loaded into RAM, bypassing any device/image autodetection.
The IBP has up to five colon separated fields:
describes the source type. Supported values are
Value Device dev local device tftp TFTP server ftp FTP server
either the device name (if type= dev) or the server's IP-number. If the system booted from PXE the IP-number may be a star "
*" in which case the PXE server's IP-number is used. If the device name does not start with "
/dev/" this is automatically insterted.
the image's filename.
username for the server logon (if type = ftp).
- password for the server login (if type = ftp).
Example IBPs are
loads linux.cgz from the local device /dev/sda1.
loads /z/test-linux.cgz from the PXE server using tftp.
- loads /z/test-linux.cgz from the FTP server 192.168.1.8, "nobody" is the username and "none" the password.