Script zum debootstrappen von Ubuntu [de]

In den letzten Tagen habe ich Fortschritte mit meinem Script zum debootstrappen von Ubuntu für Raspberry Pi 2 und Banana Pi (M1, Pro und R1) gemacht. Das Script erstellt nun Images beliebiger Größe mit beliebigen Paketen basierend auf beliebigen Ubuntu-Versionen (Trusty, Vivid und Wily machen Sinn). Da kein Cross-Compile vorgesehen ist, muss das Script auf einem System mit ARMv7-Prozessor ausgeführt werden. Und da für Banana Pi und Raspberry Pi je ein Kernel kompiliert wird, muss das Script auf ARMv7 Userland ausgeführt werden. Ich empfehle, mein frischestes PiBuntu Minimal (Downloadlink rechts) zu nutzen.

Zunächst gilt es, das Script und die installierten Konfigurationsdateien auszuchecken:

cd /usr/src
git clone https://github.com/mschlenker/Pi-Scripts

Wechseln Sie jetzt in einen Ordner (Mountpoint!) mit genügend freiem Platz – wegen der Kernelbuilds und des fetten Raspberry-Bootloader-Repos sind 12GB oder mehr sinnvoll! Hier wird dann der Aufbau des Images, gesteuert von Umgebungsvariablen gestartet. Beispiel für eine minimales, zwei GB großes Image auf Basis von Ubuntu 15.04:

cd /mnt/archiv/pibootstrap
PIDISTRO=vivid \
PIUSER=pi \
PIHOSTNAME=pi \
PISIZE=2000000000 PISWAP=500000000 \
PILANG=en_US.UTF-8 \
bash /usr/src/Pi-Scripts/shellscripts/pi-buntu-strap.sh

Und für ein 4GB großes Image auf Basis von Ubuntu 15.10 (Beta!) mit dem Mate Desktop und einigen Sprachpaketen, sowie deutscher Tastatur und Lokalisierung:

PIDISTRO=wily \
PIUSER=pi \
PIHOSTNAME=pi \
PIPACKAGES='ubuntu-mate-core '\
'ubuntu-mate-desktop '\
'language-pack-en language-pack-de '\
'language-pack-fr language-pack-es '\
'language-pack-pt' \
PISIZE=4000000000 PISWAP=500000000 \
PILANG=de_DE.UTF-8 \
PIXKBLAYOUT="de" \
bash /usr/src/Pi-Scripts/shellscripts/pi-buntu-strap.sh

Das Ergebnis finden Sie dann im Arbeitsverzeichnis als disk.img.

Zu tun bleibt noch einiges: Die einzelnen Schritte sollten in Funktionen ausgelagert werden, es fehlt eine Möglichkeit, ein Aufräumen zu erzwingen, es fehlt noch die Möglichkeit, Images entweder nur für Raspberry Pi 2 oder nur für Banana Pi zu erstellen, für den RPi-Bootloader werden derzeit drei (!) Gigabyte von GitHub ausgecheckt und beide Kernel werden jeweils bei der Installation neu gelinkt (das kostet nur ein paar Minuten). Noch fehlt die Möglichkeit, direkt auf eine SD-Karte zu installieren.

Diskussionsbedarf? Bitte auf Google+ kommentieren: