arch

This is specifically written for Arch Linux users, even so many of those methods can be applied to other distributions as well, because they are using the same packages. Little changes might be needed depending on the configuration of those packages.

force preboot environment

In order to get into the base hook of mkinitcpio even so nothing is broken

can be specified as kernel parameter. It is called APPEND ... break=premount when using syslinux as boot manager.

manually booting from the preboot environment

In order to boot manually

source
exec will effectivly replace the current process (which is 1) with the new process, which is switch_root in the first place, but which also uses exec to execute its second parameter, so that finally /sbin/init gets executed as process 1. With /sbin/init being part of systemd it would have leat to the error trying to run as user instance but the system has not been booted with systemd in case it gets executed with a PID other than 1.

mkinitcpio’s systemd hook

In order to use encrypted file systems together with the new systemd hook one needs another hook, which depends on it and which is called sd-encrypt. It might get in your way, that because systemd now manages the order in which devices get initialized, that device mapping from /etc/crypttab do not fit any longer. It is therefore advised to use /dev/disk/by-label/usb-key like paths even in /etc/crypttab

max,