Surface kann usb-stick im initram nicht mounten

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
jh47
Beiträge: 67
Registriert: 12.07.2017 20:42:31

Surface kann usb-stick im initram nicht mounten

Beitrag von jh47 » 25.01.2025 10:54:11

Liebe Forumsmitglieder,
was kann ich tun, damit der usb-stick im initram erkannt wird?


AUSGANGSSITUATION
Ich habe
- Debian 12 auf einem Surface Pro 5 installiert
- und dort auch den Linux-surface Kernel ergänzt.

- Beim Booten werde ich nach der Passphrase zur manuellen Eingabe gefragt, um die Swap- und Root-Partitionen (LUKS) zu entschlüsseln. Funktioniert alles, fährt komplett hoch.

PROBLEM
- Wenn ich jedoch auf automatisches Entschlüsseln auf USB-keyfile umstelle, funktioniert das nicht (Details folgen unten).


BISHERIGE ANALYSE
Vorweg zu Eingrenzung der Fehlerursache, wenn ich mit der gleichen Konfiguration (crypttab etc.) ein initramfs-update eines anderen Nicht-Surface-Kernels mache, funktioniert es aber -- das Entschlüsseln mit usb-key und Hochfahren. Crypttab-Fehler oder fehlende eingestellte Module in modules-Datei sollten daher eher nicht als Problem infrage kommen.

Mit linux-surface-Kernel gibt es folgende Auffälligkeiten:

- update-initramfs -u liefert possible missing firmware /lib/firmware/i915/...
- beim Booten erscheint dann Failed to mount /dev/disk/by-uuid/<usb-ident>
- anschließende busybox shell liefert:
- ls /dev/disk/by-uuid/<usb-ident> => wird angezeigt, also kein Schreibfehler
- Keine Treffer bei
- grep cp437 /proc/modules
- grep vfat /proc/modules
- grep fat /proc/modules

Es scheint so, als würden die Einträge in modules-Datei nicht ins surface-initrd übernommen und daher der usb-stick nicht erkannt. (Theoretisch könnte die Übernahme auch in funktionierenden Kernel gescheitert sein, sofern dort die Module vorher schon drin waren, oder?)

Bin für jeden Tipp/Hinweis dankbar,
lg jh47

rhHeini
Beiträge: 2817
Registriert: 20.04.2006 20:44:10

Re: Surface kann usb-stick im initram nicht mounten

Beitrag von rhHeini » 25.01.2025 18:49:16

Sehe ich das richtig, das ist kein Stock-Debian-Kernel?

Wo kommt der dann her? Warum muss der unbedingt da drauf?

Zeig mal ein inxi -Fzr.

jh47
Beiträge: 67
Registriert: 12.07.2017 20:42:31

Re: Surface kann usb-stick im initram nicht mounten

Beitrag von jh47 » 25.01.2025 19:13:42

schöner Befehl, kannte ich noch nicht. Installation (Kernel) kommt vom Projekt https://github.com/linux-surface/linux-surface.
inxi liefert:

System:
Kernel: 6.12.3-surface-2 arch: x86_64 bits: 64 Console: pty pts/1 Distro: Debian GNU/Linux 12
(bookworm)
Machine:
Type: Laptop System: Microsoft product: Surface Pro
v: 124000000000000000000000D:0B:09F:5C:09P:38S:01E:0 serial: <filter>
Mobo: Microsoft model: Surface Pro serial: <filter> UEFI: Microsoft v: 239.871.768
date: 11/07/2015
Battery:
ID-1: BAT1 charge: 36.5 Wh (100.0%) condition: 36.5/45.0 Wh (81.0%)
CPU:
Info: dual core model: Intel Core i5-7300U bits: 64 type: MCP cache: L2: 512 KiB
Speed (MHz): avg: 900 min/max: 400/3500 cores: 1: 900 2: 900
Graphics:
Device-1: Intel HD Graphics 620 driver: i915 v: kernel
Display: server: X.org v: 1.21.1.7 with: Xwayland v: 22.1.9 driver: gpu: i915
note: X driver n/a tty: 211x46 resolution: 1: 1920x1080 2: 2736x1824
API: OpenGL Message: GL data unavailable in console for root.
Audio:
Device-1: Intel Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Imaging Unit driver: ipu3-imgu
Device-2: Intel CSI-2 Host driver: ipu3-cio2
Device-3: Intel Sunrise Point-LP HD Audio driver: snd_hda_intel
API: ALSA v: k6.12.3-surface-2 status: kernel-api
Network:
Device-1: Marvell 88W8897 [AVASTAR] 802.11ac Wireless driver: mwifiex_pcie
IF: wlp1s0 state: up mac: <filter>
Device-2: Microsoft RTL8153 GigE [Surface Ethernet Adapter] type: USB driver: r8152
IF: enx5882a89005a2 state: down mac: <filter>
Bluetooth:
Device-1: Marvell Bluetooth and Wireless LAN Composite type: USB driver: btusb
Report: hciconfig ID: hci0 state: up address: <filter> bt-v: 2.1
Drives:
Local Storage: total: 119.24 GiB used: 11.83 GiB (9.9%)
ID-1: /dev/nvme0n1 vendor: Samsung model: KUS020203M-B000 size: 119.24 GiB
Partition:
ID-1: / size: 103.57 GiB used: 11.37 GiB (11.0%) fs: ext4 dev: /dev/dm-0
ID-2: /boot size: 4.57 GiB used: 470.6 MiB (10.0%) fs: ext2 dev: /dev/nvme0n1p2
ID-3: /boot/efi size: 974.1 MiB used: 5.8 MiB (0.6%) fs: vfat dev: /dev/nvme0n1p1
Swap:
ID-1: swap-1 type: partition size: 7.81 GiB used: 0 KiB (0.0%) dev: /dev/dm-1
Sensors:
System Temperatures: cpu: 33.0 C pch: 29.0 C mobo: N/A
Fan Speeds (RPM): N/A
Repos:
Active apt repos in: /etc/apt/sources.list
1: deb http://deb.debian.org/debian/ bookworm main
2: deb-src http://deb.debian.org/debian/ bookworm main
3: deb http://security.debian.org/debian-security bookworm-security main
4: deb-src http://security.debian.org/debian-security bookworm-security main
5: deb http://deb.debian.org/debian/ bookworm-updates main
6: deb-src http://deb.debian.org/debian/ bookworm-updates main
Active apt repos in: /etc/apt/sources.list.d/linux-surface.list
1: deb [arch=amd64] https://pkg.surfacelinux.com/debian release main
Info:
Processes: 232 Uptime: 40m Memory: 7.68 GiB used: 2.74 GiB (35.6%) Init: systemd
target: graphical (5) Shell: Bash inxi: 3.3.2

jh47
Beiträge: 67
Registriert: 12.07.2017 20:42:31

Re: Surface kann usb-stick im initram nicht mounten

Beitrag von jh47 » 25.01.2025 19:18:09

... und muss drauf weil spezielle Unterstützung für Surface (Touch/Stift etc.)

rhHeini
Beiträge: 2817
Registriert: 20.04.2006 20:44:10

Re: Surface kann usb-stick im initram nicht mounten

Beitrag von rhHeini » 25.01.2025 20:27:52

Also ich mache auch die klassische luks-Verschlüsselung mit einem automatischen Entschlüsseln gegen einen Key von einem USB-Stick, aber alles Stock-Debian. Brauche für meinen PC keine Spezialitäten. Da brauch ich heutzutage (weiss nicht mehr wie lange schon nicht mehr) keine Module in die initramfs einzupflegen.

Da das ja ein Fremdkernel ist, kann es natürlich sein dass da was fehlt gegen die Debian-Kernel, ich hab aber keine Ahnung was das sein könnte.

Mein Angebot: Ich werd mal in meinen Unterlagen graben, irgendwo hab ich notiert was ich vor Jahren alles habe einpflegen müssen. Dauert ein wenig.

rhHeini
Beiträge: 2817
Registriert: 20.04.2006 20:44:10

Re: Surface kann usb-stick im initram nicht mounten

Beitrag von rhHeini » 25.01.2025 21:00:11

Um einen Schlüssel per Keyscript vom Stick lesen zu können musste ich zu Zeiten von Squeeze folgende Module in der /etc/initramfs-tools/modules einfügen:

nls_base
nls_utf8
nls_cp437
nls_iso8859_1
vfat
fat

Versuchs mal, vielleicht hilfts.

Edith: Pfad korrigiert
Zuletzt geändert von rhHeini am 26.01.2025 12:09:42, insgesamt 2-mal geändert.

jh47
Beiträge: 67
Registriert: 12.07.2017 20:42:31

Re: Surface kann usb-stick im initram nicht mounten

Beitrag von jh47 » 26.01.2025 07:41:19

Es funktioniert (und rettet wahrscheinlich einen Familiensonntag, noch bevor die Kinder überhaupt wach sind;).
super-herzlichen Dank fürs extra Raussuchen.

Im Detail für Leser mit ähnlichen Problemen:

War ursprünglich nach folgendem Artikel (getestet für Debian Stretch vorgegangen:
https://wiki.debianforum.de/Cryptsetup_ ... _USB-Stick
Der forderte nur diese Module (was auf meinen thinkpad auch genau so funktioniert unter Debian 12)

nls_ascii
nls_cp437
vfat
fat

Mit Deiner Liste klappt es jetzt auch auf Surface -- allerdings WICHTIG für evtl. andere Lesende

!! Datei muss /etc/initramfs-tools/modules sein !!

/etc/modules gibt es auch (wenn man es nur da aber einträgt, funktioniert es nicht) -- welche Funktion diese Datei dann hat, weiß ich nicht. Laden von Modulen nach(!) initram-Prozess?

Außerdem liefert ein grep nls_base /proc/modules nach wie vor keinen Treffer, ebenso wie bei vfat und fat und nls_cp437, wohl aber jetzt bei nls_utf8 [vielleicht hat genau das gefehlt, obwohl usb-label eigentlich mit ascii-zeichen gemountet werden können sollte, oder?],
was bedeutet, dass ein negativer grep bei manchen dort eingetragenen Modulen offenbar kein Indiz ist, dass generell Einträge in der modules-Datei beim update-initramfs wirkungslos geblieben sind.

Eventuell hilfreich fürs Verständnis, wenn das noch jemand zu erklären weiß (Gibt es z.B. die Modul vfat fat nls_cp437 einfach nicht mehr und kann daher auch nicht geladen werden, auch wenns versucht wird? Auf meinem thinkpad, schon vor langer Zeit so konfiguriert, liefert grep da aber noch Treffer)

lg und schönen Sonntag, lg jh47

rhHeini
Beiträge: 2817
Registriert: 20.04.2006 20:44:10

Re: Surface kann usb-stick im initram nicht mounten

Beitrag von rhHeini » 26.01.2025 12:11:23

Na Glückwunsch. Du hattest recht mit dem Pfad. Ich hab beim Abschreiben aus meinenm Aufzeichnungen übersehen dass ich davor ein cd /etc/initamfs-tools stehen hatte, habe nur auf das folgende nano modules geachtet.

Antworten