Homepage Wiki Forum Buy

Gnublin Distribution

Aus GNUBLIN

Inhaltsverzeichnis


Die GNUBLIN Distrubution bietet eine gemeinsame Plattform für alle Anwender des freien Linux Boards. Als Basis wird ein Debian Linux mit angepasstem Kernel, Bootloader etc. angeboten, um eine hoffentlich gut getestete und einfache Plattform für Entwicklungen und Bastelein zu haben.

Downloads: GNUBLIN Distribution Versionen

GNUBLIN DISTRIBUTION.jpg


Die Distribtion kann man verschieden verwenden. Zum einen kann man diese einfach als Anwender benutzen bzw. einfach mit dem Gnublin-Installer auf eine SD-Karte installieren. Oder als Fortgeschrittener kann man sich einfach eine eigne angepasste Linux-Distribution erzeugen.

In der Distribution ist wie bereits erwähnt enthalten:

  • Debian 6.0 Grundsystem
  • Angepasster Kernel für GNUBLIN
  • Bootloader
  • Ein Ordner mit vielen Beispielen (Skripte, Programmbeispiele, etc.)
  • GNUBLIN Pakete zum Installieren von Zusatzmodulen und Programm Zusammenstellungen


Das GNUBLIN Paket System

Um eine einfache Möglichkeit, komplette Anwendungen, Treiber für Module etc. einfach für Anfänger verwendbar zu machen, gibt es GNUBLIN Pakete. Das Paketformat basiert auf der bekannten Debian Paket Verwaltung (.deb) die man mit den apt Tools einfach installieren und entfernen kann.

Momentan sind folgende GNUBLIN Pakete vorhanden:

Gnublin Paket Liste

Eigene Programme oder Demos können einfach selber als .deb Pakete erstellt werden. Wie das geht ist hier beschrieben.

Quickinstall auf SD-Karte

Um ein neues System aufzusetzen verwendet man am Besten den Gnublin-Installer. Mit diesem kann man auf beliebig große SD-Karten ein Gnublin System inkl. RootFS, Kernel und Bootloader erzeugen.

Dafür startet man den gnublin-installer, wählt die entsprechenden Image-Dateien auf dem Server (Option "Fetch from http://gnublin.org/") und drückt start. Nach ca. 10-20 Minuten ist die Karte fertig installiert und kann direkt mit einem Gnublin genutzt werden.

Gnublin installer1.jpg


Alternativ bestehende Karte upgraden

Ist die SD Karte schon richtig partitioniert und der Bootloader ebenfalls auf der SD Karte vorhanden so kann auch nur das Dateisystem gezielt überschreiben:

rootFS + passenden Kernel upgraden

Zuerst SD Karte einstecken

wget http://gnublin.org/downloads/rootfs.tar.gz
sudo tar xzvf gnublin_debian_rootfs.tar.gz -C /media/<SD_CARD_LABEL>

fertig.

Bootloader upgraden

wget http://gnublin.org/downloads/apex/apex.bin
sudo dd if=apex.bin of=/dev/<SD_CARD>


Für Fortgeschrittene: Die eigene Distribution erzeugen

HINWEIS: Das Erstellen der GNUBLIN Distribution ist getestet nur auf Ubuntu Version 12.04 und Mint Version maya 13.

Möchte man eigene Änderungen am Root Dateisystem vornehmen, Kernel-Optionen anpassen oder sonstige Voreinstellungen ändern kann man sich einfach mit der Gnublin Distribution ein eigenes Linux inkl. Kernel, Bootloader etc. erstellen.


Zuerst sollte man in einem Terminal in ein Verzeichnis wechseln, in welches man die Distribution installieren will. Anschließend kann man die Distribution mit folgendem Kommando herunterladen:

git clone https://github.com/embeddedprojects/gnublin-distribution.git

Nachdem der Download beendet ist, kann man mit folgendem Kommando in das richtige Verzeichnis wechseln:

cd gnublin-distribution/lpc3131

Dort befindet sich eine ausführbare Setup-Datei die wie folgt aufgerufen wird:

./build_GNUBLIN_support_package.sh

Dieses Kommando startet die komplette Installation.

Möchte man die automatisch heruntergeladenen Dateien (Kernel,Toolchain, etc.) und den kompletten Installationsprozess wieder entfernen, so startet man das Script mit folgendem Befehl:

./build_GNUBLIN_support_package.sh clean

Will man auch alle temporären Dateien, wie z.B. alle gedownloadeten Dateien, löschen so geht das mit

./build_GNUBLIN_support_package.sh clean all

Es gibt zwei verschiedene Optionen für das zu bauende Debian.

  1. ein komplettes Debian, mit allen Paketen inklusive Beispielprogramme (max)
  2. ein komplettes Debian, mit reduzierter Paketanzahl und ohne "Schnick-Schnack" (min)

Die Standardeinstellung ist die maximale Version, also mit Beispielprogrammen und allen Paketen. Möchte man dies zur min-Variante ändern so ändert man lediglich die Zeile 8 distro_version="max" des build_GNUBLIN_support_package.sh Scripts zu distro_version="min"

Möchte man Debian-Pakete in das Root-File-System eingebaut haben, welche nicht in nachfolgender Liste zu finden sind, so beachte man den Punkt Debian installieren weiter unten.

min

i2c-tools makedev module-init-tools dhcp3-client netbase ifupdown iproute iputils-ping wget net-tools vim nano hdparm bzip2 p7zip unrar 
unzip zip p7zip-full screen less usbutils psmisc strace info ethtool wireless-tools wpasupplicant python rsyslog whois time procps perl 
parted build-essential ccache bison flex autoconf automake gcc libc6 cpp curl ftp gettext subversion

max

i2c-tools makedev module-init-tools dhcp3-client netbase ifupdown iproute iputils-ping wget net-tools vim nano hdparm bzip2 p7zip unrar 
unzip zip p7zip-full screen less usbutils psmisc strace info ethtool wireless-tools wpasupplicant python rsyslog whois time procps perl 
parted build-essential ccache bison flex autoconf automake gcc libc6 cpp curl ftp gettext subversion php5 gpsd gpsd-clients fswebcam
uvccapture lm-sensors firmware-linux-free firmware-linux-nonfree firmware-realtek firmware-ralink firmware-linux firmware-brcm80211 
firmware-atheros rcconf cgilib cgiemail cgi-mapserver lrzsz libnss-mdns libpam-modules nscd ssh libpcsclite1 libnl1 nfs-common tree
lighttpd vsftpd rsync ruby git fakeroot picocom


Das Installationsscript durchläuft die folgenden Teilinstallationen:

  1. Toolchain installieren
  2. Bootloader installieren
  3. Kernel installieren
  4. Debian installieren


Zu jedem dieser Schritte gibt es eine Erklärung im Laufe des Artikels.

Weiterhin folgt am Ende noch eine Erklärung zu den einzelnen Teilinstallationen und wie man einzelne Installationsschritte wiederholt falls einmal etwas schief gelaufen ist.


Toolchain installieren

Der erste Schritt der Gesamtinstallation ist die automatische Installation der Toolchain, in diesem Fall eldkv5 von ARM. Falls bereits eine Installation von eldk auf dem PC vorhanden ist, so wird die Toolchain nicht erneut installiert, sondern nur ein Link zu der aktuell bestehenden Installation in das Verzeichnis toolchain erstellt.

Bei diesem Schritt gibt es keine Konfigurationsmöglichkeiten.

Bootloader installieren

Der zweite Schritt der Gesamtinstallation ist die Installation des Bootloaders, in diesem Fall apex . Sobald dieser Schritt erreicht ist, öffnet sich eine grafische Oberfläche im Terminal. Hier kann man die Größe des RAMs einstellen (neu_32MB oder alt_8MB). Will man keine Einstellungen am Bootloader vornehmen, so kann mit 'ESC' aus den menuconfig heraus springen. Als default Einstellung wird dann der 32MB Bootloader gebaut.

Zuerst navigiert man mit der Pfeiltaste nach unten bis zu folgendem Eintrag:

Apex menuconf 1.jpg

Anschließend betätigt man ENTER und kommt in folgendes Menü:

Apex menuconf 2.jpg

Hier navigiert man wieder mit den Pfeiltasten nach unten bis zu der markierten Option und betätigt wieder ENTER. Nun erscheint die Auswahl der RAM-Größe.

Apex menuconf 3.jpg

Hier wählt man die richtige Größe aus und betätigt die Eingabe erneut mit ENTER. Anschließend drückt man mit der Pfeiltaste nach rechts, um auf den Punkt EXIT zu gelangen und betätigt wieder mit ENTER. Der letzte Schritt wird nocheinmal wiederholt und man wird gefragt ob die Einstellungen korrekt sind und verwendet werden sollen.

Apex menuconf 4.jpg

Hier drückt man erneut ENTER und der Installationsvorgang geht weiter.

Kernel installieren

Der dritte Schritt der Gesamtinstallation ist die Installation des Kernels. Sobald dieser Schritt erreicht ist, öffnet sich erneut eine grafische Oberfläche in der zusätzliche Treiber aktiviert werden können.Will man keine Einstellungen am Kernel vornehmen, so kann mit 'ESC' aus den menuconfig heraus springen. In diesem Fall werden die standart Einstellungen des GNUBLIN Kernels übernommen.

Kernel menuconfig.jpg

HINWEIS In der Standard-Konfiguration sind bereits alle wichtigen Treiber, entweder direkt in den Kernel eingebaut oder als Module vorhanden.

Möchte man die Standard-Konfiguration verwenden, so drückt man lediglich einmal die Pfeiltaste nach rechts und dann ENTER um die Konfiguration zu beenden. Möchte man jedoch irgendwelche Module hinzufügen die noch nicht in der Standard-Konfiguration enthalten sind so kann man die gewünschten Module in dem Menü aktivieren (eingebaut=y , Modul=m, deaktivieren=n).

Debian installieren

Der vierte Schritt der Gesamtinstallation ist die Debian-Installation. Dieser Schritt besitzt keine grafische Oberfläche oder nachträgliche Konfigurationsmöglichkeiten. Bei der Installation werden der zuvor gebaute Kernel und die Module in das Debian Root-Filesystem integriert und die Debian-Pakete heruntergeladen und installiert.

Möchte man zusätzliche Debian-Pakete installieren, welche nicht in der Standard-Konfiguration (-min , -max) vorhanden sind, so fügt man lediglich die Namen der Debian-Pakete in die Datei gnublin/lpc3131/rootfs/debian/debian_install/generel_settings.sh. Dies sollte vor der Installation erfolgen.

Hier gibt es wieder zwei Optionen je nachdem, ob man die -min oder -max Installation auswählt.

  1. MIN: falls man die Minimalinstallation gewählt hat trägt man die Paketnamen in Zeile 45 in add_packages_base="...." einfach ohne Komma hinter den letzten Paketnamen.
  2. MAX: falls man die Maximalinstallation gewählt hat trägt man die Paketnamen in Zeile 43 in add_packages_max="...." einfach ohne Komma hinter den letzten Paketnamen. (Man könnte die Paketnamen auch wie oben in add_packages_base="...." eintragen, das würde aber bewirken, dass bei jeder Minimalinstallation (falls man mal umsteigen will von -max auf -min), das Paket mit installiert wird.)


Kopieren der Dateien auf die SD-Karte

Der fünfte und letzte Schritt der Gesamtinstallation ist das kopieren der erstellten Dateien auf die SD-Karte. Dies kann man per Hand machen oder mit Hilfe des Gnublin Installer

Dort klickt man bei Bootloader, Rootfs und Kernel auf use file und wählt nacheinander die richtigen Dateien aus.

Option Dateiname
Bootloader apex.bin
Rootfs debian_rootfs_gnublin.tar.gz
Kernel kernel.tar.gz

Die Dateien befinden sich alle in dem selben Verzeichnis, und zwar im Verzeichnis output (PfadZurDistro/gnublin-distribution/lpc3131/output)


Hinweis Möchte man den Gnublin-Installer nicht verwenden, oder funktioniert er nicht korrekt, so muss man die Dateien per Hand auf die SD-Karte kopieren.

Anfangen sollte man dann mit dem Debian rootfs (debian_rootfs_gnublin.tar.gz), welches nach dem Kopieren auf die SD-Karte noch entpackt werden muss. Hierfür wechselt man in einem Terminal in das root-Verzeichnis der SD-Karte, in welchem das Debian rootfs liegen sollte und führt folgenden Befehl aus:

tar -xzvf debian_rootfs_gnublin.tar.gz

Wenn das Archiv komplett entpackt wurde, kann die Datei debian_rootfs_gnublin.tar.gz von der SD-Karte gelöscht werden.

Anschließend muss der Kernel und die module auf die SD-Karte entpackt werden

tar xzvf kernel.tar.gz -C /Pfad/zur/SD-Karte

Bei Bedarf muss eventuell der Bootloader auf die SD-Karte gebracht werden, dies kann wie in dem Artikel Bootloader übersetzen und installieren ab dem Abschnitt "Kopieren des Booloaders" durchgeführt werden.

Stage Dateien

Nach jeder Teilinstallation wird eine unsichtbare, sogenannte Stage-Datei mit dem Namen .stamp_<schritt> im Hauptverzeichnis (PfadZurDistro/gnublin/lpc3131) erzeugt, durch welche der build Process weiß, welche einzelnen Schritte bereits durchlaufen wurden.

Installationsschritt Dateiname
Toolchain .stamp_toolchain
Bootloader .stamp_bootloader
Kernel .stamp_kernel
Debian-Rootfs .stamp_rootfs
Post-install .stamp_rootfs_post

Möchte man nun zum Beispiel nur den Kernel neu bauen, so löscht man einfach die Datei .stamp_kernel. Dies kann man entweder mit dem Kommandozeilenbefehl rm .stamp_kernel oder mit einem Dateibrowser seiner Wahl machen. Bei Verwendung eines Dateibrowsers ist darauf zu Achten, dass versteckte Dateien angezeigt werden (z.B. bei Dolphin STRG+punkt, Nautilus STRG+H ...)

Hinweis:Der wiederholte Bau Prozess durch das löschen der Datei ".stamp_rootfs_post" ist noch nicht stabil und führt noch zu Fehlermeldungen!

In anderen Sprachen