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 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 "http://wiki.gnublin.orgFetch from http://gnublin.org/"http://wiki.gnublin.org) und drückt start. Nach ca. 10-20 Minuten ist die Karte fertig installiert und kann direkt mit einem Gnublin genutzt werden. 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 "http://wiki.gnublin.orgSchnick-Schnack"http://wiki.gnublin.org (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="http://wiki.gnublin.orgmax"http://wiki.gnublin.org des build_GNUBLIN_support_package.sh Scripts zu distro_version="http://wiki.gnublin.orgmin"http://wiki.gnublin.org 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. 2. 3. 4. Toolchain installieren Bootloader installieren Kernel installieren 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: Anschließend betätigt man ENTER und kommt in folgendes Menü: 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. 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. 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. 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="http://wiki.gnublin.org...."http://wiki.gnublin.org 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="http://wiki.gnublin.org...."http://wiki.gnublin.org einfach ohne Komma hinter den letzten Paketnamen. (Man könnte die Paketnamen auch wie oben in add_packages_base="http://wiki.gnublin.org...."http://wiki.gnublin.org 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 "http://wiki.gnublin.orgKopieren des Booloaders"http://wiki.gnublin.org 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 "http://wiki.gnublin.org.stamp_rootfs_post"http://wiki.gnublin.org ist noch nicht stabil und führt noch zu Fehlermeldungen!