Booting SystemRescueCd


Boot from a removable device

To boot from a CD-ROM or USB device make sure that the computer firmware (BIOS or UEFI settings) is configured to boot the right device and that the priority is correct.

To start SystemRescueCd, insert the CD or USB in the drive, and power on or reset your computer, or press a key to select an alternative boot device when it starts.

Current boot options

The following boot options are supported in SystemRecueCd version 6.x (the latest version).

Press TAB to add additional options on syslinux and press “e” in grub.

  • setkmap=xx defines the system to configure the keyboard layout where xx corresponds to a keyboard map code. For example setkmap=de will configure the German keyboards layout during the boot process. You can also set the keyboard layout by running a command such as setkmap de from the shell after boot time, and you can run setkmap with no parameter in the terminal on a running SystemRecueCd to get a list of all supported keymaps.
  • copytoram causes SystemRecueCd to be fully loaded into memory. This corresponds to the docache option in previous versions. A slower start but once complete, the system will be more responsive and also it will not require the original device to run. It means you can actually work on the device where SystemRescueCd is installed. This requires 2GB of memory to cache the system.
  • checksum will trigger a verification of the squashfs checksum during the boot so you know if the file has been corrupted. You should use this boot option if you get unexpected errors when booting SystemRescueCd.
  • nomodeset causes the system to run with a basic display driver in lower resolution instead of using the most optimal display settings. Use this option if information is not being displayed properly on the screen.
  • findroot: boot a Linux OS installed on disk using the SystemRescueCd kernel. This is very useful if you are unable to boot a Linux OS directly using the normal process. This could be caused by the boot loader being broken for example. This option allows you to boot your system via SystemRescueCd so you can fix the boot loader. This option works by scanning block devices during the boot process to find filesystems where a Linux operating system is installed (ie: filesystems which contain a file called /sbin/init). This includes block devices which are luks encrypted hence the user will have to provide the passphrase in order to access these devices. It will then show a list of all block devices which seems to be Linux root filesystems. The user will then need to choose the block device from which to boot. This option has been introduced in SystemRescueCd version 6.1.4.
  • break: stop the boot process before the root filesystem gets mounted. A shell will be executed from the initramfs. This option allows to run commands manually in order to troubleshoot issues if SystemRescueCd cannot boot normally.
  • rootpass=password123: Sets the root password of the system running on the livecd to password123. That way you can connect from the network and ssh on the livecd and authenticate using this password. For security reasons it is recommended to use the alternative rootcryptpass option instead of rootpass so the password is not visible as clear text.
  • rootcryptpass=xxxx: Sets the root password of the system running on the livecd to so can can connect to the system remotely via ssh and use the password to authenticate on the livecd. The password must be encrypted using a command line such as the following one: python3 -c 'import crypt; print(crypt.crypt("password123", crypt.mksalt(crypt.METHOD_SHA256)))' You need to provide the whole encrypted password as printed by the python command including the $5$ or $6$ prefix and the salt. The encrypted password contains dollars so you should check if your boot loader needs escaping characters to preserve these special characters. You should check that /proc/cmdline contains the value that you passed if you have doubts.
  • nofirewall stop the iptables and ip6table services which are enabled by default in order to block incoming connection requests. You need to use this option if you need to establish connections to the system running SystemRescueCd from outside (for example connections to sshd). This option was introduced in SystemRescueCd-6.0.4.
  • rootshell=/bin/myshell use an alternative shell such as /bin/zsh instead of /bin/bash. This option was introduced in SystemRescueCd-6.1.1.
  • archisolabel=xxxx Set the filesystem label where SystemRecueCd files reside. In other words the system will try to find SystemRecueCd files on a filesystem having the label specified so it is important for it to locate on which device SystemRecueCd files are located. This is set to SYSRESCCD-X.Y.Z or SYSRCDXYZ by default where XYZ corresponds to the SystemRecueCd version (eg: the label is SYSRCD607 for version 6.0.7)
  • archisobasedir=xxxx Set the base directory where all SystemRecueCd files reside and it is set to sysresccd by default. In other words the system will try to find SystemRecueCd files in a directory named sysresccd which is located at the root of the filesystem.
  • cow_label=xxxx Set the filesystem label where upperdir/workdir files for overlayfs must be stored. By default this option is not set and changes made on SystemRescueCd files are lost after a reboot. In other words you can use a Linux filesystem to persist all modifications made on SystemRescueCd when it runs such as new bookmarks in Firefox, application configuration files, etc. You have to provide the label of the filesystem that needs to be used to store these changes. All these changes will be isolated in a directory prefixed by persistent unless you override this using cow_directory
  • cow_directory=xxxx Name of the directory where to store changes made on the system. You must have specified a cow device for this change to take effect.
  • img_label=xxxx Set the filesystem label where SystemRecueCd ISO image is located. This is only used when booting SystemRecueCd using the loopback option from Grub2.
  • img_loop=xxxx Set the path to the SystemRecueCd ISO image within the filesystem so the boot process can mount it and find the squashfs filesystem. This is only used when booting SystemRecueCd using the loopback option from Grub2.

Please read the archiso documentation for more advanced boot options and PXE boot in particular.

Options provided for autorun

  • ar_source=xxx: place where the autorun are stored. It may be the root directory of a partition (/dev/sda1), an nfs share (nfs://192.168.1.1:/path/to/scripts), a samba share (smb://192.168.1.1/path/to/scripts), or an http directory (http://192.168.1.1/path/to/scripts).
  • autoruns=[0-9]: comma separated list of the autorun scripts to be run. For example autoruns=0,2,7 the autorun scripts autorun0, autorun2, autorun7 are run. Use autoruns=no to disable all the autorun scripts with a number.
  • ar_ignorefail: continue to execute the scripts chain even if a script failed (returned a non-zero status)
  • ar_nodel: do not delete the temporary copy of the autorun scripts located in /var/autorun/tmp after execution
  • ar_disable: completely disable autorun, the simple autorun script will not be executed
  • ar_nowait: do not wait for a keypress after the autorun script have been executed.

For more details, please read the page about autorun

Booting from the network via PXE

It is also possible to boot SystemRescueCd from the network. Since the installation is not simple, there is a dedicated page to PXE network booting


Documentation
Manual (EN)
LVM Guide
Disk partitioning
Networking

Project
Git repository
Bug reports