Mahlzeit und nachträglich noch ein extrem verspätetes prosit Neujahr an alle im Board.
@raina:
Also auf meinem Thinkpad R32 wird von USB-Stick gebootet und der Kernel mountet alle verschlüsselten UFSe erfolgreich. Derzeit läuft alles noch auf FBSD 6.3. Ehrfahrung mit anderen FBSD Versionen habe ich bzgl. der Problematik nicht.
So schaut's aus:
$mount
Code:
/dev/ad0s3a.eli on / (ufs, local, soft-updates)
/dev/ad0s2d.eli on /usr/home/mk/dbackup (ufs, local, soft-updates)
$swapinfo
Code:
Device 1K-blocks Used Avail Capacity
/dev/ad0s2b.eli 786432 0 786432 0%
$dmesg -a
Code:
...ad0: 38154MB <HTS424040M9AT00 MA2OA71A> at ata0-master UDMA100
Enter passphrase for ad0s2d: da0 at umass-sim0 bus 0 target 0 lun 0
da0: < USB DISK 2.0 PMAP> Removable Direct Access SCSI-0 device
da0: 1.000MB/s transfers
da0: 982MB (2011136 512 byte sectors: 64H 32S/T 982C)
GEOM_ELI: Device ad0s2d.eli created.
GEOM_ELI: Encryption: AES-CBC 128
GEOM_ELI: Crypto: software
Enter passphrase for ad0s3a:
GEOM_ELI: Device ad0s3a.eli created.
GEOM_ELI: Encryption: AES-CBC 128
GEOM_ELI: Crypto: software
acd0: DVDROM <HITACHI DVD-ROM GD-S250/0012> at ata1-master UDMA33
Trying to mount root from ufs:ad0s3a.eli
Loading configuration files.
Entropy harvesting:
interrupts
ethernet
point_to_point
kickstart
.
GEOM_ELI: Device ad0s2b.eli created.
GEOM_ELI: Encryption: AES-CBC 256
GEOM_ELI: Crypto: software
swapon: adding /dev/ad0s2b.eli as swap device
Starting file system checks:
/dev/ad0s3a.eli: FILE SYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s3a.eli: clean, 4506406 free (130206 frags, 547025 blocks, 1.5% fragmentation)
/dev/ad0s2d.eli: FILE SYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s2d.eli: clean, 2312556 free (24 frags, 578133 blocks, 0.0% fragmentation)
Mounting local file systems:
...
Auf die oben genannten How Tos gehe ich nicht ein, nur hier ganz kurz in Steno, wie das System aufgesetzt wurde:
* Basissystem (/boot, /, z.B. in ein FS installieren)
* die zukünftig zu verschlüsselnden Slices (in dem Fall für /, /backup) mit Geli vorbereiten und die Schlüssel unter /boot z.B. in /boot/keys ablegen
In /boot/loader.conf die verschlüsselten Slices und Keys bekannt machen:
Code:
...
geom_eli_load="YES"
geli_ad0s3a_keyfile0_load="YES"
geli_ad0s3a_keyfile0_type="ad0s3a:geli_keyfile0"
geli_ad0s3a_keyfile0_name="/boot/keys/ad0s3a.key"
geli_ad0s2d_keyfile0_load="YES"
geli_ad0s2d_keyfile0_type="ad0s2d:geli_keyfile0"
geli_ad0s2d_keyfile0_name="/boot/keys/ad0s2d.key"
boot_dfltroot="YES" #in Kernel compiliertes rfs
...
Kernel Konfiguration anpassen indem folgende Zeile am Ende eingetragen wird:
Code:
options ROOTDEVNAME=\"ufs:ad0s3a.eli\"
Kernel übersetzen und installieren.
Bis jetzt spielte sich alles auf der Festplatte ab!
* jetzt wird /boot auf den USB Stick umgezogen:
* Boot-Stick mit einer Partition konfigurieren.
* Mit "fdisk -B" Loader/Stage-1 Boot-Code in MBR des Stick schreiben (s. man fdisk)
* mit "bsdlabel -B -w" ein Slice über gesamte Partition benutzen und Stage-2 Bootcode in MBR der Slice schreiben (s. man bsdlabel)
* ufs auf Slice errichten und fs in temporäres Verzeichnis montiert
* mit "cp -Rp /boot /tmpmountusbstick/" in die Partition kopieren
* damit ist der Stick fertig und kann wieder abmontiert werden
*/etc/fstab anpassen:
Code:
/dev/ad0s2b.eli none swap sw 0 0
/dev/ad0s3a.eli / ufs rw 1 1
/dev/ad0s2d.eli /home/mk/dbackup ufs rw 2 2
* auf den verschlüsselten Partitionen (sind derzeit geli bekannt da erzeugt und angemeldet), ufs drauf errichten, in temporäres Verzeichnis mounten und die Daten der orginalen Fse überspielen; in dem Fall also:
Code:
$mkdir /r2
$mount /dev/ad0s3a.eli on /r2
$cd /
$cp -Rp * /r2
$mkdir /dbackup2
$mount /dev/ad0s2d.eli /dbackup2
$cd /usr/home/mk/dbackup
$cp -Rp * /dbackup2
Die Datenpartitionen wären somit auch abgeglichen und können wieder demontiert werden.
* Hm swap, habe ich vergssen; das Swap-Device einmalig mit geli mit one-time-Verschlüsselung erzeugen (oder wie sich das nennt, s. man geli)
---
Nun System neu starten, im Bios den Stick als erstes Boot-Device bekannt machen und das System hochfahren.
Wenn der Kernel geladen wurde, werden die Passphrasen für die jew. Filesysteme abgefragt. Dann wird alles ordnungsmäß gemountet und FBSD erstrahlt wieder in seiner ganzen Schönheit.
---
Dass die Installationsprodezur NICHT perfekt ist (boot-Device in Kernel kompiliert (anders habe ich es zu dem Zeitpunkt nicht hinbekommen), Quellpartitionen sollten besser ro umkopiert werden etc.), ist klar. Vielleicht mache ich mir noch mal die Mühe das auf 7.1 zu prüfen bzw. etwas einfacher zu gestalten, wenn das möglich ist.