Booting SystemRescue


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 SystemRescue, 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.

Boot commandline options

In the bootloader you can press TAB (syslinux, used for classic BIOS boot) or “e” (grub, used for UEFI boot) to edit the boot commandline of the currently selected boot entry. You can then add the options listed below.

Available on commandline and YAML config

Most options are available on the boot commandline as well as in the YAML configuration in the global scope. Options on the boot commandline have higher priority than the ones in the YAML config.

The following options are supported on boot commandline and in YAML config:

  • 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 SystemRescue to get a list of all supported keymaps.
  • copytoram causes SystemRescue 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 SystemRescue 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 SystemRescue.
  • 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 so you can connect to the system remotely via ssh and use the password to authenticate on the livecd. The password must be hashed using the mkpasswd command. The mkpasswd program is available on most Linux distributions, it often comes as part of the whois package. You need to provide the whole output of mkpasswd to rootcryptpass=, including the $ prefix. The hashed password contains dollar signs so you should check if your boot loader requires them to be escaped. If in doubt look at the /proc/cmdline of the booted SystemRescue.
  • 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 SystemRescue from outside (for example connections to sshd). This option was introduced in SystemRescue-6.0.4.
  • rootshell=/bin/myshell use an alternative shell such as /bin/zsh instead of /bin/bash. This option was introduced in SystemRescue-6.1.1.
  • 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 SystemRescue files are lost after a reboot. In other words you can use a Linux filesystem to persist all modifications made on SystemRescue 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.
  • loadsrm=y Load all SRM modules located on the boot device
  • noautologin Do not automatically login on the console. Use this option if you intend to use SystemRescue to run automatic jobs to connect remotely and want to prevent local users from using the system from the console. This option was introduced in SystemRescue-8.06.
  • dostartx Automatically start the graphical environment. This option was introduced in SystemRescue-8.06.
  • dovnc Automatically start the VNC server to be able to remotely connect using a graphical session. This option was introduced in SystemRescue-8.06.
  • vncpass=password123 Set the VNC password for connecting remotely. Without this option connections to the VNC server will not be restricted. This option was introduced in SystemRescue-8.06.

Available only on commandline

The following options are supported only on the boot commandline:

  • cow_spacesize=xx sets the size of the Copy-on-Write area which is stored in a tmpfs file system in memory. It accepts values such as 512M, 4G and is set to 25% of the system memory by default.
  • 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 SystemRescue 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 SystemRescue 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 SystemRescue 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 SystemRescue cannot boot normally.
  • break=postmount: stop the boot process after 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 SystemRescue cannot boot normally.
  • sysrescuecfg=filename.yaml adds additional yaml configuration files to be loaded after the default ones in the sysrescue.d directory. This option can be specified one or multiple times on the boot command line. See YAML configuration for details. This option was introduced in SystemRescue-9.01.
  • archisolabel=xxxx Set the filesystem label where SystemRescue files reside. In other words the system will try to find SystemRescue files on a filesystem having the label specified so it is important for it to locate on which device SystemRescue files are located. This is set to RESCUEXYZ by default since version 7.00 (it used to be SYSRCDXYZ with versions 6.x) where XYZ corresponds to the SystemRescue version (eg: the label is RESCUE803 for version 8.03)
  • archisobasedir=xxxx Set the base directory where all SystemRescue files reside and it is set to sysresccd by default. In other words the system will try to find SystemRescue files in a directory named sysresccd which is located at the root of the filesystem.
  • img_label=xxxx Set the filesystem label where SystemRescue ISO image is located. This is only used when booting SystemRescue using the loopback option from Grub2.
  • img_loop=xxxx Set the path to the SystemRescue ISO image within the filesystem so the boot process can mount it and find the squashfs filesystem. This is only used when booting SystemRescue using the loopback option from Grub2.
  • nomdlvm SystemRescue by default automatically activates all md RAID, device mapper and LVM devices that are found in the system. Activating them can lead to writes to the disk and this is sometimes not wanted, for example when doing forensics or working with defective disks. This option disables this behavior and all devices have to be activated manually.
  • archiso_http_srv= Set a HTTP URL (must end with /) where to download the *.sfs file from when using HTTP. ${archisobasedir} and the architecture (x86_64) are added to the supplied URL. http and https are supported. When using https, no certificate check is done as the initramfs environment doesn’t contain a trusted CA database.
  • archiso_nfs_srv= Set the NFS-IP:/path of the server where to download the *.sfs file from when using NFS. ${archisobasedir} and the architecture (x86_64) are added to the supplied path. Note that due to tooling limitations only IPv4 addresses are supported, no DNS hostnames or IPv6.

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

Options provided for autorun

These options are available on the boot commandline as well as in the YAML configuration in the autorun scope.

  • 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(s) directory (http://192.168.1.1/path/to/scripts).
  • 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 key press after the autorun script have been executed.
  • ar_attempts: use this option if you want to retry to download the file multiple times
  • ar_suffixes=[0-9]: comma separated list of suffixes corresponding to the autorun scripts to be run. For example with ar_suffixes=0,2,7 the autorun scripts autorun0, autorun2, autorun7 are going to be run, and scripts with other suffixes will be ignored. Use ar_suffixes=no to disable all the autorun scripts with a suffix.

For more details, please read the page about autorun

Booting on a serial console

See Booting on a serial console.

Booting from the network via PXE

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