You are not logged in.

#1 2023-12-14 15:16:46

matryoshka
Member
Registered: 2022-05-14
Posts: 32

[Solved] Ram image can't see external filesystem to load. steam deck

The question in the subject.

I did not find any specific details about steam deck so that it won't work so I expect it's not something with steam deck.

Also when using laptop I am able to boot from the same setup (External ssd via usb3 hub)
First I built the initramfs on the laptop also tried to built it on the steam deck in live usb env.
Tried first btrfs and then ext4 -- no difference.

So why? The other question is: if it loads the initramfs that mean it CAN see external ssd as kernel and initramfs also located in external ssd, so what does that mean?

mkinitcpio file, (same as in host os):

MODULES=(uas)
BINARIES=()
FILES=()
HOOKS=(base udev autodetect modconf block filesystems keyboard resume fsck)

Last edited by matryoshka (2023-12-23 08:57:25)

Offline

#2 2023-12-14 15:23:24

matryoshka
Member
Registered: 2022-05-14
Posts: 32

Re: [Solved] Ram image can't see external filesystem to load. steam deck

The same question from me on steam deck subreddit: https://www.reddit.com/r/SteamDeck/comm … ernal_ssd/

Offline

#3 2023-12-15 10:31:03

nl6720
The Evil Wiki Admin
Registered: 2016-07-02
Posts: 714

Re: [Solved] Ram image can't see external filesystem to load. steam deck

If you want to boot that external SSD on multiple PCs, then you need to either remove the autodetect hook or order it after block and keyboard. E.g.:

HOOKS=(base udev modconf block keyboard autodetect filesystems resume fsck)

You also don't need to explicitly include the uas module. mkinitcpio 37 will always include it.

Offline

#4 2023-12-15 11:52:57

matryoshka
Member
Registered: 2022-05-14
Posts: 32

Re: [Solved] Ram image can't see external filesystem to load. steam deck

Thanks for reply! I definitely tried reordering hooks before but not sure in what order so I will try your suggested order.

Offline

#5 2023-12-15 12:13:31

matryoshka
Member
Registered: 2022-05-14
Posts: 32

Re: [Solved] Ram image can't see external filesystem to load. steam deck

Unfortunately, nothing changed sad
After making image with the new hooks order the laptop still can load from ssd but steam deck could not.
This time I also tried not using usb hub but connected it via usb a to usb-c dongle.

Let's assume I made something wrong on previous steps and assume that the laptop could load from ssd because os was cloned from it.
The steps I made (at least the ones I remember):
1. Copy os root to external ssd and update fstab with new uuids
  1.1 As I was thinking there is a problem with btrfs I created ext4 partition and rsynced os backup to it. (UUID of new partition is e84a50fe-492f-433a-ab3c-aeb167b8815d)
2. Created boot partition on external ssd and installed systemdboot to it.
  2.1 Created entry file for systemdboot:
     

title   Arch Linux
linux   /vmlinuz-linux
initrd  /initramfs-linux.img
options root="UUID=e84a50fe-492f-433a-ab3c-aeb167b8815d"  rw zswap.max_pool_percent=80
      

resume kernel option was temporarily removed
3. Put kernel and initram image to that partition

Offline

#6 2023-12-15 12:24:19

matryoshka
Member
Registered: 2022-05-14
Posts: 32

Re: [Solved] Ram image can't see external filesystem to load. steam deck

Some sanity check. Photo of loaded system using laptop: https://pasteboard.co/gsZrybGWLN8s.png
And also the steam deck: https://pasteboard.co/Katij0BA6itm.png

Offline

#7 2023-12-15 12:46:33

2ManyDogs
Forum Fellow
Registered: 2012-01-15
Posts: 4,648

Re: [Solved] Ram image can't see external filesystem to load. steam deck

Matryoshka, please stop multiposting. If you are the last person to post in a thread, and you have something to add, please use the edit button to amend the last post.

Offline

#8 2023-12-15 12:55:26

nl6720
The Evil Wiki Admin
Registered: 2016-07-02
Posts: 714

Re: [Solved] Ram image can't see external filesystem to load. steam deck

Unless you forgot to regenerate the initramfs, my only guess is that Steam Deck needs some additional kernel module for that USB device/controller which doesn't get included in the initramfs for some reason.

Can you boot the official ISO on the Steam Deck? I'd like to see the output of:

# lsmod
# udevadm info -t -n /dev/sdX

while the external SSD is attached to the system.

Also post the output of lsinitcpio -a for the initramfs on the external drive. E.g.:

$ lsinitcpio -a /boot/initramfs-linux.img

Last edited by nl6720 (2023-12-15 13:00:43)

Offline

#9 2023-12-15 13:23:13

matryoshka
Member
Registered: 2022-05-14
Posts: 32

Re: [Solved] Ram image can't see external filesystem to load. steam deck

lsmod output: https://pastebin.com/hgvbynEH
udevadm output: https://pastebin.com/XGZHsP4y

lsinitcpio output: https://pastebin.com/Yw6rwWcB

Should mention that I did not used latest arch iso but rather the one from November of 2022


Gotta recheck I used exact flags you have written.
Updated udevadm output with flags

Last edited by matryoshka (2023-12-15 13:31:25)

Offline

#10 2023-12-15 13:36:14

nl6720
The Evil Wiki Admin
Registered: 2016-07-02
Posts: 714

Re: [Solved] Ram image can't see external filesystem to load. steam deck

The mkinitcpio version in that ISO is too old to understand the kernel and module location of this initramfs image. Please try with a newer ISO.

Edit:
From that lsmod output, only dwc3_pci looks suspect. Try adding it to the MODULES array and regenerate the initramfs.

Last edited by nl6720 (2023-12-15 13:58:41)

Offline

#11 2023-12-15 14:02:35

matryoshka
Member
Registered: 2022-05-14
Posts: 32

Re: [Solved] Ram image can't see external filesystem to load. steam deck

Here: https://pastebin.com/3aSNkzNz

I used my running os to run lsinitcpio

But of course I run it on the image that used to boot from external ssd

Added dwc3_pci module and checked that it's added via lsinitcpio. Same result

Last edited by matryoshka (2023-12-15 14:13:53)

Offline

#12 2023-12-15 14:46:12

nl6720
The Evil Wiki Admin
Registered: 2016-07-02
Posts: 714

Re: [Solved] Ram image can't see external filesystem to load. steam deck

Alright, a few last things to try. Let's see what USB controllers the Steam Deck has:

# lspci -nn -d ::0c03 -v
matryoshka wrote:

When you get dumped in the initramfs shell, run:

# blkid
# ls /dev/sd*
# ls -lR /dev/disk/

These are the modules that lsmod shows, but which are not in the initramfs:

8250_dw
acpi_cpufreq
aesni_intel
af_alg
algif_aead
algif_hash
algif_skcipher
amdgpu
blake2b_generic
bpf_preload
btbcm
btintel
btmtk
btrfs
btrtl
btusb
cbc
ccm
ccp
cdc_acm
cec
cfg80211
cmac
crc32_pclmul
crct10dif_pclmul
cryptd
crypto_simd
cs_dsp
des_generic
dm_mod
drm_buddy
drm_display_helper
drm_ttm_helper
dwc3_pci
ecb
edac_mce_amd
gf128mul
ghash_clmulni_intel
i2c_hid
i2c_hid_acpi
i2c_piix4
intel_rapl_msr
ip_tables
irqbypass
isofs
joydev
kvm
kvm_amd
libarc4
libdes
mac80211
mac_hid
md4
mousedev
opt3001
overlay
pcspkr
pkcs8_key_parser
polyval_clmulni
polyval_generic
qrtr
raid6_pq
rapl
rng_core
rtw88_8822c
rtw88_8822ce
rtw88_core
rtw88_pci
sp5100_tco
tpm
tpm_crb
tpm_tis
tpm_tis_core
ttm
wdat_wdt
wl
x_tables
xor

Looking at their modinfo, IMO nothing besides dwc3_pci sticks out. hmm In the worst case, you can add them all to MODULES array and see if it helps. If it doesn't, then it's something other than a missing kernel module.

Offline

#13 2023-12-15 15:21:24

matryoshka
Member
Registered: 2022-05-14
Posts: 32

Re: [Solved] Ram image can't see external filesystem to load. steam deck

Added all modules except 'bpf_preload' and wl and result the same. Those module were missing when trying to create image so I omitted them.

Also for some reason usb keyboard does not work in that shell but it's not freezed as pressing A acts as Enter key.

I am not sure if I mention it but when booting in Live usb there is no problem accessing external ssd

lspci output: https://pastebin.com/0HxNErzm

Also the newest arch iso wont load now. Lspci was run using some 2022 manjaro live iso

Offline

#14 2023-12-15 15:46:38

nl6720
The Evil Wiki Admin
Registered: 2016-07-02
Posts: 714

Re: [Solved] Ram image can't see external filesystem to load. steam deck

matryoshka wrote:

I am not sure if I mention it but when booting in Live usb there is no problem accessing external ssd

matryoshka wrote:

Also the newest arch iso wont load now.

Which is the latest Arch ISO that does run?

Last edited by nl6720 (2023-12-15 15:47:50)

Offline

#15 2023-12-15 15:50:46

matryoshka
Member
Registered: 2022-05-14
Posts: 32

Re: [Solved] Ram image can't see external filesystem to load. steam deck

I shift deleted the iso.. But earlier I sad November so I if was correct its 2022.11

Offline

#16 2023-12-15 15:56:13

nl6720
The Evil Wiki Admin
Registered: 2016-07-02
Posts: 714

Re: [Solved] Ram image can't see external filesystem to load. steam deck

I was thinking about suggesting you try downgrading the kernel to an older version. archlinux-2022.11.01-x86_64.iso had linux 6.0.6.arch1-1, so that's quite old.

Last edited by nl6720 (2023-12-15 15:56:32)

Offline

#17 2023-12-16 11:03:16

matryoshka
Member
Registered: 2022-05-14
Posts: 32

Re: [Solved] Ram image can't see external filesystem to load. steam deck

Did not try old arch iso but quickly tried booting using steam deck kernel and initram image. Only gotta remove one of steamdeck hook (steamos) and now it boot from external ssd. Also in rescue shell I can use keyboard and I can find my external ssd. The only problem now that it could not mount efi vfat partition because it does not recognize filesystem (probably because of removal of that steamos hook as when booting with it tries to find efi partition somewhere else and throw error).

Should I compare modules with lsinitcpio to find out the diff?

upd. Forgot to copy kernel modules so now vfat mounts

upd2. Tried to install old manjaro image. It installed fine and even loaded no problem but after system upgrade the same error. The kernel in use was 6.1.* but updated to the latest 6.1.

Also tried downgrading mkinitcpio and using dracut and booster. The same result.

Last edited by matryoshka (2023-12-17 06:14:40)

Offline

#18 2023-12-17 13:35:34

nl6720
The Evil Wiki Admin
Registered: 2016-07-02
Posts: 714

Re: [Solved] Ram image can't see external filesystem to load. steam deck

A missing module in initramfs was just a guess of mine. It likely is an entirely different issue.
It could be a kernel issue or simply that the USB port doesn't supply enough power for the enclosure or the drive within it.

The latest ISO not working is concerning. For reference, you can see the kernel version each ISO has in https://archlinux.org/releng/releases/.
How exactly does the ISO not work? Do you get the same timeout when waiting for the UUID? If so, try making it wait longer using the rootdelay=60 kernel parameter.

Offline

#19 2023-12-18 13:25:04

matryoshka
Member
Registered: 2022-05-14
Posts: 32

Re: [Solved] Ram image can't see external filesystem to load. steam deck

It's stuck on that: https://pasteboard.co/P9cEzUtRsUv0.png

It was working with old 2022 manjaro install and I still use steamos kernel to use steam deck now. So the hub is unlikely the issue.

Offline

#20 2023-12-23 08:56:18

matryoshka
Member
Registered: 2022-05-14
Posts: 32

Re: [Solved] Ram image can't see external filesystem to load. steam deck

Reading recent steam oc changes I noticed this about usb: https://steamcommunity.com/app/1675200/ … 9227592086

So setting usb dual mode to xhci solves all issues.

Have no idea tho why some ramdisk would load anyway and no errors were found in logs but it is what it is.

p.s. Have been using only stable os versions so bios also from stable

Last edited by matryoshka (2023-12-23 08:58:41)

Offline

Board footer

Powered by FluxBB