Debian aus laufendem Linux heraus installieren

Heute habe ich mir vorgenommen parallel zu meinem laufendem Arch Linux ein Debian-System aufzusetzen. Da ich mir zu langes Herumgefrickel auf einem System ohne Desktop sparen wollte, sollte es nicht komfortable menügetriebene Standardinstallation von Debian werden. Ziel war auch gleich die fstab und die Benutzerkonten des laufenden Systems übernehmen zu können.

Prinzipiell gibt es für dieses Thema schon eine offizielle Anleitung, aber ich will hier trotzdem mal meine Schritte festhalten.

Vorbereitungen

Zuerst gilt es für Debian eine Root-Partition vorzubereiten. Ich verwende LVM also ist das recht unkompliziert. Zuerst zwacke ich von meiner Volume Group hdd-neu 50 GB für ein neues Volume namens “debian” ab (man gönnt sich ja sonst nichts).

lvcreate -L 50G -n debian hdd-neu

Dann erzeuge ich auf der neuen Partition ein ext3 Dateisystem

mke2fs -j /dev/hdd-neu/debain

Anschließend mounte ich die neue Partition nach /mnt/debinst

cd /mnt
mkdir debinst
mount /dev/hdd-neu/debain debinst

Als nächstes muss man sich irgendwo her das Debian-Installationstool namens debootstrap besorgen. Für Arch-Nutzer gibt es dazu ein Package in den AUR.

Installation von Debian

Wenn man debootstrap erfolgreich installiert hat kann man mit der Installation des Debian-Basissystems beginnen.

debootstrap --arch amd64 squeeze /mnt/debinst http://ftp.hosteurope.de/mirror/ftp.debian.org/debian/

Kopieren der Konfigurationsdateien

Nun kann man die fstab des laufenden Systems kopieren und Anpassungen vornehmen wie die den Mountpunkt von / zu ändern.

cp /etc/fstab /mnt/debinst/etc/fstab

Jetzt kann man auch die Login-Daten kopieren. Man sollte vorher aber vielleicht noch eine Sicherungskopie der Original Debian Gruppen- und Nutzerdaten anfertigen.

cp /etc/passwd /etc/shadow /etc/group /mnt/debinst/etc/

Es ist natürlich nützlich auf dem neuen System Netzwerkzugriff zu haben. Da ich mir nicht sicher bin welcher meiner beiden Netzwerkkarten welcher Nummer zugeordnet wird habe ich einfach mal meine beide für DHCP konfiguriert. So sieht meine /mnt/debinst/etc/network/interfaces dann aus:

# Used by ifup(8) and ifdown(8). See the interfaces(5) manpage or
# /usr/share/doc/ifupdown/examples for more information.

#To use dhcp:
#
auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet dhcp

Damit man auch weiß auf welchem System man arbeitet lohnt es sich im neuen System einen entsprechenden Hostnamen zu setzen.

echo DebianHostName > /mnt/debinst/etc/hostname

Es ist sicherlich sinnvoll für Security-Updates folgende zwei Zeilen in der /mnt/debinst/etc/apt/sources.list hinzuzufügen

deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main

Installation von Anwendungen

Jetzt ist es an der Zeit einen chroot in das neue Debian-System durchzuführen.

LANG=C chroot /mnt/debinst /bin/bash
export TERM=xterm-color

Um später auf der Konsole des neuen System nicht mit einer kryptischen Tastenbelegung hantieren zu müssen lohnt es sich noch locales und console-data zu installieren.

aptitude install locales
dpkg-reconfigure locales
aptitude install console-data
dpkg-reconfigure console-data

Es wird Zeit auf dem neuen System einen Kernel zu installieren. Ich habe mich für den einfachen amd64-Kernel entschieden.

apt-get install linux-image-amd64

Jetzt wäre ich eigentlich fertig. Aber ich hätte gerne noch einen laufenden Desktop, z.B. Xfce wenn ich das neue System starte:

aptitude install xfce4 xfce4-goodies

Und dazu kommt noch GDM als Display Manager

aptitude install gdm

Damit GDM auch gleich startet sollte man in /etc/inittab noch das default runlevel auf 5 setzen.

Debian-Root im LVM

Mein Debian-Root liegt ein einem Logical Volume weswegen eine zusätzliches Skript beim booten mit ausgeführt werden muss. Dazu muss auch eine neue Ramdisk erstellt werden.

cp /usr/share/initramfs-tools/scripts/local-top/lvm2 /etc/initramfs-tools/scripts/local-top/
dpkg-reconfigure linux-image-2.6.32-5-amd64

Vorbereitungen für den ersten Start von Debian

Es ist an der Zeit, sich aus dem Debain-chroot zu verabschieden und in das zur Zeit laufende Linux-System zurück zu kehren. Dann musste ich noch die für den Bootvorgang benötigten Dateien aus dem /boot-Verzeichnis des Debian-chroots in mein echtes /boot-Verzeichnis kopieren. Vorher unbedingt auf Namenskonflikte prüfen!

cp /mnt/debinst/boot/* /boot

Zum Schluss muss ich Grub noch zeigen, wo er Debian findet. Dazu lege ich zunächst der Übersicht halber zwei symbolische Verknüpfungen in /boot an.

ln -s vmlinuz-2.6.32-5-amd64 vmlinuz-debian
ln -s initrd.img-2.6.32-5-amd64 initrd-debian

Danach füge ich die folgenden Zeilen in meine /boot/grub/menu.lst ein.

title Debian
root (hd0,5)
kernel /vmlinuz-debian root=/dev/mapper/hdd--neu-debian ro nomodeset
initrd /initrd-debian

Jetzt noch den neuen Bootloader schreiben und fertig ist die Sache.

grub-install /dev/sda

Bei einem Neustart des Rechners sollte man jetzt erfolgreich das neue Debian booten können.

Leave a Reply

Your email address will not be published. Required fields are marked *