Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

mkinitramfs kaputt? (arch linux)

35 views
Skip to first unread message

Nico Hoffmann

unread,
Feb 18, 2023, 3:13:59 AM2/18/23
to
Hallo,

ich versuche ein arch linux auf meinem Laptop zu installieren.

Weil ich vom 08/15-Schema abweiche (Details würden hier zu weit führen
und tun nichts zur Sache), brauche ich ein "custom initramfs" auf
einem bootfähigen USB-Stick.

Den bootfähigen Stick habe ich, auch das selbst gemachte initramfs ist
drauf, d.h. der Boot klappt bis ins initramfs. Ich habe konfiguriert,
dass ich vor dem Mounten des rootfs eine Shell bekomme, in der ich mir
den Stand der Dinge ansehen kann. Auch das klappt, aber:

- es fehlt ein entscheidendes File (/boot/lukskey-open). lsinitrd
listet es auf, aber im tatsächlichen initram kann ich es nicht
finden.
- die Laptop-Tastatur geht nicht (eine USB-Tastatur schon).

/boot/initramfs-linux.img und /boot/initramfs-linux-fallback.img
machen keinen Unterschied.

Ich verwende außerdem GRUB.

Soweit ich sehe, treten keine Fehler auf.

Ich habe alle Hinweise, die mir bekannt sind (<hauptsächlich
https://wiki.archlinux.org/title/mkinitcpio>) beachtet.

Ich weiß nicht weiter. Hat jemand einen Tipp?

N.

Das ganze sieht so aus:

[root@archiso ~]# grep -r -E -v '^#|^$' /etc/mkinitcpio.*
/etc/mkinitcpio.conf:MODULES=(usbhid xhci_hcd atkbd i8042)
/etc/mkinitcpio.conf:BINARIES=(find)
/etc/mkinitcpio.conf:FILES=(/boot/lukskey-open)
/etc/mkinitcpio.conf:HOOKS=(base udev autodetect modconf kms keyboard keymap consolefont encrypt lvm2 block filesystems fsck)
/etc/mkinitcpio.conf_orig:MODULES=()
/etc/mkinitcpio.conf_orig:BINARIES=()
/etc/mkinitcpio.conf_orig:FILES=()
/etc/mkinitcpio.conf_orig:HOOKS=(base udev autodetect modconf kms keyboard keymap consolefont block filesystems fsck)
/etc/mkinitcpio.d/linux.preset:ALL_config="/etc/mkinitcpio.conf"
/etc/mkinitcpio.d/linux.preset:ALL_kver="/boot/vmlinuz-linux"
/etc/mkinitcpio.d/linux.preset:PRESETS=('default' 'fallback')
/etc/mkinitcpio.d/linux.preset:default_image="/boot/initramfs-linux.img"
/etc/mkinitcpio.d/linux.preset:fallback_image="/boot/initramfs-linux-fallback.img"
/etc/mkinitcpio.d/linux.preset:fallback_options="-S autodetect"
[root@archiso ~]# mkinitcpio -P
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
-> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
==> Starting build: 6.1.9-arch1-2
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [autodetect]
-> Running build hook: [modconf]
-> Running build hook: [kms]
-> Running build hook: [keyboard]
-> Running build hook: [keymap]
-> Running build hook: [consolefont]
-> Running build hook: [encrypt]
==> WARNING: Possibly missing firmware for module: qat_4xxx
-> Running build hook: [lvm2]
-> Running build hook: [block]
-> Running build hook: [filesystems]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating zstd-compressed initcpio image: /boot/initramfs-linux.img
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback'
-> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
==> Starting build: 6.1.9-arch1-2
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [modconf]
-> Running build hook: [kms]
-> Running build hook: [keyboard]
-> Running build hook: [keymap]
-> Running build hook: [consolefont]
-> Running build hook: [encrypt]
==> WARNING: Possibly missing firmware for module: qat_4xxx
-> Running build hook: [lvm2]
-> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: aic94xx
==> WARNING: Possibly missing firmware for module: bfa
==> WARNING: Possibly missing firmware for module: qed
==> WARNING: Possibly missing firmware for module: qla1280
==> WARNING: Possibly missing firmware for module: qla2xxx
==> WARNING: Possibly missing firmware for module: wd719x
-> Running build hook: [filesystems]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating zstd-compressed initcpio image: /boot/initramfs-linux-fallback.img
==> Image generation successful
[root@archiso ~]# ls -l /boot/initramfs-linux*
-rwxr-xr-x 1 root root 74542328 Feb 18 08:30 /boot/initramfs-linux-fallback.img
-rwxr-xr-x 1 root root 21979050 Feb 18 08:29 /boot/initramfs-linux.img
[root@archiso ~]# grep -r -E -v '^#|^$' /etc/default/grub
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=7"
GRUB_CMDLINE_LINUX="resume=/dev/mapper/swap dolvm cryptdevice=UUID=bf5ade54-1452-4dfa-b8a8-4ec18e142732:luksvg-slash rootfstype=btrfs cryptkey=rootfs:/boot/lukskey-open keymap=de real_root=/dev/mapper/luksvg-slash break=premount"
GRUB_PRELOAD_MODULES="part_gpt part_msdos"
GRUB_TIMEOUT_STYLE=menu
GRUB_TERMINAL_INPUT=console
GRUB_GFXMODE=auto
GRUB_GFXPAYLOAD_LINUX=keep
GRUB_DISABLE_RECOVERY=true
[root@archiso ~]# grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/initramfs-linux.img
Found fallback initrd image(s) in /boot: initramfs-linux-fallback.img
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...
done
[root@archiso ~]# grub-install --target=x86_64-efi --efi-directory=/boot/EFI --bootloader-id=GRUB
Installing for x86_64-efi platform.
Installation finished. No error reported.
[root@archiso ~]# cp /boot/EFI/EFI/GRUB/grubx64.efi /boot/EFI/BOOT/bootx64.efi
[root@archiso ~]# ls -lR /boot/EFI/
/boot/EFI/:
total 8
drwxr-xr-x 2 root root 4096 Feb 12 20:40 BOOT
drwxr-xr-x 3 root root 4096 Feb 11 22:33 EFI

/boot/EFI/BOOT:
total 148
-rwxr-xr-x 1 root root 151552 Feb 18 08:33 bootx64.efi

/boot/EFI/EFI:
total 4
drwxr-xr-x 2 root root 4096 Feb 11 22:33 GRUB

/boot/EFI/EFI/GRUB:
total 148
-rwxr-xr-x 1 root root 151552 Feb 18 08:32 grubx64.efi
[root@archiso /]# lsinitrd /boot/initramfs-linux.img
Image: /boot/initramfs-linux.img: 21M
========================================================================
Version:

Arguments:
dracut modules:
========================================================================
-rw-r--r-- 0 root root 2 Jan 1 1970 VERSION
lrwxrwxrwx 0 root root 7 Jan 1 1970 bin -> usr/bin
drwxr-xr-x 0 root root 0 Jan 1 1970 boot/
-rwxr-xr-x 0 root root 512 Jan 1 1970 boot/lukskey-open
[...]


--
Vermiete Signatur, 320 Zeichen^2 (4x80 Zeichen) für 42 Lewonzen im Monat.
Keine Provision, keine Maklergebühr, renoviert, günstige Lage.

Markus Schaaf

unread,
Feb 18, 2023, 5:43:29 AM2/18/23
to
Am 18.02.23 um 09:13 schrieb Nico Hoffmann:

> - es fehlt ein entscheidendes File (/boot/lukskey-open). lsinitrd
> listet es auf, aber im tatsächlichen initram kann ich es nicht
> finden.

/boot wird vermutlich ein Mountpoint sein. Also kannst Du da
keine Dateien ablegen.

> - die Laptop-Tastatur geht nicht (eine USB-Tastatur schon).

Was ist denn das für eine Hardware? Evtl. Legacy-Emulation im
BIOS aktivieren?

MfG

Nico Hoffmann

unread,
Feb 18, 2023, 7:33:05 AM2/18/23
to
Markus Schaaf schreibt:

> Am 18.02.23 um 09:13 schrieb Nico Hoffmann:
>
>> - es fehlt ein entscheidendes File (/boot/lukskey-open). lsinitrd
>> listet es auf, aber im tatsächlichen initram kann ich es nicht
>> finden.
>
> /boot wird vermutlich ein Mountpoint sein. Also kannst Du da
> keine Dateien ablegen.

Ja und nein.

Zu dem Zeitpunkt, wenn ich das initramfs erstelle, ist da der Stick
gemountet. /boot/lukskey-open liegt auf dem Stick und soll ins
initramfs. Wenn ich vom Stick boote, ist /boot natürlich frei.

Ich hab' probeweise das File mal unter /custom/lukskey-open abgelegt,
d.h. ein Verzeichnis /custom mit dem File drin angelegt und in die
mkinitrd.conf entsprechend eingetragen. Dann initramfs neu erzeugt.

lsinitrd listet brav auf:

Image: /boot/initramfs-linux.img: 21M
========================================================================
Version:

Arguments:
dracut modules:
========================================================================
-rw-r--r-- 0 root root 2 Jan 1 1970 VERSION
lrwxrwxrwx 0 root root 7 Jan 1 1970 bin -> usr/bin
-rw-r--r-- 0 root root 2954 Jan 1 1970 buildconfig
-rw-r--r-- 0 root root 120 Jan 1 1970 config
-rw-r--r-- 0 root root 10558 Jan 1 1970 consolefont.psfu
drwxr-xr-x 0 root root 0 Jan 1 1970 custom/
-rwxr-xr-x 0 root root 512 Jan 1 1970 custom/lukskey-open
[...]


Wenn ich jetzt vom Stick boote, ist zwar ein Verzeichnis /custom
vorhanden, aber es ist leer. Das File ist auch nirgendwo anders.


Dann habe ich das file flach unter / gelegt, also /lukskey-open.
Und siehe da, jetzt ist es auf einmal da.

Wie schräg ist denn sowas?


>> - die Laptop-Tastatur geht nicht (eine USB-Tastatur schon).
>
> Was ist denn das für eine Hardware? Evtl. Legacy-Emulation im
> BIOS aktivieren?

Das ist die einzige Stelle, wo dmsg was von keyboard sagt:

[ 11.402452] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input2

Im grub-Menue funktioniert die Tastatur. Legacy-mode ändert nichs.

N.

Markus Schaaf

unread,
Feb 18, 2023, 7:39:50 AM2/18/23
to
Am 18.02.23 um 13:33 schrieb Nico Hoffmann:

>>> - die Laptop-Tastatur geht nicht (eine USB-Tastatur schon).
>>
>> Was ist denn das für eine Hardware? Evtl. Legacy-Emulation im
>> BIOS aktivieren?
>
> Das ist die einzige Stelle, wo dmsg was von keyboard sagt:
>
> [ 11.402452] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input2
>
> Im grub-Menue funktioniert die Tastatur. Legacy-mode ändert nichs.

Bist Du der Ersteller dieses Threads:
https://bbs.archlinux.org/viewtopic.php?id=274130

Falls ja: Der letzte Tipp hat auch nicht geholfen?

MfG

Nico Hoffmann

unread,
Feb 19, 2023, 8:09:23 PM2/19/23
to
Markus Schaaf schreibt:
Nein, ich bin der Ersteller dieses Threads:
https://bbs.archlinux.org/viewtopic.php?id=283470 - leider antwortet
mir da niemand.

Aber danke für den Hinweis.

> Falls ja: Der letzte Tipp hat auch nicht geholfen?

Leider nein.

ich hab' die kernel-command-line abgespeckt und ein dmesg hier
hingelegt: http://lewonze.de/tmp/arch/dmesg-arch-loglevel5 (61kb).
d.h., das ist der Boot mit meinem USB-Stick, wo die interne Tastatur
nicht geht.

Außerdem sind jetzt ziemlich viele Kernelmodule im initramfs, da
sollte bestimmt nichts mehr fehlen.

Markus Schaaf

unread,
Feb 20, 2023, 6:43:02 AM2/20/23
to
Am 20.02.23 um 02:09 schrieb Nico Hoffmann:

>> Falls ja: Der letzte Tipp hat auch nicht geholfen?
>
> Leider nein.

Vielleicht ist es das gleiche wie hier:
https://lore.kernel.org/linux-acpi/CAJZ5v0h-zAWPaHSw+9JNxYLL...@mail.gmail.com/T/#m29553e20e89ac4ef720c7856dc904dc892627244

Siehe auch:
https://bugzilla.kernel.org/show_bug.cgi?id=216158

"""
Tamim Khan 2022-08-27 19:51:11 UTC
@Sunand: Sorry I made a typo in my original reply. That is the
model that the wont work for, the patch only works for K3502ZA.
Would it be possible for you run the following and share the output?

cat /sys/firmware/acpi/tables/DSDT > dsdt.dat
iasl -d dsdt.dat
grep -A 40 PS2K dsdt.dsl | grep IRQ -A 1

You will need to install the iasl package in Ubuntu in order to
run it. If it shows:

IRQ (Level, ActiveLow, Exclusive, )
{1}

I can make the patch work for your laptop as well.

Tamim
"""

MfG

Nico Hoffmann

unread,
Feb 22, 2023, 2:03:24 AM2/22/23
to
Markus Schaaf schreibt:

> Am 20.02.23 um 02:09 schrieb Nico Hoffmann:
>
>>> Falls ja: Der letzte Tipp hat auch nicht geholfen?
>>
>> Leider nein.
>
> Vielleicht ist es das gleiche wie hier:
> https://lore.kernel.org/linux-acpi/CAJZ5v0h-zAWPaHSw+9JNxYLL...@mail.gmail.com/T/#m29553e20e89ac4ef720c7856dc904dc892627244
>
> Siehe auch:
> https://bugzilla.kernel.org/show_bug.cgi?id=216158
>
> """
> Tamim Khan 2022-08-27 19:51:11 UTC
> @Sunand: Sorry I made a typo in my original reply. That is the
> model that the wont work for, the patch only works for K3502ZA.
> Would it be possible for you run the following and share the output?
>
> cat /sys/firmware/acpi/tables/DSDT > dsdt.dat
> iasl -d dsdt.dat
> grep -A 40 PS2K dsdt.dsl | grep IRQ -A 1

Offenbar auch nicht :-(

PS2K gibts gar nicht. -> http://lewonze.de/tmp/arch/dsdt.dsl

Ich finde nur ein "PS2M"... bedeutet das PS/2 mouse, und PS2M dann
PS/2 Keyboard? Dann wäre die Tastatur gar nicht da, anstatt IRQ-mäßig
nicht richtig eingestellt.

Ich kann das System vollständig, also bis zum regulären Login-prompt
hochfahren, aber auch dann gibt es keine interne Tastatur :-(

Es muß irgendeine obskure Einstellung irgendwo sein, denn mit dem
Installations-ISO von arch funktioniert sie einwandfrei.

Markus Schaaf

unread,
Feb 22, 2023, 2:21:04 AM2/22/23
to
Am 22.02.23 um 08:03 schrieb Nico Hoffmann:

> Es muß irgendeine obskure Einstellung irgendwo sein, denn mit dem
> Installations-ISO von arch funktioniert sie einwandfrei.

Achso! Das hatte ich nicht richtig verstanden. Dann hätte ich
noch den Treiber fürs Touchpad in Verdacht. Wahrscheinlich wird
bei Dir das Modul mit in die initrd gepackt, beim Arch-ISO jedoch
nicht. Kannst Du ja mal prüfen. Heißt irgendwas mit 'elan'. Habe
mal gelesen, dass es da einen Konflikt geben kann. Wenn es das
auch nicht ist, habe ich leider keine Vorschläge mehr. :-)

MfG

Nico Hoffmann

unread,
Jun 3, 2023, 4:45:51 PM6/3/23
to
Nico Hoffmann schreibt:

[wer nicht komplett zurückblättern will: Ich habe auf einem Fujitsu
Lifebook E558 ein arch linux installiert. Ich mache
Festplattenverschlüsselung, d.h. nur /boot ist unverschlüsselt, der
Rest ist in einem luks2-Container mit 'logical volumes' drin. /boot
liegt auf einem USB-Stick. Prinzipiell läuft das System, z.B. tippe
ich gerade dieses Posting damit....

Wegen der Verschlüsselung brauche ich ein 'custom initramfs', dass
erstmal den Kernel aus dem RAM heraus laufen läßt, um in diesem
Stadium die Platte zu entschlüsseln und fertig hochzulaufen.

Auch das funktioniert prinzipiell. Allerdings ist in der RAM-Phase die
Tastatur tot, d.h. die interne Tastatur. Eine USB-Tastatur läuft
einwandfrei. Ich brauch' die Tastatur, um z.B. eine Passphrase
einzutippen :-( ]

> Ich kann das System vollständig, also bis zum regulären Login-prompt
> hochfahren, aber auch dann gibt es keine interne Tastatur :-(


Ich muss mich hier korrigieren: Wenn das System fertig hochgelaufen
ist (Login-Prompt), ist auch die interne Tastatur da.

Auch GRUB hat direkt nach dem Power-On die interne Tastatur.

D.h., die Hardware funktioniert, es muss irgendwie am initramfs
liegen. Leider sehe ich nirgendwo eine Fehlermeldung oder einen
Hinweis, wo es klemmt, daher weiß ich nicht, wo ich ansetzen soll.

Das hier ist die initramfs-Konfig:

http://lewonze.de/tmp/arch/mkinitcpio20230518.txt

und hier ist ein Log vom Systemstart bis zum erfolgreichen Login:

http://lewonze.de/tmp/arch/journalctl20230518.txt


Irgendwelche Hinweise?

N.
--
begin 666 virus_in_sig.exe
»^^G^L^@^@p»^^G^A^@^@^@^@^@^@^@^@^@^@^@^@^@^@U211åSè^@^@^@^@[201ÃW2^@^@203
^@^@^@^@éàÿÿÿÿ%ðº^^@^@^@éÐÿÿÿÿ%ôº^ --- O.K., kleiner Scherz am Rande.

Friedemann Stoyan

unread,
Jun 3, 2023, 11:05:56 PM6/3/23
to
Nico Hoffmann wrote:

> [wer nicht komplett zurückblättern will: Ich habe auf einem Fujitsu
> Lifebook E558 ein arch linux installiert. Ich mache
> Festplattenverschlüsselung, d.h. nur /boot ist unverschlüsselt, der
> Rest ist in einem luks2-Container mit 'logical volumes' drin. /boot
> liegt auf einem USB-Stick. Prinzipiell läuft das System, z.B. tippe
> ich gerade dieses Posting damit....

Wie bei mir.

> Wegen der Verschlüsselung brauche ich ein 'custom initramfs', dass
> erstmal den Kernel aus dem RAM heraus laufen läßt, um in diesem
> Stadium die Platte zu entschlüsseln und fertig hochzulaufen.

Habe ich nicht explizit gesagt. Geht aber trotzdem.

> Auch das funktioniert prinzipiell. Allerdings ist in der RAM-Phase die
> Tastatur tot, d.h. die interne Tastatur. Eine USB-Tastatur läuft
> einwandfrei. Ich brauch' die Tastatur, um z.B. eine Passphrase
> einzutippen :-( ]

>> Ich kann das System vollständig, also bis zum regulären Login-prompt
>> hochfahren, aber auch dann gibt es keine interne Tastatur :-(


> Ich muss mich hier korrigieren: Wenn das System fertig hochgelaufen
> ist (Login-Prompt), ist auch die interne Tastatur da.

Kann ja eigentlich nur so sein (vom logischen), dass die interne Tastatur
Kernel-Module benutzt, die in der initcpio nicht drin sind.

Du lädtst überhaupt viele Kernelmodule explizit. Warum? Ich mache das nicht
und trotzdem bootet alles korrekt.

Ich sehe, Du nutzt nicht die systemd-Hook (und deswegen auch nicht sd-encrypt).
Geht es denn mit der?


mfg Friedemann

Nico Hoffmann

unread,
Jun 4, 2023, 4:16:39 PM6/4/23
to
Friedemann Stoyan schreibt:

> Nico Hoffmann wrote:
>
>> [wer nicht komplett zurückblättern will: Ich habe auf einem Fujitsu
>> Lifebook E558 ein arch linux installiert. Ich mache
>> Festplattenverschlüsselung, d.h. nur /boot ist unverschlüsselt, der
>> Rest ist in einem luks2-Container mit 'logical volumes' drin. /boot
>> liegt auf einem USB-Stick. Prinzipiell läuft das System, z.B. tippe
>> ich gerade dieses Posting damit....
>
> Wie bei mir.
>
>> Wegen der Verschlüsselung brauche ich ein 'custom initramfs', dass
>> erstmal den Kernel aus dem RAM heraus laufen läßt, um in diesem
>> Stadium die Platte zu entschlüsseln und fertig hochzulaufen.
>
> Habe ich nicht explizit gesagt. Geht aber trotzdem.

Woher weiß dein System, dass es den Nutzer nach der Passphrase fragen
soll, um damit das Luks zu entschlüsseln?

>> Auch das funktioniert prinzipiell. Allerdings ist in der RAM-Phase die
>> Tastatur tot, d.h. die interne Tastatur. Eine USB-Tastatur läuft
>> einwandfrei. Ich brauch' die Tastatur, um z.B. eine Passphrase
>> einzutippen :-( ]
>
>>> Ich kann das System vollständig, also bis zum regulären Login-prompt
>>> hochfahren, aber auch dann gibt es keine interne Tastatur :-(
>
>
>> Ich muss mich hier korrigieren: Wenn das System fertig hochgelaufen
>> ist (Login-Prompt), ist auch die interne Tastatur da.
>
> Kann ja eigentlich nur so sein (vom logischen), dass die interne Tastatur
> Kernel-Module benutzt, die in der initcpio nicht drin sind.
>
> Du lädtst überhaupt viele Kernelmodule explizit. Warum? Ich mache das nicht
> und trotzdem bootet alles korrekt.

Das ist schon die verkürzte Liste. Ich habe vorher alle Module rein
geschrieben, die 'lsmod' im fertig hochgelaufenen Stadium ausgespuckt
hat. Hat auch nix geändert.


> Ich sehe, Du nutzt nicht die systemd-Hook (und deswegen auch nicht sd-encrypt).
> Geht es denn mit der?

Nein, da ging irgendwas beim Systemstart schief, noch schlimmer als
jetzt. Ich hab's aber nicht mehr im Kopf und kann es kurzfristig nicht
nachstellen. Der systemd-Versuch steht auskommentiert noch drin.
Dasselbe gilt für dracut anstelle mkinitcpio.

Friedemann Stoyan

unread,
Jun 4, 2023, 10:50:21 PM6/4/23
to
Nico Hoffmann wrote:

> Woher weiß dein System, dass es den Nutzer nach der Passphrase fragen
> soll, um damit das Luks zu entschlüsseln?

Das macht doch alles die Hook sd-encrypt: /usr/lib/initcpio/install/sd-encrypt
Bei mir funktioniert das.


>> Ich sehe, Du nutzt nicht die systemd-Hook (und deswegen auch nicht sd-encrypt).
>> Geht es denn mit der?

> Nein, da ging irgendwas beim Systemstart schief, noch schlimmer als
> jetzt. Ich hab's aber nicht mehr im Kopf und kann es kurzfristig nicht
> nachstellen. Der systemd-Versuch steht auskommentiert noch drin.
> Dasselbe gilt für dracut anstelle mkinitcpio.

Tja.

mfg Friedemann

Nico Hoffmann

unread,
Jun 10, 2023, 11:33:13 AM6/10/23
to
Friedemann Stoyan schreibt:

[systemd-hooks]]

>> Nein, da ging irgendwas beim Systemstart schief, noch schlimmer als
>> jetzt. Ich hab's aber nicht mehr im Kopf und kann es kurzfristig nicht
>> nachstellen. Der systemd-Versuch steht auskommentiert noch drin.


> Tja.

ich habe jetzt diese mkinitcpio.conf:

http://lewonze.de/tmp/arch/mkinitcpio.conf_20230610

(mit den systemd-hooks).

Das Ergebnis ist hier:

http://lewonze.de/tmp/arch/IMG_20230610_165834.jpg (sorry für die
mäßige Bildqualität)

Es klemmt da, wo das rote [ TIME ] ist.

Im Hochlauf kommt da "a start job is running for /dev/mapper/...", so
wie es auch unten steht. Der 'start job' könnte fsck oder sowas sein,
und er probiert alles in /dev/mapper/ durch. Das klappt natürlich
nicht, weil das zu diesem Zeitpunkt noch verschlüsselt ist.

Irgendwann kommt ein Timeout, und er hört mit dem Unfug auf und bietet
eine Emergency-Shell an. Auch diese Emergency-Shell kann ich nicht mit
der internen Tastatur bedienen. Die USB-Tastatur geht. Ich habe einmal
enter gedrückt, und er fängt wieder mit fsck an...

Friedemann Stoyan

unread,
Jun 10, 2023, 12:07:02 PM6/10/23
to
Nico Hoffmann wrote:

> Im Hochlauf kommt da "a start job is running for /dev/mapper/...", so
> wie es auch unten steht. Der 'start job' könnte fsck oder sowas sein,
> und er probiert alles in /dev/mapper/ durch. Das klappt natürlich
> nicht, weil das zu diesem Zeitpunkt noch verschlüsselt ist.

Verstehe ich nicht. Bei meinem Setup ist das PV der VG verschlüsselt. Und wenn
aufgeschlossen wurde, sind natürlich die einzelnen LVs da (unverschlüsselt).
Da ja das PV verschlüsselt ist:

$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 238,5G 0 disk
├─sda1 8:1 0 128M 0 part /boot/efi
├─sda2 8:2 0 256M 0 part /boot
└─sda3 8:3 0 238,1G 0 part
└─cpv0 254:0 0 238,1G 0 crypt
├─vg0-swap 254:1 0 32G 0 lvm [SWAP]
├─vg0-root 254:2 0 256M 0 lvm /
├─vg0-usr 254:3 0 8G 0 lvm /usr
├─vg0-ulocal 254:4 0 512M 0 lvm /usr/local
├─vg0-var 254:5 0 8G 0 lvm /var
├─vg0-home 254:6 0 128G 0 lvm /home
├─vg0-srv 254:7 0 128M 0 lvm /srv
└─vg0-opt 254:8 0 1G 0 lvm /opt

cpv0 ist das CryptoPV0, was ja /dev/sda3 entspricht:

$ sudo cat /etc/crypttab
# Configuration for encrypted block devices.
# See crypttab(5) for details.

# NOTE: Do not list your root (/) partition here, it must be set up
# beforehand by the initramfs (/etc/mkinitcpio.conf).

# <target name> <source device> <key file> <options>
cpv0 UUID=3103a93f-79df-48c1-99e1-895e64facc3b none luks


Ist das Setup bei Dir nicht so?

mfg Friedemann

Nico Hoffmann

unread,
Aug 20, 2023, 4:36:30 PM8/20/23
to
Friedemann Stoyan schreibt:

> Ist das Setup bei Dir nicht so?

Ich komme jetzt doch nochmal darauf zurück :-)

Allerdings habe ich nicht in Richtung systemd weitergemacht. Es wäre
wohl den Versuch wert gewesen, aber ich habe nirgend einen konkreten
Hinweis gesehen, dass es das Tastaturproblem lösen könnte. Mir ist
auch nicht klar, warum es überhaupt zwei Varianten gibt.


Es gibt aber einen Würgaround, der zumindest 2FA bietet und ohne
externe Tastatur auskommt.

Ich bin auf
https://gmpreussner.com/reference/fully-encrypted-archlinux-with-secure-boot-on-yoga-920
gestoßen und habe mich grob daran orientiert.

D.h., ich habe initramfs und bootloader auf zwei getrennten
Partitionen (/boot und /boot/EFI in Mountpoints) des Bootsticks. Der
Bootloader ist unverschlüsselt, ich verwende Grub.
Das initramfs ist verschlüsselt.

Beim Boot kommt zuerst Grub und fragt nach einer Passphrase (für das
initramfs). Unter Grub funktioniert die Tastatur. Wenn es die
Passphrase bekommen hat, entschlüsselt es das initramfs und beginnt
den eigentlichen Hochlauf - das ist die Phase, wo die Tastatur nicht
geht. Hier greift der encrypt-Hook. Im Initramfs befindet sich der
offene Schlüssel für das Root-FS, d.h. die SSD. Offener Schlüssel
heißt natürlich, dass ich keine Passphrase mehr zum Entsperren des
Schlüssels eingeben muss und der Hochlauf ohne Tastatureingabe
auskommt.
Tatsächlich läuft das System dann bis zum Login hoch, und da geht dann
auch die Tastatur wieder...

Ein gewisser Vorteil dieser Methode dürfte es sein, dass nun auch noch
das initramfs verschlüsselt ist.
Ein Nachteil ist sicher, dass ich jetzt einen offenen Schlüssel im
System und im initramfs herumliegen habe.

Ich werde das ganze erstmal so belassen. Zukünftig möchte ich
eigentlich wieder zu Gentoo zurück und nicht weiter Arch verwenden.

N.
--
v Zeilen
i Zeilen
e Zeilen
r Zeilen
0 new messages