Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[solved] Bootprobleme nach Partitionsverschlüsselung
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
Jimini
Guru
Guru


Joined: 31 Oct 2006
Posts: 590
Location: Germany

PostPosted: Sat May 08, 2010 6:08 am    Post subject: [solved] Bootprobleme nach Partitionsverschlüsselung Reply with quote

Aloha.
Nachdem ich mich jetzt gut einen Tag lang durch Howtos, Foren und sonstige Erklärungen gelesen habe, poste ich mein Problem mal hier. Ich möchte ein System neu aufsetzen und hierbei die Partitionen verschlüsseln. Der Einfachheit halber enthält die Festplatte nur /, /boot (beide ext3) und die swap-Partition. /boot soll eigentlich auf einem USB-Stick liegen (was soweit auch schon funktionierte), aber um Fehler auszuschließen habe ich das Setup so einfach wie möglich gestaltet.

Ich bin nach mehreren Howtos vorgegangen:
- http://en.gentoo-wiki.com/wiki/DM-Crypt_with_LUKS
- http://de.gentoo-wiki.com/wiki/DM-Crypt/Root-Partition_verschl%C3%BCsseln_per_initramfs
- http://en.gentoo-wiki.com/wiki/Root_filesystem_over_LVM2,_DM-Crypt_and_RAID
- http://en.gentoo-wiki.com/wiki/Initramfs

Leider kam ich bisher aber nicht weiter, als dass der Bootprozess mit einem Kernelpanic anhielt:
Code:
No filesystem could mount root, tried: ext3 vfat msdos iso9660
Kernel panic - not syncing: VFS: unable to mount root fs on unknown-block(8,3)


Ich bin wie folgt vorgegangen:
1) Festplatte partitioniert: /dev/sda1: /boot, sda2: swap & sda3: /
2) / und swap habe ich verschlüsselt:
Code:
cryptsetup -c blowfish -h sha256 -d /dev/urandom create swap /dev/sda2
cryptsetup -c blowfish -h sha256 -d /dev/urandom create root /dev/sda3

3) danach habe ich einen Schlüssel erzeugt, um Tippfehler zu vermeiden, habe ich testweise einen sehr einfachen gewählt:
Code:
cryptsetup -y --cipher serpent-cbc-essiv:sha256 --key-size 256 luksFormat /dev/sda2
cryptsetup -y --cipher serpent-cbc-essiv:sha256 --key-size 256 luksFormat /dev/sda3

4) schließlich habe ich / und swap entschlüsselt:
Code:
cryptsetup luksOpen /dev/sda2 swap
cryptsetup luksOpen /dev/sda3 root

5) danach habe wie sonst auch normal installiert (alles gemountet, in /mnt/gentoo gechrooted, Portage-Tree gesynct, Kernel-Sources und Grub installiert und diverse Configfiles angepasst).
6) bzip2, busybox und cryptsetup mit USE="static" neu emerged
8) busybox gemäß der Anleitung gebaut
9) dieses Initscript runtergeladen und ausführbar gemacht
10) schließlich habe ich das initramfs-Image erzeugt
11) ab hier hatte ich so meine Probleme. Dieses Script habe ich ausgeführt, um das initramfs zu erzeugen (beißt sich das mit dem nächsten Schritt?)
12) die im Kernel erforderlichen Module habe ich fest eingebaut: Klick - in aktuellen Kernelversionen liegt die initrd-Unterstützung allerdings in "General Setup". Den Speicherort für das initrd-Verzeichnis habe ich gemäß der Anleitung leer gelassen und statt dessen selber die initrd in /usr/src/linux/usr kopiert.
13) danach habe ich die fstab angepasst:
Code:
/dev/sda1               /boot           ext3    defaults,noatime        1 2
/dev/mapper/swap        none            swap    sw                      0 0
/dev/mapper/root        /               ext3    noatime                 0 1
/dev/cdrom              /mnt/cdrom      auto    noauto,user             0 0

14) zu guter Letzt grub.conf editiert:
Code:
default 0
timeout 5
splashimage=(hd0,0)/grub/splash.xpm.gz
title=Bla
root (hd0,0)
kernel (hd0,0)/vmlinuz-2.6.32-gentoo-r7 root=/dev/sda3

15) und Grub in den MBR installiert.

Beim darauffolgenden Bootvorgang werden Grub und der Kernel geladen, bis das ganze mit oben genanntem Kernel Panic abbricht:
Code:
No filesystem could mount root, tried: ext3 vfat msdos iso9660
Kernel panic - not syncing: VFS: unable to mount root fs on unknown-block(8,3)


Ich vermute, dass der Fehler irgendwo im initrd-Abschnitt liegt. Ich fasse das Howto so auf, dass eigentlich eine Passwortabfrage kommen sollte, nach der /dev/sda2 und /dev/sda3 gemäß /etc/fstab gemountet werden können. Aber bis dahin komme ich wie gesagt ja nicht, da die root-Partition vom Kernel nicht gemountet werden kann - irgendwie beißt sich hier der Hund in den Schwanz.
Grub lädt absolut normal, ebenso sollten zumindest kritische Treiber im Kernel drin sein (SATA-Controller etc), sonst müsste der Fehler - meine ich - anders aussehen.

Ich wäre außerst dankbar, wenn jemand den / die Fehler findet - sollten Infos fehlen, reiche ich die gerne nach.

MfG Jimini
_________________
"The most merciful thing in the world, I think, is the inability of the human mind to correlate all its contents." (H.P. Lovecraft: The Call of Cthulhu)


Last edited by Jimini on Sat May 08, 2010 7:36 pm; edited 1 time in total
Back to top
View user's profile Send private message
s|mon
Tux's lil' helper
Tux's lil' helper


Joined: 04 Jul 2004
Posts: 120
Location: Bayern [de]

PostPosted: Sat May 08, 2010 9:06 am    Post subject: Reply with quote

Hallo,

ich kann dir leider noch nicht sagen wo genau das Problem ist, aber habe das ganze anfang der Woche selbst genutzt.
Ich bin beim Erstellen des Initramfs manuell vorgegangen, so sieht man wenn was nicht klappt.
Beim Einbinden des Images habe ich 2 verschiedene Kernel gemacht einmal mit initramfs direkt im Kernel (also Pfad angegeben nicht leer wie in der Anleitung und einmal wie beschrieben.

Dann habe ich mir mehrere Kombinationen in Grub angelegt, auch eine welche das initramfs-Image als weiteren Parameter hat.
Ich würde dir nahelegen es damit mal zu versuchen. Oder du versuchst erstmal dein schon erstelltes image bei grub anzugeben (sollte dazu wohl auch in deiner boot-Partition sein).

Viel erfolg weiterhin.
s|mon
Back to top
View user's profile Send private message
Jimini
Guru
Guru


Joined: 31 Oct 2006
Posts: 590
Location: Germany

PostPosted: Sat May 08, 2010 9:56 am    Post subject: Reply with quote

Ich habe heute Nacht 4- oder 5mal das System neu aufgesetzt. Ich habe mich immer an die Anleitungen gehalten. Ich habe also sprichwörtlich getüftelt und gebastelt. Ich habe gestern den ganzen Tag und die ganze letzte Nacht (bis auf 4 Stunden, in denen ich schlief) an dem Problem gesessen. Jetzt empfiehlst du mir quasi eine weitere "Probierlösung"...und weißt du was? Auf einmal läuft es. Kein Kernel Panic, es bootet durch.
Einzig Swap wird nicht gemountet und der Bootvorgang dauert noch sehr lange, aber es läuft! Ich bin momentan etwas ratlos und mindestens genauso gespannt, wo der Fehler lag.
Besten Dank für den Tipp, der mir mehr gebracht hat, als du womöglich gehofft hattest.

MfG Jimini

P.S.: ich setze den Thread auf "solved", sobald ich nachgeschaut habe, woran es lag.
_________________
"The most merciful thing in the world, I think, is the inability of the human mind to correlate all its contents." (H.P. Lovecraft: The Call of Cthulhu)
Back to top
View user's profile Send private message
Jimini
Guru
Guru


Joined: 31 Oct 2006
Posts: 590
Location: Germany

PostPosted: Sat May 08, 2010 7:36 pm    Post subject: Reply with quote

So, die Fehler scheine ich gefunden zu haben:

1) ikey_root=none:/dev/sdb1:/KEYFILE fehlte als Parameter in der grub.conf (Keyfile liegt jetzt auf einem USB-Stick)
2) in der Anleitung wurde die initrd nach /root/initramfs-gentoo-crypt kopiert, ich hab sie aber direkt nach /boot kopiert, und zwar als "initramfs.cpio.gz". Das brachte den Kernel ins Stolpern.

So sieht die fertige grub.conf dann aus:
Code:
default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title Gentoo Linux 2.6.24-r5
root (hd0,0)
kernel (hd0,0)/vmlinuz-2.6.32-gentoo-r7 root=/dev/sda2 is2 noresume2 iswap=/dev/sda1 ikey_root=none:/dev/sdb1:/KEYFILE ikey_swap=none:/dev/sdb1:/KEYFILE
initrd (hd0,0)/initramfs-gentoo-crypt


MfG Jimini
_________________
"The most merciful thing in the world, I think, is the inability of the human mind to correlate all its contents." (H.P. Lovecraft: The Call of Cthulhu)
Back to top
View user's profile Send private message
Jimini
Guru
Guru


Joined: 31 Oct 2006
Posts: 590
Location: Germany

PostPosted: Sun May 09, 2010 7:47 pm    Post subject: Reply with quote

Eben habe ich beim Booten mal den USB-Stick nicht angesteckt, dabei ist mir aufgefallen, dass trotzdem Grub geladen wird - ein Überbleibsel aus einem der vielen Versuche, das System zum Laufen zu bringen. Nur frage ich mich, WO diese ganzen Boot-Dateien liegen.
Im Normalfall ist der USB-Stick (/dev/sdb1) eingesteckt und wird als /boot gemountet. /dev/sda1 ist swap und /dev/sda2 die Rootpartition. Den MBR hatte ich in /dev/sdb installiert, also auf dem USB-Stick.
Ist er nicht angeschlossen, kann ich verschiedene Kernel booten, aber wo liegen die? Ich hatte im letzten erfolglosen Versuch genau diese Kernel erstellt, danach aber alle Partitionen gelöscht, neu erstellt und formatiert.
Stecke ich den Stick ein, bootet das System erwartungsgemäß normal. Wenn ich den Stick dann unmounte, finde ich nirgendwo auf der Festplatte die oben genannten Kernel. Die swap-Partition habe ich schon gelöscht und neu erstellt, leider ohne Erfolg - wenn ich den Stick weglasse, bootet wieder der "alte" Grub. Zwar landet man da nur in einer Not-Shell, aber auch da kann man fdisk nutzen, von daher würde ich den alten Bootloader gerne entfernen.

MfG Jimini

Zur Verdeutlichung ein Edit:

USB-Stick ist eingesteckt:
/dev/sda1: swap
/dev/sda2: /
/dev/sdb2: /boot
Kernel, MBR, Keyfile etc liegen auf dem USB-Stick /dev/sdb1
System bootet erwartungsgemäß normal.

USB-Stick ist nicht eingesteckt:
Grub, Kernel etc. liegen auf hd0,0, was die swap-Partition sein müsste (/dev/sda1)
Das System bootet nur eine Not-Shell, die Festplatten können nicht entschlüsselt werden, da das Keyfile fehlt (liegt schließlich auf dem USB-Stick).
_________________
"The most merciful thing in the world, I think, is the inability of the human mind to correlate all its contents." (H.P. Lovecraft: The Call of Cthulhu)


Last edited by Jimini on Sun May 09, 2010 7:51 pm; edited 1 time in total
Back to top
View user's profile Send private message
firefly
Advocate
Advocate


Joined: 31 Oct 2002
Posts: 4459

PostPosted: Sun May 09, 2010 7:49 pm    Post subject: Reply with quote

vermutlich hast du mal grub in den MBR von /dev/sda installiert.
Du musst den MBR von der Festplatte überschreiben.

Quote:
dd if=/dev/zero of=<fesplatten device name unter /dev> bs=512 count=1

_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
Jimini
Guru
Guru


Joined: 31 Oct 2006
Posts: 590
Location: Germany

PostPosted: Sun May 09, 2010 7:53 pm    Post subject: Reply with quote

Danke für die schnelle Antwort.
Genau das dachte ich mir ja auch - wo liegen dann aber die ganzen Kernel? Es sind immerhin 4 Stück an der Zahl, dazu mehrere intrds und halt der Grub-Kram, der normalerweise unter /boot liegt. Die werden doch nicht in den MBR geschrieben?

MfG Jimini

Edit: danke, ich probiers mal aus.
_________________
"The most merciful thing in the world, I think, is the inability of the human mind to correlate all its contents." (H.P. Lovecraft: The Call of Cthulhu)
Back to top
View user's profile Send private message
Jimini
Guru
Guru


Joined: 31 Oct 2006
Posts: 590
Location: Germany

PostPosted: Sun May 09, 2010 8:04 pm    Post subject: Reply with quote

Hm, die Partitionen sind jetzt nach nem Reboot irgendwie...weg. Zum Glück hab ich direkt nach dem Setup ein Backup gezogen ;)

MfG Jimini
_________________
"The most merciful thing in the world, I think, is the inability of the human mind to correlate all its contents." (H.P. Lovecraft: The Call of Cthulhu)
Back to top
View user's profile Send private message
s|mon
Tux's lil' helper
Tux's lil' helper


Joined: 04 Jul 2004
Posts: 120
Location: Bayern [de]

PostPosted: Sun May 09, 2010 8:51 pm    Post subject: Reply with quote

schön zu hören das es bei dir tut.

Nur kurz zur Ergänzung mit dem dd und bs=512 hast du sowohl den Bootloader als auch die Partitionstabellen überschrieben, von daher ist es klar das die Partitionen weg waren.
Besser wäre wohl ein dd mit bs=446 gewesen (laut
Quote:
http://en.wikipedia.org/wiki/Dd(unix)
und http://en.wikipedia.org/wiki/Master_boot_record)

mfg,
s|mon


P.S.: wie schaft man es den ersten wiki link als link zu bekommen, sprich ein escape der Klammern?

[edit] als backup-restore sollte auch ein rückspielen des mbr (oder nur der partitionstablle) mit dd genügen.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum