Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

18.12.2009, 14:45

Gentoo verschlüsselt installieren mit Cryptsetup und LVM

Hallo,
ich möchte Gentoo auf eine verschlüsselte LVM Partition installieren, jedoch habe ich keine Ahnung wie das init-Script aussehen muss, damit die Partition beim Boot-Vorgang automatisch entschlüsselt wird.
Das ganze sollte ohne irgentein USB-Stick oder ein Bild funktionieren, also nur mittels Passwordabfrage.

Die Partitonierung sieht wie folgt aus:
  • hda1: /boot,
  • hda2: verschlüsselte Part. -> mit LVM-Group (GENTOOFS) und 3 Volumes für SWAP (GENTOOSWAP), ROOT (GENTOOROOT), HOME (GENTOOHOME)
Eine Google-Suche brachte mir nur Init-Scripte für USB-Sticks, Fingerprint und Bild-Dateien.

PS: Wie man mit LVM und Cryptsetup arbeitet weiss ich, einzig das Initscript bzw. fstab ist von Interesse.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »arminius82« (10.04.2010, 21:14)


2

18.12.2009, 20:24

Hallo und willkommen im Forum

Wenn ich dich richtig verstehe, willst du, dass deine LVM-Partition beim Starten gemountet wird, oder verstehe ich dich da falsch?

Füge doch in deiner /etc/fstab

Quellcode

1
/dev/sda2         /                    <Dateisystem>  defaults        0 1

oder sehe ich da etwas föllig falsch?

Wofür willst du init-Scripte?

Übrigens: Kannst du mal deine grub.conf anhängen.

Wie passiert denn dein Systemstart? Startet es einfach und hängt die root-Partition nicht ein? Oder passiert was anderes?


Tut mir leid, aber mit LVM kann ich dir nicht viel weiterhelfen, ich nutze es selbst nicht.

Zitat

mit LVM-Group (GENTOOFS) und 3 Volumes für SWAP (GENTOOSWAP)
Was damit gemeint ist, weiss ich leider nicht.


4

18.12.2009, 22:39

Cool, Danke!

Die Links scheinen hilfreich zu sein. Werde es gleich mal ausprobieren und dan Bericht erstatten :D .

5

22.12.2009, 17:18

Ich würde mir die Initramdisk einfach vom Genkernel bauen lassen.

Quellcode

1
genkernel --oldconfig --lvm --luks  --no-ramdisk-modules --no-keymap ramdisk
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

6

23.12.2009, 23:55

Habe die initramfs mit genkernel erstellt, nur sagt mir grub beim booten "filesystem type unknown partition type 0x7". Hatt jemand eine Ahnung welche Parameter man in der grub.conf hinzufügen muss damit das ganze funzt.

meine grub.conf:

Quellcode

1
2
kernel /boot/kernel-genkernel-x86-2.6.31-gentoo-r6 dolvm root=/dev/ram0 init=/linuxrc crypt_root=/dev/sda4 real_root=/dev/GENTOO/ROOT
initrd=/boot/initramfs-genkernel-x86-2.6.31-gentoo-r6


sda3 ist /boot
sda4 ist eine verschlüsselte Partition mit der Volume-group GENTOO. Auf GENTOO befinden sich dann die ROOT und die SWAP Volumes

7

24.12.2009, 01:40

Normalerweise sagt der Genkernel zum Schluss, welche Parameter in etwa benötigt werden.

Wie kommst Du eigentlich auf sda4 ?
ist hda2 mit Luks verschlüsselt und der Container beinhaltet das LVM-PV oder ist hda2 ein LVM-PV und ein LVM-Volume ist mit Luks verschlüsselt?
Für zweiten Fall wäre wohl folgende Zeile korrekt:

Quellcode

1
2
kernel /boot/kernel-genkernel-x86-2.6.31-gentoo-r6 dolvm root=/dev/ram0 crypt_root=/dev/mapper/GENTOO-ROOT
initrd=/boot/initramfs-genkernel-x86-2.6.31-gentoo-r6


Für den ersten Fall habe ich keine Ahnung. Du könntest ja das initramfs entpacken und schauen was er da macht. Es gibt dort viele nicht dokumentierte Parameter.

Quellcode

1
2
3
mkdir initramfs
cd initramfs
zcat /boot/initramfs-genkernel-x86_64-2.6.31-gentoo-r6 | cpio -i
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

8

24.12.2009, 09:23

Nee, meine Festplatte sda sieht wie folgt aus:

sda1 -> NTSF
sda2 -> NTFS
sda3 -> boot
sda4 -> verschlüsslte Partition, worauf sich das LVM Sytem befindet (ROOT und SWAP)

das Lvm ist nicht verschlüssel, nur die Partition auf der sich das Ganze befindet
(wie hier http://en.gentoo-wiki.com/wiki/Root_file…-Crypt_and_RAID )
-------------------------------------------------------------------------------------------------

Habe nun das Probem gelöst. War ein kleiner Fehler in der grub.conf.
Jetzt habe ich aber das nächtse Prob. Der Kernel lädt die zusätzlich Module, dann kommt:

Quellcode

1
2
3
4
5
>>Activating mdev
>>Scanning for Volume Groups
>>Activating Volume Groups
>>Determining root device ...
!!Could not find the root block device in.


Die ATA und SATA Unterstützung ist im Kernel integriert und auch EXT3
So langsam habe ich keine lust mehr auf Gentoo.

die fstab

Quellcode

1
2
3
4
5
/dev/sda3               /boot           ext3            defaults,noatime       $
/dev/mapper/GENTOO-ROOT /               ext3            noatime         0 1
/dev/mapper/GENTOO-SWAP none            swap            sw              0 0
/dev/cdrom              /mnt/cdrom      auto            auto,user       0 0
#/dev/fd0               /mnt/floppy     auto            noauto          0 0


die mtab

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
tmpfs / tmpfs rw,relatime 0 0
/dev/sr0 /mnt/cdrom iso9660 ro,relatime 0 0
/dev/loop0 /mnt/livecd squashfs ro,relatime 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
udev /dev tmpfs rw,nosuid,relatime,size=10240k,mode=755 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620 0 0
cachedir /mnt/livecd/lib/splash/tmp tmpfs rw,relatime,size=4096k,mode=644 0 0
tmpfs /mnt/livecd/lib/firmware tmpfs rw,relatime 0 0
tmpfs /mnt/livecd/usr/portage tmpfs rw,relatime 0 0
usbfs /proc/bus/usb usbfs rw,nosuid,noexec,relatime,devgid=85,devmode=664 0 0
/dev/mapper/GENTOO-ROOT / ext3 rw,relatime,errors=continue,data=writeback 0 0
/dev/sda3 /boot ext3 rw,relatime,errors=continue,data=writeback 0 0
none /proc proc rw,relatime 0 0
udev /dev tmpfs rw,nosuid,relatime,size=10240k,mode=755 0 0




Wünsche allen ein frohes Fest !!!

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »arminius82« (24.12.2009, 10:30)


9

24.12.2009, 11:39

Habe es nun endlich geschaft, das Gentoo-Grundsystem steht und funzt. :D
Komischer weisse heisst meine Festplatte nun hda. ?(

Werde denächst mal eine ausführlich Anleitung hier reinstellen.

10

24.12.2009, 13:21

Kannst Du evtl. auch verraten, wie Du es gelöst hast?

Bezüglich der Benennung hda/sda: Im Kernel gibt es die alten "ATA/ATAPI" Contoller Treiber (->hda) und die neuen "S-ATA/P-ATA" Treiber (->sda). Du solltest dich für eins davon entscheiden. Empfohlen werden natürlich die neuen PATA Treiber.
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

11

29.12.2009, 15:29

habe noch den alten ATA/ATAPI Treiber benutzt, da dieser als Standard im Kernel aktiviert war. Das Ganze funz aber auch mit den neuen SATA-Treiber man muss dann nur die Boot-Option für den Grub ändern.

crypt_root=/dev/sdaX.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »arminius82« (29.12.2009, 15:48)


12

30.12.2009, 12:19

Gentoo verschlüsselt installieren mit Cyptsetup und LVM

Partionstabelle: Bsp
sda1: /boot
sda2: Verschlüsslete Partition (ohne File-System) mit den LVM, LVM-Group: '"GENTOO"
LVM-Group "GENTOO" mit Volumes: "SWAP", "ROOT" eventuell "HOME" usw.

Vorteil dieser Partitionierung
  • verschlüsselte Swap, Home, Root usw.
  • einmalige Passwortabfrage beim Booten um alle Parts zu entschlüsseln


erstellen der /boot und der verschlüsselten Partition:

Quellcode

1
2
fdisk /dev/hda
mkfs.ext3 /dev/hda1


Cryptsetup:

Quellcode

1
2
cryptsetup -y --cipher aes-cbc-essiv:sha256 -s 256 luksFormat /dev/hda2
cryptsetup luksOpen /dev/hda2 MAIN


LVM-System mit den Volumes ROOT und SWAP

Quellcode

1
2
3
4
5
6
7
8
pvcreate /dev/mapper/MAIN
vgcreate vg /dev/mapper/MAIN
lvcreate -L1024M -nSWAP GENTOO
lvcreate -l100%FREE -nROOT GENTOO
lvscan
mkfs.ext4 /dev/mapper/GENTOO-ROOT
mkswap /dev/mapper/GENTOO-SWAP
swapon /dev/mapper/GENTOO-SWAP


Nun weiter nach Handbuch.

Kernel-Konfiguration:
Ich benutze hierfür das genkernel-Script da dies alle Schritte voll automatisch ausführt.
die Option "--menuconfig" ermöglicht es, den Kernel selbst an die Hardware anzupassen.

Quellcode

1
genkernel --lvm --luks --menuconfig all


Die folgenden Kernel-Optionen sollten im Kernel integriert (markiert mit *) werden.

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 File systems  --->
   <*> Second extended fs support
   <*> ext3 support
   <*> ext4 support
 Device Drivers  --->
   Block devices  --->
     <*> Loopback device support
     <*>   Cryptoloop Support
     (8182) Default RAM disk size (kbytes)
     [*]   Initial RAM disk (initrd) support
   Multi-device support (RAID and LVM)  --->
     <*>   Device mapper support
     <*>     Crypt target support
 Cryptographic options  --->
    <*>   SHA256 digest algorithm
    <*>   AES cipher algorithms (i586)
    <*>   Blowfish cipher algorithms


Wichtig für spätere Einstellung der grub.conf:
Entweder ATA/ATAPI für hdaX Bezeichungen oder SATA für sdaX Bezeichungen (beide Treiber gleichzeitig funktionieren nicht)

Quellcode

1
2
3
4
 Device Drivers  --->
   <*> ATA/ATAPI/MFM/RLL support  --->
     [ ]   Support for SATA
     <*> generic ATA/ATAPI disk support


fstab: /etc/fstab
die fstab sollte unbedingt vor der initramfs konfiguriert werden da sonst gar nichts funktioniert.

Quellcode

1
2
3
4
/dev/hda1         /boot     ext3      default,noatime  1 2
/dev/mapper/GENTOO-ROOT  /         ext4  noatime   0 1
/dev/mapper/GENTOO-SWAP  none      swap      sw        0 0
/dev/cdrom   /mnt/cdrom   auto   auto,user   0 0


Erstellen des initramfs:
Damit der Kernel mit den verschlüsselten Partitionen arbeiten kann benötigt man ein Init-Script, welches in die initramfs integriert wird.
Hierfür benutze ich wieder das genkernel-Script. Man kann das ganze auch per Hand erstellen.

Vorbereitung:
Statisches kompilieren von cryptsetup, busybox und lvm2

Quellcode

1
USE="static" emerge lvm2 cryptsetup busybox


Quellcode

1
genkernel --lvm --luks ramdisk


Grub
Wichtig sind die Optionen dolvm (LVM-Unterstützung) und crypt_root.
crypt_root ist die verschlüsselte Partition, nicht die Root-Partition.
Entscheidend ist hier die gewählte Option im Kernel bzgl. SATA oder ATA (hdaX oder sdaX) Allenfalls bekommt man die Fehlermeldung: "Could not find the root block device in."

Quellcode

1
2
3
4
5
6
7
8
default 0
timeout 5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title Gentoo Linux 2.6.31-r6
root (hd0,0)
kernel /boot/kernel-genkernel-x86-2.6.31-gentoo-r6 dolvm root=/dev/ram0 init=/linuxrc ramdisk=8192 crypt_root=/dev/hda2 real_root=/dev/mapper/GENTOO-ROOT vga=0x318
initrd /boot/initramfs-genkernel-x86-2.6.31-gentoo-r6


Fertig !!!

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »arminius82« (06.01.2010, 13:26)


13

30.12.2009, 15:47

Fertig !!!
Hehe,
danke auch noch für die abschließende Zusammenfassung (inklusive Stolpersteine) :thumbup:

Eine Frage, nur so aus Interesse:
Was mir so beim überfliegen auffiel, du verschlüsselst auch die SWAP
Vermutlich klappt da so ohne weiteres doch kein "Suspend to Disk"
mehr, oder?

14

01.01.2010, 20:26

Die Swap habe ich mit verschlüsselt da es auch hier möglich ist Daten auszulesen.
Ob "Supend to Disk" für die verschl. Swap Partition auch unter Gentoo funzt kann ich dir gar nicht sagen.
Unter Ubuntu funzt das Ganze auf alle Fälle. Bei Gentoo ist das bestimmt irgendeine Option im Kernel.

15

01.01.2010, 21:34

Meines Wissens muss für Suspend2Disk mit LVM oder Crypt irgendwas in der initramfs gemacht werden. Genkernel kann es leider noch nicht.
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

16

01.01.2010, 21:54

Ja eine initrd für so ein System (inkl. LVM Crypt usw) manuell zu bauen ist wohl schon eine "Kunst" für sich...

Off-Topic
initrd bau
Wer sich ein wenig für die Funktionsweise einer initrd interessiert wofür sie überhaupt da ist usw
Hier wurde einiges mal recht gut beschrieben..

Danke für eure Info