[Eisfair] dracut / lvm/2
D. Oezbilen
oezbilen at gmx.net
Di Jun 28 00:58:57 CEST 2022
Hallo @all,
damit nicht jemand das Rad neu erfindet, will ich hier Loesungen fuer
die Eis-Plattform beschreiben, sofern man mit lvm hantiert.
In
/etc/init.d/udevin
gibt es folgende Zeilen, die abgeschaltet waren:
# If any LVM based partitions are on the system, ensure they
# are activated so they can be used.
#--- ab hier wieder ein.
if [ -x /sbin/vgchange ]
then
/sbin/vgchange -a y
#>/dev/null
fi
Diese Zeilen ermoeglichen, dass man ein /home auf LVM per /etc/fstab
einbinden kann.
Es ist mir auch gelungen mit dem Kernel-Parameter
rng_core.default_quality=1000
(oder < 1000)
auch aus der initrd ein vgchange -ay abzusetzen, was auch positiv
quittiert wird. Einzig, der Parameter hat Einfluss (nur beim Boot?) auf
den RNG. Ich kann das hier nicht bewerten, eher denke ich, dass es
*nicht* OK ist. Denn solange urandom nicht initialisiert ist, wird der
Befehl nicht ausgefuehrt.
Muesste es selbst mit diesen Ergebnissen angehen, ob dann auch ein /root
aus LVM gestartet wird, dann auch nur mit grub.
Die initrd habe ich folgendermassen modifiziert:
...
# pre-mount happens before we try to mount the root filesystem,
# and happens once.
make_trace_mem "hook pre-mount" '1:shortmem' '2+:mem' '3+:slab'
getarg 'rd.break=pre-mount' -d 'rdbreak=pre-mount' && emergency_shell -n
pre-mount "Break pre-mount"
source_hook pre-mount
echo "--------------------------!!!!!!!!!!!!!!!!!!"
/usr/sbin/vgchange -ay
echo "!!!!!!!!!!!!!!!!!!--------------------------"
...
Beim boot konnte ich dies abgreifen, funkt also:
--------------------------!!!!!!!!!!!!!!!!!!
random: vgchange: uninitialized urandom read (4 bytes read)
WARNING: locking_type (4) is deprecated, using --sysinit --readonly.
Allowing activation with --readorandom: vgchange: uninitialized
urandom read (2 bytes read)
nly --sysinit.
5 logical volume(s) in volume group "lvm0" now active
!!!!!!!!!!!!!!!!!!--------------------------
5 logical volume(s) in volume group "lvm0" now active
sind also aus der initrd aktiviert. gut.
Was eigenartig ist, dass der Lauf
dracut --force --modules lvm --lvmvonf
zu einer dysfunktionalen initrd (mit 1/2 der Groesse einer initrd)
fuehrt, jedoch im Gegensatz zur funktional den Parameter
rootdelay=5
wie hier unten aufgefuehrt respektiert. Aber nicht die alte, funktionale
initrd respektiert den P. nicht. Ahhhh.
> #--- das ist aus der cmd uebernommen (die 5s), sprich die richtige
> (neue) initrd wird geladen.
> Waiting 5 sec before mounting root device...
Sprich, weill -wie hier im Thread dargestellt- die Aktivierung der LVMs
paar Sekunden braucht, waere dieser Stop/die Pause notwendig, wenn auch
/root aus der LVM gestartet wird, wenn sie - ohne Pause (zu spaet
aktiviert) - je gefunden wird.
Es bleiben trotz paar Fortschritte Fragen, dass dracut kaputte initrd
baut(?), die faktisch nicht booten, auch warum die alte initrd dass
rootdelay nicht annimmt, aber dafuer die dysfunktionale, neue
dracut-initrd. Ebenso der Kernelparameter mit Einfluss auf RNG ist
fraglich, evtl. gar stuemperhaft. :-( :-/
Ein gutes Gefuehl stellt sich nicht ein. :-( :-( :-(
Insgesamt fehlt mir hier ein Skript (oder es existiert, heisst
anders(?)), wie man es auf deb-linux kennt: update-initramfs.
Zudem da das Problem der lvm-Aktivierung aus der initrd *nicht* gegeben
ist, einzig rootdelay=5 ist ein Muss, sonst klappt es auch da nicht (man
landet dann auf der shell).
Danke vorab fuer sachdienliche Hinweise auf die oben gestellten Fragen, pls.
Gruss
Derya
Mehr Informationen über die Mailingliste Eisfair