Login
Newsletter
Werbung

Do, 1. Dezember 2011, 15:00

KVM ab USB-Stick in 30 Sekunden

Server-Virtualisierung für die Hosentasche direkt ab USB-Stick

Automatisierung

Der Installer von ArchivistaVM wurde in Perl (objektorientiert) realisiert. Das Anpassen des Setup-Programmes dürfte für einigermassen kundige Perl-Programmierer keine grossen Schwierigkeiten darstellen. Bevor Sie aber daran gehen, die initrd.img-Datei und das Setup-Programm install.pl selber zu editieren, sei auf die bereits vorhandenen Start-Optionen verwiesen.

ArchivistaVM arbeitet beim Booten mit Syslinux bzw. ab CD-ROM mit Isolinux. Dazu existieren die beiden Dateien syslinux.cfg sowie isolinux.cfg direkt im Hauptverzeichnis der initrd.img. Diese Datei finden Sie in der ersten Partition des USB-Sticks. Betrachten wir zunächst einmal diese mitgelieferten Dateien:

DEFAULT linux
TIMEOUT 100

PROMPT 1
DISPLAY boot.msg

label linux
kernel vmlinuz
APPEND initrd=initrd.img quiet ramdisk_size=81920

label ram
kernel vmlinuz
APPEND initrd=initrd.img quiet ram ramdisk_size=2097152

label ram4g
kernel vmlinuz
APPEND initrd=initrd.img quiet ram ramdisk_size=4194304

label debug
kernel vmlinuz
APPEND initrd=initrd.img ramdisk_size=81920

label box244
kernel vmlinuz
APPEND initrd=initrd.img quiet ram ramdisk_size=4194304 keyboard.de_CH lang.de auto ip.192.168.2.244 submask.255.255.255.0 gw.192.168.2.1 dns.192.168.2.1 ramdisk

label box245
kernel vmlinuz
APPEND initrd=initrd.img quiet ram ramdisk_size=4194304 keyboard.de_CH lang.de auto ip.192.168.2.245 submask.255.255.255.0 gw.192.168.2.1 dns.192.168.2.1

label box246
kernel vmlinuz
APPEND initrd=initrd.img quiet ram ramdisk_size=4194304 keyboard.de_CH lang.de auto ip.192.168.0.246 submask.255.255.255.0 gw.192.168.0.2 dns.192.168.0.2 ramdisk

label box247
kernel vmlinuz
APPEND initrd=initrd.img quiet ram ramdisk_size=4194304 keyboard.de_CH lang.de auto ip.192.168.0.247 submask.255.255.255.0 gw.192.168.0.2 dns.192.168.0.2

Nun einige Informationen zu dieser Datei. Zunächst wird beim Booten zehn Sekunden gewartet, bis der Start erfolgt. Dies ist etwas missverständlich, aber gerechnet wird in Zehntel-Sekunden. Wenn Sie eine Minute warten möchten, dann wäre TIMEOUT auf 600 zu setzen. Mit DEFAULT legen Sie die Standard-Startparameter fest. Wenn Sie z.B. möchten, dass immer im RAM-basierten Modus gestartet wird, tragen Sie bei Default ram ein.

Spannend sind weiter die Sets box244, box245, box246 sowie box247. Sie finden dort vier automatisierte Startups, welche das System automatisiert hochfahren. Zentral ist dabei auto. Damit wird erreicht, dass das Setup-Programm keine Fragen mehr stellt. Und in diesem Modus (kombiniert mit einem Setup anlaog zu den Sets box244 bis box247) ist ein Server in 30 Sekunden ab einem einigermassen schnellen USB2-Stick startklar.

Es gibt weitere Parameter, diese finden sich direkt im Setup-Programm install.pl unter der Funktion sub cmdline.

Telnet-Zugriff bei Problemen

Am Ende des Setups wird ein SSH-Server gestartet, sodass auf ArchivistaVM problemlos auf der Konsole zugegriffen werden kann. Was aber, wenn das System vor dem Starten des SSH-Servers hängenbleibt? In einem solchen Falle kann mit ram das Setup-Programm gestartet werden. Anstatt den Anweisungen danach Folge zu leisten, wird das Programm abgebrochen. Sie gelangen zur Konsole und können nun Netzwerkkarte und einen telnet-Server einrichten. Dies geht so:

ifconfig eth0 192.168.0.250
route add default gw 192.168.0.2
telnetd -l /bin/login

Danach können Sie von einem entfernten Rechner aus mit telnet auf die Konsole zugreifen. Beim Anmelden ist das Passwort archivista zu verwenden.

Anpassungen an initrd.img

In der Datei initrd.img befindet sich das gesamte Mini-Linux. Beim Hochfahren des Systems wird zunächst dieses Mini-System eingerichtet, ehe über den Stick (bzw. CD-ROM) auf system.os zugegriffen wird. Die Datei system.os enthält ein komplettes Debian-System bzw. ArchivistaVM. Bein Hochfahren des Servers wird in einem zweiten Schritt dieses System im RAM eingerichtet, und zwar äusserst speditiv. Pro 1 GByte an Software sind etwa 10 Sekunden Zeit notwendig. Beide Dateien können Sie beliebig anpassen. Bei initrd.img verwenden Sie für das Auspacken:

zcat initrd.img | cpio -iv

Dabei wird das gesamte System im aktuellen Verzeichnis ausgepackt. Sie können nun beliebige Änderungen am System vornehmen. Für das Neupacken der Datei verwenden Sie:

find . | cpio -o -H newc | gzip -c >../isolinux/initrd.img 

Anpassungen an system.os

In der Datei system.os befindet sich das gesamte Linux-System von ArchivistaVM. Dazu ist zu sagen, dass bei ArchivistaVM nicht Debian- um Debian-Paket installiert wird; dieser Vorgang würde viel zu lange dauern. Vielmehr wird das gesamte System mit unsquashfs entpackt.

unsquashfs -dest /os /tmp/cd/system.os 

Den gegenteiligen Vorgang erreichen Sie mit:

mksquashfs / /inst/system.os -noappend -e /inst /proc /sys

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung