3. The Boot Process

3.1. The Boot Screen

When booting Devil-Linux a screen with a boot prompt will appear. Several boot options can be entered now which have an impact on the boot process. A short help on this topic can also be accessed at the boot prompt by pressing F1, then follow the instructions stated there.

3.2. DL-Specific Boot Options

Primarily, Devil-Linux will search for a file called etc.tar.bz2 on any block device it finds in your system. These devices are :

Table 1.1. List of devices scanned for config files

Devices Hardware Comment
/dev/ide/.../cd* IDE CD-Roms Your DL CD is probably among these...
/dev/scsi/.../cd* SCSI CD-Roms ...or these devices
/dev/ide/.../part* IDE Partitions Partitions on your IDE hard disks
/dev/scsi/.../part* SCSI Partitions Partitions on your SCSI hard disks
/dev/scsi/.../disc SCSI harddiscs Could also be USB sticks
/dev/floppy/? Floppy discs /dev/floppy/0 is your first floppy drive
[Note] Note

There are abbreviations like /dev/discs/discX/partY for partition Y (starting at 1) on disc X (starting at 0), e.g. /dev/discs/disc1/part1 for /dev/hdb1.

You can also tune the process of scanning for a configuration archive with these parameters:

3.2.1. DL_config=device1:filename1,device2:filename,...

This parameter lets you add devices and configuration filenames to the scanning process. Supply blocks seperated by commas "," of devicenames and filenames seperated by colons ":". Your input will always be honored before the standard devices and standard archive etc.tar.bz2. The scanning will end as soon as the first valid archive is found.

The parameter will be interpreted as follows:

  • The string is cut at the commas and every substring is considered (from left to right).

  • Every substring is parsed and used as followed:

    • if a colon is found, the string before the colon is taken as devicename, the string after the colon as filename.

      You need not to specify a colon if you only want to enter a devicename or filename. Empty devicenames and filenames are not an error. But if you supply the colon, be sure to place it after the devicename or before the filename.

      The given device will then be searched for the specified filename.

    • if no colon is found, and the string contains "/dev/" it is handled as a device.

      This device is then scanned for the standard archive etc.tar.bz2.

    • if no colon is found, and the string does not contain "/dev/" it is handled as a filename. All discovered standard devices are scanned for this file.

Beware that DL will generate an error message and two alarms for every option that was entered falsely: It is wrong for a device name not to contain "/dev/" and conversely wrong for the filename to contain "/dev/". Even if only one specifier (device or filename) of a statement is illegal it will be discarded. These sanity checks are not complete and they never can be. Be sure to double check your input or you could damage your system.

3.2.2. DL_config_no_scan

If you add this parameter, scanning for the standard archive etc.tar.bz2 on the standard devices will be omitted!

Only supply this option, if you also specified a valid "DL_config=..." option or no scanning will be done at all. This would result in no config being loaded and Devil-Linux will ask you to load an empty configuration from the Devil-Linux medium. That is probably not what you want.

3.3. Boot Option Examples

3.3.1. Using a Backup

Let's say you have a floppy drive which you normally use for the configuration archive but you have another archive called backup.tar.bz2 saved on a hard disk partition somewhere. You reboot to test new hardware, but booting now fails. To make use of the backup config, append this at the boot prompt: DL_config=backup.tar.bz2

If your config is found, it will look like this:

Searching for configuration media
Trying to load configuration "backup.tar.bz2" from any device.
Checking for "backup.tar.bz2" on "/dev/ide/host0/bus0/target1/lun0/part1" ... success!
loading configuration
          

If not, it will looke like this:

Searching for configuration media
Trying to load configuration "backup.tar.bz2" from any device.
Checking for "backup.tar.bz2" on "/dev/ide/host0/bus0/target1/lun0/part1" ... file not found.
Checking for "backup.tar.bz2" on "/dev/ide/host0/bus1/target0/lun0/part1" ... mount failed.
Checking for "backup.tar.bz2" on "/dev/ide/host0/bus0/target1/lun0/cd" ... file not found.
Checking for "backup.tar.bz2" on "/dev/floppy/0" ... file not found.
Sorry, could not load your configuration. Continuing searching...
Checking for "etc.tar.bz2" on "/dev/ide/host0/bus0/target1/lun0/part1" ... file not found.
Checking for "etc.tar.bz2" on "/dev/ide/host0/bus1/target0/lun0/part1" ... mount failed.
Checking for "etc.tar.bz2" on "/dev/ide/host0/bus0/target1/lun0/cd" ... file not found.
Checking for "etc.tar.bz2" on "/dev/floppy/0" ... success!
loading configuration
          

3.3.2. Using multiple options

Here is an example for supplying multiple options: DL_config=fail.tar.bz2,/dev/discs/disc0/part1:backup.tar.bz2,:/dev/floppy/0. This results to the following list of scans:

  • file fail.tar.bz2 on any device

  • backup.tar.bz2 on first partition on first harddisk

  • :/dev/floppy/0 improper option (see above) will be skipped

  • standard scan for etc.tar.bz2

Searching for configuration media
Trying to load configuration "fail.tar.bz2" from any device.
Checking for "fail.tar.bz2" on "/dev/ide/host0/bus0/target1/lun0/part1" ... file not found.
Checking for "fail.tar.bz2" on "/dev/ide/host0/bus1/target0/lun0/part1" ... mount failed.
Checking for "fail.tar.bz2" on "/dev/ide/host0/bus0/target1/lun0/cd" ... file not found.
Checking for "fail.tar.bz2" on "/dev/floppy/0" ... file not found.
Sorry, could not load your configuration. Continuing searching...
Trying to load configuration "backup.tar.bz2" from device "/dev/discs/disc0/part1".
Checking for "backup.tar.bz2" on "/dev/discs/disc0/part1" ... file not found.
Sorry, could not load your configuration. Continuing searching...
Improper config parameter : ":/dev/floppy/0". Ignored...
Checking for "etc.tar.bz2" on "/dev/ide/host0/bus0/target1/lun0/part1" ... success!
loading configuration