geninitrd - luks na raid1
Wieslaw Kierbedz
w.kier w farba.eu.org
Śro, 25 Lis 2009, 20:38:26 CET
Te dwa proste zabiegi sprawiły, że geninitrd prawidłowo (w miarę :P)
wygenerował mi ramdysk szyfrowanego rootfs na soft raid1.
1) zmiana kolejności komend w linuxrc - mdassemble musi zaskoczyć przed
cryptsetup:
--- /sbin/geninitrd 2009-09-19 20:57:43.000000000 +0000
+++ /sbin/geninitrd_luks 2009-11-25 18:48:04.000000000 +0000
-1222,10 +1222,6 @@
find_modules_uvesafb
initrd_gen_uvesafb
-if is_yes "$have_luks"; then
- initrd_gen_luks
-fi
-
if is_yes "$have_dmraid"; then
initrd_gen_dmraid
fi
-1253,6 +1249,10 @@
initrd_gen_setrootdev
fi
+if is_yes "$have_luks"; then
+ initrd_gen_luks
+fi
+
if is_yes "$USE_SUSPEND"; then
initrd_gen_suspend
fi
2) Przerwanie dopasowywania urządzeń w /dev/mapper/ do lvm, jeżeli są luksa.
Użyta funkcja trochę nagle się tu pojawia, ale pasowała mi do tego
bardzo - być może nie przeczytałem wszystkiego dobrze i należało po
prostu zmienić jakoś kolejność sprawdzania /dev/mapper/* - najpierw luks
potem lvm i jeśli luks, to nie szukać lvm.
Dochodzi problem, kiedy to jest luks na lvm, nie wiem jak to wówczas
zadziała. :|
diff -urN geninitrd.orig/functions geninitrd_f/functions
--- geninitrd.orig/functions 2009-09-19 20:57:43.000000000 +0000
+++ geninitrd_f/functions 2009-11-25 18:37:59.000000000 +0000
-65,6 +65,7 @@
case $rootdev in
/dev/dm-* | /dev/mapper/*)
+ is_luks $rootdev && return
local node
node=$(dm_lvm2_name "$rootdev") || return 1
if [ "$node" ]; then
--
WK
Więcej informacji o liście dyskusyjnej pld-devel-pl