Installation ohne sysinstall

raina

Well-Known Member
Hallo,
Beim Versuch nach dieser Anleitung oder jener hier ein System auf einer geli-verschlüsselten HD mit /boot auf USBpen aufzusetzen komm ich nicht weiter, weil einige entscheidende Schritte nicht beschrieben sind.
Das Handbuch schildert leider nur die Installation mit sysinstall.

Um also zu verstehen, welche Schritte im einzelnen nötig sind, um ein bootfähiges System auf z.B. einen USBpen zu installieren, suche ich ein HowTo für eine minimale Installation im Fixit-mode von der 7.1-RELEASE-DVD, muß nicht für Verschlüsselung sein, mir geht's ums Verständnis der einzelnen Schritte (Kernel & Bootloader installieren, root-password, ...) bis zum login-Prompt. Eben was sonst sysinstall tut.
 
Leider nicht, denn:
Zitat: (Diese Seite enthält momentan noch keinen Text)
:D

Aber vielleicht beschreibe ich mal einfach, was ich bisher getan habe, vielleicht fehlt ja nur ein kleiner Schritt (erstmal nur ohne Verschlüsselung ein kleines FreeBSD auf USBpen installieren):
Code:
Fixit# dd if=/dev/zero of=/dev/da0 bs=1m
Fixit# fdisf -i[CODE]...
Information from DOS bootblock is:
1: sysid 165 (0xa5), (FreeBSD,/NetBSD/386BSD)
      start 63, size 4016187 (1961 Meg), flag 80 (active)
            beg: cyl 0/ head 1/ sector 1;
            end: cyl 249/ head 254/ sector 1;
2: <UNUSED>
3: <UNUSED>
4: <UNUSED>
Should we write new partition table? [n] y
fdisk: GEOM not found: "da0"
Fixit# ls /dev | grep da
da0
da0s1
Fixit# bsdlabel -w /dev/da0s1
Fixit# bsdlabel -e /dev/da0s1
Code:
# /dev/da0s1:
8 partitions:
#        size       offset       fstype      [fsize       bsize       bps/cpg]
    a:     *         16           4.2BSD         0            0
    b:  100M           *           swap
    c:     *           *         unused
Fixit# ls /dev | grep da
da0
da0s1
da0s1a
da0s1b
da0s1c
Fixit# newfs /dev/da0s1a
Fixit# mkdir /mnt/pen
Fixit# mount /dev/da0s1a /mnt/pen
Fixit# export DESTDIR=/mnt/pen
Fixit# cd /dist/7.1_RELEASE/base
Fixit# ./install.sh
You are about to extract the base distribution into /mnt/pen - are you SURE
you want to do this over your installed system (y/n)? y

Fixit# cd ../kernels
Fixit# ./install.sh GENERIC
Fixit# rmdir /mnt/pen/boot/kernel
Fixit# mv /mnt/pen/boot/GENERIC /mnt/pen/boot/kernel
Fixit# echo "/dev/da0s1a / ufs rw 1 1" >> /mnt/pen/etc/fstab
Fixit# echo "/dev/da0s1b none swap sw 0 0" >> /mnt/pen/etc/fstab
Fixit# cat /mnt/pen/etc/fstab
/dev/da0s1a / ufs rw 1 1
/dev/da0s1b none swap sw 0 0
Fixit# sync
Fixit# exit
[/CODE]

dann exit install, DVD raus und reboot.
Als Boot Device USB Hard Disk ausgewählt, aber:
Code:
missing operating system
Erscheint mir ja auch logisch, weil kein Bootloader installiert ist.
Leider fehlt mir genau dafür die Anleitung. Oder hab ich noch mehr ausgelassen? :gpaul:

Was problemlos geht, ist per sysinstall ein System auf den selben Stick aufzuspielen und zu booten.
 
Dir fehlen beide Stufen des Bootcodes. Du installierst weder den Bootcode vor dem MBR per fdisk(8), noch den Bootcode des BSDLabel mit bsdlabel(8).
 
Danke, das war der Fehler, mit den -B Flags geht's. Hatte eher in Richtung eines eigenständigen Installers gesucht.

Leider weigert sich geli das verschlüsselte Device zu attachen. Es erscheint die Aufforderung die passphrase einzugeben und dann pasiert nichts. Scheint ein alter Bug zu sein, den es schon in 6.1 gab:
http://www.proportion.ch/index.php?page=comment&paragraph=43
War der zwischenzeitlich mal beseitigt?
 
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.
 
[gelöst]

Danke, aber die Installation an sich ist schon geklärt. Für das Problem mit der Passphrase hab ich mal einen eigenen Thread eröffnet, weil es mit der Installation an sich nichts mehr zu tun hat.
 
Back
Top