mkinitcpio generates by default a fallback initramfs to recover if an initramfs hook blocks the boot process.
Sadly, I had to recover sometimes because of a failing pacman upgrade.
If there is a kernel upgrade, a pacman hook automatically regenerates initramfs. But pacman hooks are executed after the upgrade is complete, sometimes pacman fails to upgrade a package and then the hook is forgotten… Just reboot and you’re done.

Another case which requires to live boot is if you need to do something on your slash’s block device. Like restoring a BTRFS snapshot.

If your broken host is your only one and you don’t have any bootable usb stick, how to recover ?

What would be the perfect recover system ?

  • A bootable Arch Linux system
  • Always up to date
  • Easy to implement
  • Not configuration dependant (fs, mounts…)
  • Working when you need it

Since OSX installer is dematerialized, there is just one key to press at boot to run it.
The latest one is downloaded in RAM and booted. It leads to the good solution : netboot install.

In fact, it already exists for Arch Linux, but it is not well referenced by the official wiki.

How to netboot Arch Linux ?

The good news is that we just need to put the right file in the right place.

  1. Install AUR ipxe-netboot
    That package will generates the EFI/bios iPXE files.
  2. Create a netboot dir in your EFI dir
  3. Copy /usr/share/ipxe-netboot/ipxe.efi to /boot/EFI/netboot/

You should now be able to netboot Arch Linux Installer from your EFI shell.
Boot and launch EFI Shell from your EFI manager.

# Enter your EFI partition FS0 or FS1
FS1:
cd EFI\netboot
# Start the efi file
ipxe.efi

You can generates an entry to chainload that efi file from your bootoalder.
(example for grub)

recover