Manjaro stuck on three-dot loading - Steam Deck microSD

I am running Manjaro using Plasma on a microSD card on a Steam Deck. It worked until I ran a system update today (sudo pacman -Syu), now it will not load past the three-dot Manjaro splash screen. Hitting “Esc” did not bring up the last logs.

See below a sequence of log outputs as I go through suggested fixes from other forum posts.

> su
[manjaro manjaro]# manjaro-chroot -a
grub-probe: error: cannot find a GRUB drive for /dev/sdc1.  Check your device.map.
grub-probe: error: cannot find a GRUB drive for /dev/sdc1.  Check your device.map.
==> Mounting (ManjaroLinux) [/dev/mmcblk0p2]
 --> mount: [/mnt]
 --> mount: [/mnt/boot/efi]
[manjaro /]# sudo fdisk -l /dev/mmcblk0
Disk /dev/mmcblk0: 119.08 GiB, 127865454592 bytes, 249737216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 2A11FDC0-C735-174B-A07F-93AAD71BFF61

Device          Start       End   Sectors   Size Type
/dev/mmcblk0p1   4096    618495    614400   300M EFI System
/dev/mmcblk0p2 618496 249730424 249111929 118.8G Linux filesystem
[manjaro /]# pacman -Syyu
:: Synchronizing package databases...
 core                                  163.2 KiB   892 KiB/s 00:00 [####################################] 100%
 extra                                1876.0 KiB  4.70 MiB/s 00:00 [####################################] 100%
 community                               7.6 MiB  3.83 MiB/s 00:02 [####################################] 100%
 multilib                              167.0 KiB  2.86 MiB/s 00:00 [####################################] 100%
:: Starting full system upgrade...
 there is nothing to do
[manjaro /]# mhwd-kernel -li && mhwd -l -li
Currently running: 6.1.19-1-MANJARO (linux61)
The following kernels are installed in your system:
   * linux515
   * linux61
> Installed PCI configs:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
           video-linux            2018.05.04                true            PCI


Warning: No installed USB configs!
> 0000:04:00.0 (0300:1002:163f) Display controller ATI Technologies Inc:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
           video-linux            2018.05.04                true            PCI
     video-modesetting            2020.01.13                true            PCI
            video-vesa            2017.03.12                true            PCI
[manjaro /]# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck && grub-mkconfig -o /boot/grub/grub.cfg
Installing for x86_64-efi platform.
Installation finished. No error reported.

Generating grub configuration file ...
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-6.1-x86_64
Found initrd image: /boot/amd-ucode.img /boot/initramfs-6.1-x86_64.img
Found initrd fallback image: /boot/initramfs-6.1-x86_64-fallback.img
Found linux image: /boot/vmlinuz-5.15-x86_64
Found initrd image: /boot/amd-ucode.img /boot/initramfs-5.15-x86_64.img
Found initrd fallback image: /boot/initramfs-5.15-x86_64-fallback.img
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
grub-probe: error: cannot find a GRUB drive for /dev/sdc1.  Check your device.map.
grub-probe: error: cannot find a GRUB drive for /dev/sdc1.  Check your device.map.
Adding boot menu entry for UEFI Firmware Settings ...
Root filesystem isn't btrfs
If you think an error has occurred, please file a bug report at "https://github.com/Antynea/grub-btrfs"
Found memtest86+ image: /boot/memtest86+/memtest.bin
/usr/bin/grub-probe: warning: unknown device type mmcblk0.
Found memtest86+ EFI image: /boot/memtest86+/memtest.efi
/usr/bin/grub-probe: warning: unknown device type mmcblk0.
done
[manjaro /]# sudo pacman -S linux61
warning: linux61-6.1.23-1 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Packages (1) linux61-6.1.23-1

Total Installed Size:  170.29 MiB
Net Upgrade Size:        0.00 MiB

:: Proceed with installation? [Y/n] Y
(1/1) checking keys in keyring                                                                                                                [#######################################################################################] 100%
(1/1) checking package integrity                                                                                                              [#######################################################################################] 100%
(1/1) loading package files                                                                                                                   [#######################################################################################] 100%
(1/1) checking for file conflicts                                                                                                             [#######################################################################################] 100%
(1/1) checking available disk space                                                                                                           [#######################################################################################] 100%
:: Running pre-transaction hooks...
(1/1) Creating Timeshift snapshot before upgrade...
==> skipping timeshift-autosnap due skipRsyncAutosnap in /etc/timeshift-autosnap.conf set to TRUE.
:: Processing package changes...
(1/1) reinstalling linux61                                                                                                                    [#######################################################################################] 100%
:: Running post-transaction hooks...
(1/5) Arming ConditionNeedsUpdate...
(2/5) Updating module dependencies...
(3/5) Updating linux initcpios...
==> Building image from preset: /etc/mkinitcpio.d/linux61.preset: 'default'
  -> -k /boot/vmlinuz-6.1-x86_64 -c /etc/mkinitcpio.conf -g /boot/initramfs-6.1-x86_64.img --microcode /boot/amd-ucode.img
==> Starting build: '6.1.23-1-MANJARO'
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: 'xhci_pci'
  -> Running build hook: [keyboard]
  -> Running build hook: [keymap]
  -> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
  -> Running build hook: [plymouth]
  -> Running build hook: [filesystems]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: '/boot/initramfs-6.1-x86_64.img'
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux61.preset: 'fallback'
  -> -k /boot/vmlinuz-6.1-x86_64 -c /etc/mkinitcpio.conf -g /boot/initramfs-6.1-x86_64-fallback.img -S autodetect --microcode /boot/amd-ucode.img
==> Starting build: '6.1.23-1-MANJARO'
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: 'wd719x'
==> WARNING: Possibly missing firmware for module: 'qed'
==> WARNING: Possibly missing firmware for module: 'qla1280'
==> WARNING: Possibly missing firmware for module: 'bfa'
==> WARNING: Possibly missing firmware for module: 'aic94xx'
==> WARNING: Possibly missing firmware for module: 'qla2xxx'
==> WARNING: Possibly missing firmware for module: 'xhci_pci'
  -> Running build hook: [keyboard]
  -> Running build hook: [keymap]
  -> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
  -> Running build hook: [plymouth]
  -> Running build hook: [filesystems]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: '/boot/initramfs-6.1-x86_64-fallback.img'
==> Image generation successful
(4/5) Refreshing PackageKit...
Error connecting: Could not connect: No such file or directory
error: command failed to execute correctly
(5/5) Updating Grub-Bootmenu
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-6.1-x86_64
Found initrd image: /boot/amd-ucode.img /boot/initramfs-6.1-x86_64.img
Found initrd fallback image: /boot/initramfs-6.1-x86_64-fallback.img
Found linux image: /boot/vmlinuz-5.15-x86_64
Found initrd image: /boot/amd-ucode.img /boot/initramfs-5.15-x86_64.img
Found initrd fallback image: /boot/initramfs-5.15-x86_64-fallback.img
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
grub-probe: error: cannot find a GRUB drive for /dev/sdc1.  Check your device.map.
grub-probe: error: cannot find a GRUB drive for /dev/sdc1.  Check your device.map.
Adding boot menu entry for UEFI Firmware Settings ...
Root filesystem isn't btrfs
If you think an error has occurred, please file a bug report at "https://github.com/Antynea/grub-btrfs"
Found memtest86+ image: /boot/memtest86+/memtest.bin
/usr/bin/grub-probe: warning: unknown device type mmcblk0.
Found memtest86+ EFI image: /boot/memtest86+/memtest.efi
/usr/bin/grub-probe: warning: unknown device type mmcblk0.
done

Manjaro is not supported on the Steam Deck. However, @codesardine has been fiddling around in that regard. Perhaps he could be of some help.

1 Like

I’ll keep taking notes here, as much for my reference. I’m hopeful this is recoverable because Manjaro works well. I can use a microSD card with a fresh Manjaro installation and it works perfectly again until I run sudo pacman -Syu; it’s something about whatever is getting updated (I think the kernel?) that’s playing hob.

[manjaro /]# efibootmgr
BootCurrent: 0003
Timeout: 0 seconds
BootOrder: 0002,2001,0004,0001,0000,2002,2003
Boot0000* EFI Hard Drive (22204M51227914-Phison ESMP512GKB4C3-E13TS)    PciRoot(0x0)/Pci(0x1,0x2)/Pci(0x0,0x0)/NVMe(0x1,64-79-A7-64-AA-20-0E-61)/HD(1,GPT,27bd1145-0922-a94f-b256-8df6bd39e819,0x800,0x20000)RC
Boot0001* SteamOS       HD(1,GPT,27bd1145-0922-a94f-b256-8df6bd39e819,0x800,0x20000)/File(\EFI\steamos\steamcl.efi)
Boot0002* EFI SD/MMC Card (DS 821R ᄆ■ニ)        PciRoot(0x0)/Pci(0x1,0x3)/Pci(0x0,0x0)/SD(0)/HD(1,GPT,76d30e90-f760-e24a-af47-d29bc55e1448,0x1000,0x96000)RC
Boot0003* EFI USB Device (USB DISK 3.0) UsbWwid(13fe,6300,0,0700036E132A7A6)/CDROM(1,0x79b484,0x8000)RC
Boot0004* manjaro       HD(1,GPT,76d30e90-f760-e24a-af47-d29bc55e1448,0x1000,0x96000)/File(\EFI\manjaro\grubx64.efi)
Boot2001* EFI USB Device        RC
Boot2002* EFI DVD/CDROM RC
Boot2003* EFI Network   RC
[manjaro /]# grub-emu
-> *Manjaro Linux
error: sparse file not allowed.
error: no such device: ********-****-****-****-************.

Following this response re: “error: sparse file not allowed” and modifying /etc/default/grub to use GRUB_SAVEDEFAULT=false and GRUB_DEFAULT=0 fixed one of the two errors from grub-emu:

[manjaro /]# grub-emu
-> *Manjaro Linux
error: no such device: ********-****-****-****-************.
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck --removable --bootloader-id=GRUB

Doesn’t appear to change any of the GRUB configuration files? I wonder if it won’t overwrite. My lingering issue appears to be GRUB - ArchWiki, but the suggested fixes aren’t working.

I assume that is intentionally hidden?
In whatever case check your fstab

cat /etc/fstab

Against blocks/UUIDs

sudo blkid

When you are targeting a removable device for grub install

  • you should add the –removable argument to the install command
  • otherwise you may get issues booting
  • the exact issue may vary but usually it boils down to
  • the removable device root UUID not being present
  • or the other way around
  • if the removable device is moved to a foreign system
  • the original UUID will be missing

Yeah, intentionally hidden because I wasn’t sure if it was sensitive :sweat_smile:

[manjaro /]# grub-emu
-> *Manjaro Linux
error: no such device: 92af9db4-259b-4b09-ae1f-9afe146a0b84.

[manjaro /]# cat /etc/fstab | grep 92af9db4-259b-4b09-ae1f-9afe146a0b84
UUID=92af9db4-259b-4b09-ae1f-9afe146a0b84 /              ext4    defaults,noatime 0 1

[manjaro /]# sudo blkid | grep 92af9db4-259b-4b09-ae1f-9afe146a0b84
/dev/mmcblk0p2: UUID="92af9db4-259b-4b09-ae1f-9afe146a0b84" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="root" PARTUUID="b86dae11-1694-f844-b126-988763d4ff01"

It looks like the UUID reference is correct? Or, maybe it should use D1E6-E127 to reference the EFI partition per lsblk?

Full outputs below for reference.

> # lsblk doesn't work from `manjaro-chroot`, so this is running from the Live install.
> lsblk -o PATH,PTTYPE,PARTTYPE,FSTYPE,PARTTYPENAME,UUID 
PATH           PTTYPE PARTTYPE                             FSTYPE   PARTTYPENAME         UUID
/dev/loop0                                                 squashfs                      
/dev/loop1                                                 squashfs                      
/dev/loop2                                                 squashfs                      
/dev/loop3                                                 squashfs                      
/dev/sda                                                                                 
/dev/sdb                                                                                 
/dev/sdc       dos                                         iso9660                       2023-03-16-12-31-50-00
/dev/sdc1      dos    0x0                                  iso9660  Empty                2023-03-16-12-31-50-00
/dev/sdc2      dos    0xef                                 vfat     EFI (FAT-12/16/32)   623B-25B9
/dev/mmcblk0   gpt                                                                       
/dev/mmcblk0p1 gpt    c12a7328-f81f-11d2-ba4b-00a0c93ec93b vfat     EFI System           D1E6-E127
/dev/mmcblk0p2 gpt    0fc63daf-8483-4772-8e79-3d69d8477de4 ext4     Linux filesystem     92af9db4-259b-4b09-ae1f-9afe146a0b84
/dev/nvme0n1   gpt                                                                       
/dev/nvme0n1p1 gpt    c12a7328-f81f-11d2-ba4b-00a0c93ec93b vfat     EFI System           C268-79C8
/dev/nvme0n1p2 gpt    ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 vfat     Microsoft basic data C269-989F
/dev/nvme0n1p3 gpt    ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 vfat     Microsoft basic data C26A-DB71
/dev/nvme0n1p4 gpt    4f68bce3-e8cd-4db1-96e7-fbcaf984b709 btrfs    Linux root (x86-64)  1fae9051-7984-45be-9600-865a94ad8808
/dev/nvme0n1p5 gpt    4f68bce3-e8cd-4db1-96e7-fbcaf984b709 btrfs    Linux root (x86-64)  295d168d-f7c3-43ae-8c0c-23dd34be5e84
/dev/nvme0n1p6 gpt    4d21b016-b534-45c2-a9fb-5c16e091fd2d ext4     Linux variable data  12549b4d-3588-418d-94d6-462ee8ece26b
/dev/nvme0n1p7 gpt    4d21b016-b534-45c2-a9fb-5c16e091fd2d ext4     Linux variable data  c1cca103-97c4-4b8f-9a87-ed531e521620
/dev/nvme0n1p8 gpt    933ac7e1-2eb4-4f13-b844-0e14e2aef915 ext4     Linux home           c9a08054-a112-48fd-9d95-0fb433cec104
[manjaro /]# cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
#
# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=D1E6-E127                            /boot/efi      vfat    umask=0077 0 2
UUID=92af9db4-259b-4b09-ae1f-9afe146a0b84 /              ext4    defaults,noatime 0 1
tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0
[manjaro /]# sudo blkid
/dev/loop1: TYPE="squashfs"
/dev/nvme0n1p7: LABEL="var" UUID="c1cca103-97c4-4b8f-9a87-ed531e521620" BLOCK_SIZE="1024" TYPE="ext4" PARTLABEL="var-B" PARTUUID="799d1226-d4a3-dd4f-a0c3-0fb1d276dca2"
/dev/nvme0n1p5: LABEL="rootfs" UUID="295d168d-f7c3-43ae-8c0c-23dd34be5e84" UUID_SUB="4d0b7665-6226-496d-8476-d536c3a75ca6" BLOCK_SIZE="4096" TYPE="btrfs" PARTLABEL="rootfs-B" PARTUUID="dfe3adfa-ad2e-9c4a-acaa-1f082f93b058"
/dev/nvme0n1p3: SEC_TYPE="msdos" LABEL_FATBOOT="efi" LABEL="efi" UUID="C26A-DB71" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="efi-B" PARTUUID="27b486b1-b158-8740-bc37-13306e95ea2a"
/dev/nvme0n1p1: SEC_TYPE="msdos" LABEL_FATBOOT="esp" LABEL="esp" UUID="C268-79C8" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="esp" PARTUUID="27bd1145-0922-a94f-b256-8df6bd39e819"
/dev/nvme0n1p8: LABEL="home" UUID="c9a08054-a112-48fd-9d95-0fb433cec104" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="home" PARTUUID="c5c08826-07ac-a147-a653-6dfbbaca1897"
/dev/nvme0n1p6: LABEL="var" UUID="12549b4d-3588-418d-94d6-462ee8ece26b" BLOCK_SIZE="1024" TYPE="ext4" PARTLABEL="var-A" PARTUUID="4f470772-941a-7c4c-9379-39de642763e8"
/dev/nvme0n1p4: LABEL="rootfs" UUID="1fae9051-7984-45be-9600-865a94ad8808" UUID_SUB="b708d7bc-6695-4b1b-9a09-f3850f1a1b95" BLOCK_SIZE="4096" TYPE="btrfs" PARTLABEL="rootfs-A" PARTUUID="79c2431d-6356-c143-8bb8-6ff23d082822"
/dev/nvme0n1p2: SEC_TYPE="msdos" LABEL_FATBOOT="efi" LABEL="efi" UUID="C269-989F" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="efi-A" PARTUUID="a53289ea-7f46-564b-be07-e74241416449"
/dev/mmcblk0p1: UUID="D1E6-E127" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="76d30e90-f760-e24a-af47-d29bc55e1448"
/dev/mmcblk0p2: UUID="92af9db4-259b-4b09-ae1f-9afe146a0b84" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="root" PARTUUID="b86dae11-1694-f844-b126-988763d4ff01"
/dev/loop2: TYPE="squashfs"
/dev/loop0: TYPE="squashfs"
/dev/sdc2: SEC_TYPE="msdos" LABEL_FATBOOT="MISO_EFI" LABEL="MISO_EFI" UUID="623B-25B9" BLOCK_SIZE="512" TYPE="vfat"
/dev/sdc1: BLOCK_SIZE="2048" UUID="2023-03-16-12-31-50-00" LABEL="MANJARO_KDE_2205" TYPE="iso9660"
/dev/loop3: TYPE="squashfs"
[manjaro /]#  sudo fdisk -l /dev/mmcblk0
Disk /dev/mmcblk0: 119.08 GiB, 127865454592 bytes, 249737216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 2A11FDC0-C735-174B-A07F-93AAD71BFF61

Device          Start       End   Sectors   Size Type
/dev/mmcblk0p1   4096    618495    614400   300M EFI System
/dev/mmcblk0p2 618496 249730424 249111929 118.8G Linux filesystem

No luck naively using the --removable argument:

[manjaro /]# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB --removable
Installing for x86_64-efi platform.
Installation finished. No error reported.

[manjaro /]# sudo grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-6.1-x86_64
Found initrd image: /boot/amd-ucode.img /boot/initramfs-6.1-x86_64.img
Found initrd fallback image: /boot/initramfs-6.1-x86_64-fallback.img
Found linux image: /boot/vmlinuz-5.15-x86_64
Found initrd image: /boot/amd-ucode.img /boot/initramfs-5.15-x86_64.img
Found initrd fallback image: /boot/initramfs-5.15-x86_64-fallback.img
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
grub-probe: error: cannot find a GRUB drive for /dev/sdc1.  Check your device.map.
grub-probe: error: cannot find a GRUB drive for /dev/sdc1.  Check your device.map.
Adding boot menu entry for UEFI Firmware Settings ...
Root filesystem isn't btrfs
If you think an error has occurred, please file a bug report at "https://github.com/Antynea/grub-btrfs"
Found memtest86+ image: /boot/memtest86+/memtest.bin
/usr/bin/grub-probe: warning: unknown device type mmcblk0.
Found memtest86+ EFI image: /boot/memtest86+/memtest.efi
/usr/bin/grub-probe: warning: unknown device type mmcblk0.
done

[manjaro /]# grub-emu
-> *Manjaro Linux
error: no such device: 92af9db4-259b-4b09-ae1f-9afe146a0b84.

If you ever see anything in that format it is called a UUID (Universally Unique Identifer). It is just a (mostly) unique marker for a piece of data (in this case a partition) to make sure that you and the system never mistake it for something else. It would be bad if you just said “boot the second partition on the disk” and then changed the partitions, you would be booting something random.