Debian Remote Installer
Es kann immer mal passieren, dass man ein System mit einer bestimmten Vorkonfiguration verwalten muss. Bei Manitu kann man z.B. zwischen verschiedenen Paritionierungssettings wählen, bevor man den Server bestellt. Aber wenn mein keins der vorgeschlagenen Settings gefällt ist noch nicht alles verloren.
Debian kann auch auf entfernten Geräten neu installiert werden, z.B. für ein Setup mit verschlüsselten Laufwerken und/oder LVM, abweichender RAID-Konfiguration, etc.Zunächst ist die sources.list
anzupassen:
# /etc/apt/sources.list
deb http://ftp.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.debian.org/debian/ squeeze main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free
Anschließend werden die benötigten Pakete installiert:
apt-get install dpkg-dev gnupg
apt-get source debian-installer
apt-get build-dep debian-installer
Nun ist die build-config
anzupassen:
# debian-installer-20110106+squeeze4/build/pkg-lists/netboot/amd64.cfg
#include "network-console"
Die neue Zeile wird an den Anfang der Datei gestellt. Das ``# ist zwingend notwendig.
Anschließend wird eine preseed-config
erstellt:
# /tmp/preseed.cfg
d-i debian-installer/locale string en_US
d-i debconf/priority select critical
d-i auto-install/enabled boolean true
d-i netcfg/choose_interface select eth0
d-i netcfg/disable_dhcp boolean true
d-i netcfg/get_nameservers string 192.168.2.3
d-i netcfg/get_ipaddress string 192.168.2.25
d-i netcfg/get_netmask string 255.255.255.0
d-i netcfg/get_gateway string 192.168.2.1
d-i netcfg/confirm_static boolean true
d-i netcfg/get_hostname string myserver
d-i netcfg/get_domain string myhome.none
d-i network-console/password password foobar
d-i network-console/password-again password foobar
Es folgt eine weitere build-config
:
# debian-installer-20110106+squeeze4/build/config/local
PRESEED=/tmp/preseed.cfg
USE_UDEBS_FROM=squeeze
Nach einem Wechsel in das build
-Verzeichnis wird das netboot-Image erzeugt:
cd debian-installer-20110106+squeeze4/build/
fakeroot make rebuild_netboot
Die so erzeugten Images werden nun in das /boot
-Verzeichnis kopiert:
cp dest/netboot/debian-installer/amd64/linux /boot/debian-installer
cp dest/netboot/debian-installer/amd64/initrd.gz /boot/debian-installer-rd.gz
Abschließend wird die grub-Config
angepasst:
# /boot/grub/menu.lst
title debian installer
root (hd0,1)/
kernel /debian-installer rw ramdisk_size=24000 root=/dev/rd/0
initrd /debian-installer-rd.gz
Der Eintrag muss vor allen weiteren Boot-Konfigurationen eingefügt werden (direkt unter End Default Options
).
Anschließend kann das System neu gestartet werden. Der Login muss dann mit dem Benutzer installer
und dem in der preseed.cfg
gewählten Kennwort erfolgen. Die Installation ist ab diesem Moment identisch mit einer Debian-Installation von einer netboot-CD.