Login
Immer anmelden
SSL Login

 
Newsletter
Werbung
Shopping
International Shopping
 
 


Yatego Shopping bei über 10000 Händlern und über
3 Mio. Artikel.


Linux

:

Linux-Bücher

Handy
Shop

  und Computer.

Viele Services

:

Apple iPad Reader,


Ratgeber,

 

Techniktops,

 

Yatego Clicks

  & über 3000

Gutscheine.

 
So, 26. April 2009, 00:00

Gentoo Linux mit Festplattenverschlüsselung

Installation eines Grundsystems mit Festplattenverschlüsselung

tar xjpfv stage3-amd64-20090326.tar.bz2
tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr

Wechsel in das System mit chroot:

mount -t proc none /mnt/gentoo/proc
mount -o bind /dev /mnt/gentoo/dev
mirrorselect -i -o >> /mnt/gentoo/etc/make.conf
cp /etc/resolv.conf /mnt/gentoo/etc

Wählen Sie mit mirrorselect einen Mirror in Ihrer Nähe. wenn Sie einen Proxy haben, müssen Sie vorher eingeben: export http_proxy=http://<ip-adresse>:<port>. Wenn Sie WLAN nutzen wollen, bitte im Abschnitt WLAN weiter hinten nachschauen.

chroot /mnt/gentoo
env-update
source /etc/profile
ping www.gentoo.org

Sollte der Ping nicht erfogreich sein, können Sie mit der Installation nicht fortfahren!

emerge-websync

Dies kann eine Weile dauern, hier werden aktuelle Dateien heruntergeladen.

Nun kann man make.conf anpassen: nano -w /etc/make.conf. Die Gentoo-Seite erklärt das ausführlich. Ein Beispiel:

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -pipe"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j 3"
INPUT_DEVICES="keyboard mouse evdev"
USE="apci sse sse2 -ipv6 -gnome -kde -qt3 -qt4 gtk java X dbus hal \
 startup-notification xscreenserver"
LINGUAS="de en"

In den MAKEOPTS kann man mit der Option -j die Compilierung beschleunigen, indem man dahinter die Anzahl der CPU-Kerne plus 1 angibt.

Einstellungen für das System vornehmen

cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime

Editieren von /etc/locale.gen: Die Zeile »deDE@euro ISO8859-15« sollte aktiviert werden.

nano -w /etc/locale.gen
locale-gen

In /etc/conf.d/keymap setzen wir KEYMAP auf »de«. In /etc/env.d/02locale ändern wir zwei Zeilen:

LANG="de_DE"
LC_COLLATE="C"

In /etc/conf.d/clock setzen wir

CLOCK="local" 

Außerdem setzen wir Datum und Uhzeit, falls notwendig. Das Format ist MMTTHHMMJJJJ. Für den 02.04.2009 12:13:00 schreiben wir also:

date 040212132009

Wir machen weiter mit dem Installieren eines Editors, hier vim:

env-update
source /etc/profile
emerge vim

Mit diesem Kommando hält man das System auf einem aktuellen Stand:

emerge-websync
emerge --update --deep world

Wir richten gcc ein:

gcc-config x86_64-pc-linux-gnu-4.3.2

Nun legen wir den Rechnernamen fest. Dazu editieren wir /etc/conf.d/hostname und tragen z.B. HOSTNAME="gentoo" ein. In /etc/hosts ändern wir die Localhost-Zeile:

127.0.0.1 localhost gentoo

Kernel laden und kopilieren

emerge gentoo-sources
cd /usr/src/linux
make menuconfig

Im Menü machen wir folgende Einstellungen:

File systems --->
 <M> Second extended fs support
 <*> Ext3 support
Device Drivers --->
 Block devices --->
 <*> Loopback device support
 <*> Cryptoloop Support
 (16384) Default RAM disk size (kbytes)
 &#91;*&#93; Initial RAM disk (initrd) support
 Multi-device support (RAID and LVM) --->
 <*> Device mapper support
 <*> Crypt target support
Cryptographic options --->
 <*> SHA256 digest algorithm
 <*> SHA512
 <*> AES cipher algorithms
 <*> blowfish
 <*> lrw

Wichtig ist, die Treiber für den Massenspeicher und dessen Controller nicht zu vergessen, der fest eingebunden werden muss.

make && make modules_install
cp arch/x86_64/boot/bzImage /boot/kernel-2.6.27-gentoo-r8

Die Kernel Version kann sich ändern, ebenso wie die Release-Version (z.B. R10). Die Version steht in der Dateu Makefile.

Bootloader installieren

Ohne einen Bootloader kann das Betriebssystem nicht starten.

emerge grub

Anpassen der Datei /boot/grub/grub.conf:

default 0 splashimage=(hd0,0)/boot/grub/splash.xpm.gz root (hd0,0)
kernel /boot/kernel-2.6.27-gentoo-r8 root=/dev/mapper/rootfs
initrd /boot/initramfs-2.6.27-gentoo-r8

Noch eine Vorbereitung, dann können wir grub installieren:

grep -v rootfs /proc/mounts > /etc/mtab
grub-install /dev/sda

In /etc/fstab wird festgelegt, welche Dateisysteme an welche Mountpoints gemountet werden.

/dev/sda1 /boot ext3 noatime 1 2
/dev/mapper/rootfs / ext3 noatime 1 2
/dev/mapper/swapfs none swap sw 0 0
/dev/cdrom /mnt/cdrom auto noauto,ro 0 0
shm /dev/shm tmpfs nodev,nosuid,noexec 0 0

Initramfs erzeugen

Die Initial RAM-Disk ist notwendig, um die verschlüsselte Root-Partition zu entschlüsseln und dann von der Festplatte zu booten.

emerge gpm
rc-update add gpm default
emerge -uav udev
env-update
source /etc/profile
USE="static" emerge cryptsetup
USE="static" emerge -av busybox

Wer seine Schlüsseldatei in einem Bild verstecken bzw. mit einem verschlüsselten USB-Stick arbeiten will, führt noch folgendes aus:

USE=static emerge bzip2
USE=static emerge coreutils

Diese Programme müssen statisch compiliert sein, da sie sonst nicht in der initramfs-Umgebung funktionieren. Daher das USE=static.

mkdir /root/initramfs
cd /root/initramfs
mkdir {bin,dev,mnt,new-root,proc,sys,sbin}
mknod --mode=0660 dev/null c 1 3
mknod --mode=0600 dev/console c 5 1
cp /bin/busybox.static bin/busybox
cp /sbin/cryptsetup bin
cp /usr/bin/bzip2recover bin # Wenn man die Schlüsseldatei verstecken will
cp /bin/sort bin/sort2
cd bin
ln -s busybox sh
ln -s busybox mount

Init-Script anlegen

Das Skript wird in der Datei init gespeichert.

Ohne Schlüsseldatei

#!/bin/sh
export PATH=/bin
umask 0077
mount -t proc proc /proc
mount -t sysfs sysfs /sys
mount -t tmpfs tmpfs /dev
busybox --install -s
echo /bin/mdev > /proc/sys/kernel/hotplug
mdev -s
sleep 2
while &#91; ! -e /dev/sdb1 &#93; ; do
 cd /dev
 /bin/busybox mknod sdb1 b 8 17
 chmod 666 sdb1
done
while ! mount -n -o ro /dev/sdb1 /mnt ; do
 sleep 2
done
# tty fix
rm /dev/tty
ln -s /dev/console /dev/tty
while &#91; ! -e /dev/mapper/rootfs &#93; ; do
 sleep 2
 while &#91; ! -e /mnt/image88.jpg &#93; ; do
 echo Keyfile not found!
 done
 cryptsetup -c aes-lrw-benbi:sha512 luksOpen /dev/sda5 rootfs -d
/mnt/image88.jpg
done
mount /dev/mapper/rootfs /new-root
cryptsetup -c blowfish -h sha256 -d /dev/urandom create swapfs /dev/sda2
mkswap /dev/mapper/swapfs
echo > /proc/sys/kernel/hotplug
umount -l /mnt /proc /sys /dev
exec switch_root /new-root /sbin/init
Pro-Linux
Newsletter
Neue Nachrichten