Can't boot from snapshot: setting up additional binary formats

  1. Hello! I recently had an issue with dual monitors (see post) caused due to a recent update. To temporarily fix it I tried booting from a snapshot
  2. But booting from any snapshot gets stuck at
Finished setting up additional binary formats
  1. I recently got the same error (see post). There I chroot’ed and reinstalled linux-zen and linux-zen-headers.
    Then I could boot normally but didn’t try booting from a snapshot after that. So that evidently did not fix the issue.

  2. I get 4 boot options after clicking on a snapshot: linux, linux-fallback whatever, and the same pair for linux-zen
    I choose the linux-zen regular option. Should I choose something else?

  3. What happens when it gets stuck after that boot step? I seem to be getting this error frequently.

  4. garuda-inxi :

System:
  Kernel: 6.9.7-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 14.1.1
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
    root=UUID=aeb3c7e0-45af-4344-ba3f-05339ad86d76 rw rootflags=subvol=@
    rd.udev.log_priority=3 vt.global_cursor_default=0 loglevel=3 ibt=off
  Desktop: KDE Plasma v: 6.1.1 tk: Qt v: N/A info: frameworks v: 6.3.0
    wm: kwin_x11 vt: 2 dm: SDDM Distro: Garuda base: Arch Linux
Machine:
  Type: Desktop Mobo: Gigabyte model: B550M DS3H AC v: x.x
    serial: <superuser required> uuid: <superuser required> UEFI: American
    Megatrends LLC. v: F15 date: 07/29/2022
CPU:
  Info: model: AMD Ryzen 7 5800X bits: 64 type: MT MCP arch: Zen 3+ gen: 4
    level: v3 note: check built: 2022 process: TSMC n6 (7nm) family: 0x19 (25)
    model-id: 0x21 (33) stepping: 0 microcode: 0xA201016
  Topology: cpus: 1x cores: 8 tpc: 2 threads: 16 smt: enabled cache:
    L1: 512 KiB desc: d-8x32 KiB; i-8x32 KiB L2: 4 MiB desc: 8x512 KiB
    L3: 32 MiB desc: 1x32 MiB
  Speed (MHz): avg: 3779 high: 3927 min/max: 2200/4850 boost: enabled
    scaling: driver: acpi-cpufreq governor: performance cores: 1: 3593 2: 3800
    3: 3800 4: 3800 5: 3927 6: 3800 7: 3800 8: 3800 9: 3753 10: 3800 11: 3800
    12: 3800 13: 3800 14: 3800 15: 3592 16: 3800 bogomips: 121363
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3
  Vulnerabilities: <filter>
Graphics:
  Device-1: NVIDIA TU116 [GeForce GTX 1650 SUPER] vendor: ASUSTeK
    driver: nvidia v: 555.58 alternate: nouveau,nvidia_drm non-free: 550.xx+
    status: current (as of 2024-06; EOL~2026-12-xx) arch: Turing code: TUxxx
    process: TSMC 12nm FF built: 2018-2022 pcie: gen: 3 speed: 8 GT/s
    lanes: 16 ports: active: none off: DP-1,DVI-D-1 empty: HDMI-A-1
    bus-ID: 06:00.0 chip-ID: 10de:2187 class-ID: 0300
  Device-2: Lenovo FHD Webcam driver: snd-usb-audio,uvcvideo type: USB
    rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 5-3:2 chip-ID: 17ef:4831
    class-ID: 0102 serial: <filter>
  Display: x11 server: X.Org v: 21.1.13 with: Xwayland v: 24.1.0
    compositor: kwin_x11 driver: X: loaded: nvidia gpu: nvidia,nvidia-nvswitch
    display-ID: :0 screens: 1
  Screen-1: 0 s-res: 3840x1080 s-dpi: 81 s-size: 1204x343mm (47.40x13.50")
    s-diag: 1252mm (49.29")
  Monitor-1: DP-1 mapped: DP-0 note: disabled pos: left model: Dell P2719H
    serial: <filter> built: 2020 res: 1920x1080 hz: 60 dpi: 82 gamma: 1.2
    size: 598x336mm (23.54x13.23") diag: 686mm (27") ratio: 16:9 modes:
    max: 1920x1080 min: 640x480
  Monitor-2: DVI-D-1 mapped: DVI-D-0 note: disabled pos: primary,right
    model: Dell P2719H serial: <filter> built: 2020 res: 1920x1080 hz: 60
    dpi: 82 gamma: 1.2 size: 598x336mm (23.54x13.23") diag: 686mm (27")
    ratio: 16:9 modes: max: 1920x1080 min: 640x480
  API: EGL v: 1.5 hw: drv: nvidia platforms: device: 0 drv: nvidia device: 2
    drv: swrast gbm: drv: nvidia surfaceless: drv: nvidia x11: drv: nvidia
    inactive: wayland,device-1
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia mesa v: 555.58
    glx-v: 1.4 direct-render: yes renderer: NVIDIA GeForce GTX 1650
    SUPER/PCIe/SSE2 memory: 3.91 GiB
  API: Vulkan v: 1.3.204 layers: 20 device: 0 type: discrete-gpu name: NVIDIA
    GeForce GTX 1650 SUPER driver: nvidia v: 555.58 device-ID: 10de:2187
    surfaces: xcb,xlib device: 1 type: cpu name: llvmpipe (LLVM 17.0.6 256
    bits) driver: mesa llvmpipe v: 24.1.2-arch1.1 (LLVM 17.0.6)
    device-ID: 10005:0000 surfaces: xcb,xlib
Audio:
  Device-1: NVIDIA TU116 High Definition Audio vendor: ASUSTeK
    driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16
    bus-ID: 06:00.1 chip-ID: 10de:1aeb class-ID: 0403
  Device-2: AMD Starship/Matisse HD Audio vendor: Gigabyte
    driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16
    bus-ID: 08:00.4 chip-ID: 1022:1487 class-ID: 0403
  Device-3: Lenovo FHD Webcam driver: snd-usb-audio,uvcvideo type: USB
    rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 5-3:2 chip-ID: 17ef:4831
    class-ID: 0102 serial: <filter>
  API: ALSA v: k6.9.7-zen1-1-zen status: kernel-api tools: N/A
  Server-1: sndiod v: N/A status: off tools: aucat,midicat,sndioctl
  Server-2: PipeWire v: 1.2.0 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Intel Dual Band Wireless-AC 3168NGW [Stone Peak] driver: iwlwifi
    v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 1 bus-ID: 04:00.0
    chip-ID: 8086:24fb class-ID: 0280
  IF: wlo1 state: up mac: <filter>
  Device-2: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet
    vendor: Gigabyte driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s
    lanes: 1 port: f000 bus-ID: 05:00.0 chip-ID: 10ec:8168 class-ID: 0200
  IF: enp5s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
  Info: services: NetworkManager, smbd, systemd-timesyncd, wpa_supplicant
Bluetooth:
  Device-1: Intel Wireless-AC 3168 Bluetooth driver: btusb v: 0.8 type: USB
    rev: 2.0 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-9:4 chip-ID: 8087:0aa7
    class-ID: e001
  Report: btmgmt ID: hci0 rfk-id: 0 state: up address: <filter> bt-v: 4.2
    lmp-v: 8 status: discoverable: no pairing: no class-ID: 6c0104
RAID:
  Device-1: md127 maj-min: 9:127 type: mdraid level: N/A status: inactive
    size: N/A
  Info: report: N/A blocks: 1948792416 chunk-size: N/A
  Components: Online: N/A Spare:
  1: sda3 maj-min: 8:3 size: 1.81 TiB state: S
Drives:
  Local Storage: total: 4.1 TiB used: 379.96 GiB (9.0%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Intel model: SSDPEKNW512G8
    size: 476.94 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s
    lanes: 4 tech: SSD serial: <filter> fw-rev: 002C temp: 42.9 C scheme: GPT
  ID-2: /dev/sda maj-min: 8:0 vendor: Western Digital
    model: WD20EFRX-68EUZN0 size: 1.82 TiB block-size: physical: 4096 B
    logical: 512 B speed: 6.0 Gb/s tech: HDD rpm: 5400 serial: <filter>
    fw-rev: 0A80 scheme: MBR
  ID-3: /dev/sdb maj-min: 8:16 vendor: Western Digital
    model: WD20EFRX-68EUZN0 size: 1.82 TiB block-size: physical: 4096 B
    logical: 512 B speed: 6.0 Gb/s tech: HDD rpm: 5400 serial: <filter>
    fw-rev: 0A80 scheme: GPT
Partition:
  ID-1: / raw-size: 476.64 GiB size: 476.64 GiB (100.00%)
    used: 379.16 GiB (79.5%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 584 KiB (0.2%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
  ID-3: /home raw-size: 476.64 GiB size: 476.64 GiB (100.00%)
    used: 379.16 GiB (79.5%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-4: /var/log raw-size: 476.64 GiB size: 476.64 GiB (100.00%)
    used: 379.16 GiB (79.5%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-5: /var/tmp raw-size: 476.64 GiB size: 476.64 GiB (100.00%)
    used: 379.16 GiB (79.5%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
  ID-1: swap-1 type: zram size: 15.52 GiB used: 153.2 MiB (1.0%)
    priority: 100 comp: zstd avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 16
    dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 60.8 C mobo: 34.0 C gpu: nvidia temp: 41 C
  Fan Speeds (rpm): N/A gpu: nvidia fan: 27%
Info:
  Memory: total: 16 GiB available: 15.52 GiB used: 5.43 GiB (35.0%)
  Processes: 390 Power: uptime: 9m states: freeze,mem,disk suspend: deep
    avail: s2idle wakeups: 0 hibernate: platform avail: shutdown, reboot,
    suspend, test_resume image: 6.17 GiB services: org_kde_powerdevil,
    power-profiles-daemon, upowerd Init: systemd v: 256 default: graphical
    tool: systemctl
  Packages: 2545 pm: nix-default pkgs: 0 pm: nix-sys pkgs: 0 pm: nix-usr
    pkgs: 0 pm: pacman pkgs: 2544 libs: 531 tools: gnome-software, octopi,
    pamac, paru, yay pm: flatpak pkgs: 1 Compilers: clang: 17.0.6 gcc: 14.1.1
    alt: 13 Shell: garuda-inxi default: Zsh v: 5.9 running-in: konsole
    inxi: 3.3.35
Garuda (2.6.26-1):
  System install date:     2022-01-29
  Last full system update: 2024-07-03
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager mkinitcpio nvidia-dkms
  Windows dual boot:       No/Undetected
  Failed units:            

  1. A fix would be greatly appreciated, thank you!
1 Like

Try regenerating the initramfs.

sudo dracut-rebuild

Then generate a new snapshot, for example by installing or uninstalling a package.

sudo pacman -S mousepad

Then try booting the pre-install snapshot.

2 Likes

Thank you!
Any way to do this with mkinitpcio ?
By any chancew is it mkinitcpio -P ?

Or do I have to make the switch to dracut?

Yep.

mkinitcpio -P

Oh well, that didn’t change anything.
Thanks for the help tho!
I’ll update when I find a fix.

Do you have any unmerged pacnew files?

What do you have on the HOOKS line in /etc/mkinitcpio.conf?

3 Likes

Apologies for the delay, @BluishHumility .

How do I check this :see_no_evil:

base udev autodetect modconf block keyboard keymap consolefont plymouth filesystems grub-btrfs-overlayfs

Full file /etc/mkinitpcio.conf in case it helps:

# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
# run.  Advanced users may wish to specify all system modules
# in this array.  For instance:
#     MODULES=(crc32c-intel intel_agp i915 amdgpu radeon nouveau)
MODULES=(crc32c-intel intel_agp i915 amdgpu radeon nouveau)

# BINARIES
# This setting includes any additional binaries a given user may
# wish into the CPIO image.  This is run last, so it may be used to
# override the actual binaries included by a given hook
# BINARIES are dependency parsed, so you may safely ignore libraries
BINARIES=()

# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in any way.  This is useful for config files.
FILES=""

# HOOKS
# This is the most important setting in this file.  The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added.  Run 'mkinitcpio -H <hook name>' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
# Examples:
##   This setup specifies all modules in the MODULES setting above.
##   No raid, lvm2, or encrypted root is needed.
#    HOOKS=(base)
#
##   This setup will autodetect all modules for your system and should
##   work as a sane default
#    HOOKS=(base udev autodetect block filesystems)
#
##   This setup will generate a 'full' image which supports most systems.
##   No autodetection is done.
#    HOOKS=(base udev block filesystems)
#
##   This setup assembles a pata mdadm array with an encrypted root FS.
##   Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
#    HOOKS=(base udev block mdadm encrypt filesystems)
#
##   This setup loads an lvm2 volume group on a usb device.
#    HOOKS=(base udev block lvm2 filesystems)
#
##   NOTE: If you have /usr on a separate partition, you MUST include the
#    usr, fsck and shutdown hooks.
HOOKS="base udev autodetect modconf block keyboard keymap consolefont plymouth filesystems grub-btrfs-overlayfs"

# COMPRESSION
# Use this to compress the initramfs image. By default, zstd compression
# is used. Use 'cat' to create an uncompressed image.
#COMPRESSION="zstd"
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
#COMPRESSION="xz"
#COMPRESSION="lzop"
#COMPRESSION="lz4"

# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=()

Hmm, this looks similar to another thread on the forum: Can't boot into snapshots from GRUB menu

Like this other person, you are missing the microcode hook. There was an upstream change a couple months ago to bundle the microcode into the initramfs. See this announcement here: Arch Linux - News: mkinitcpio hook migration and early microcode

Add the microcode hook between autodetect and modconf, so the whole line looks like this:

HOOKS="base udev autodetect microcode modconf block keyboard keymap consolefont plymouth filesystems grub-btrfs-overlayfs"

Next, check in /etc/mkinitcpio.d/ to see if you have any kernel preset files in there. If you do, edit the files to remove this line:

ALL_microcode=(/boot/*-ucode.img)

Just deleting the line is fine. If it is the only line you can delete the file altogether.

After making those changes, regenerate the initramfs.

sudo mkinitcpio -P

Next, edit /etc/default/grub and add this line somewhere in the file:

GRUB_EARLY_INITRD_LINUX_STOCK=''

Regenerate the Grub configuration file.

sudo update-grub

After getting the microcode straightened out, try creating a new snapshot and test if you can boot it from Grub. If you still cannot, install the LTS kernel and test booting a snapshot with that kernel instead to see if it works.

1 Like