allgemein:minix:minix_debian
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| allgemein:minix:minix_debian [2014/03/25 17:58] – richard | allgemein:minix:minix_debian [2025/11/19 16:39] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ===== Minix Neo X5 Projektseite ====== | + | ====== Minix Neo X5 Projektseite ====== |
| - | ==== Projektziel === | + | **PROJEKTSEITE IST NOCH IM AUFBAU: REIHENFOLGE STIMMT NOCH NICHT** |
| + | **Es wird keine Haftung für Schäden, die durch hier veröffentlichte Programme verursacht werden, übernommen. Nutzung auf eigene Gefahr!** | ||
| + | |||
| + | Für die ganz Eiligen habe ich das Skript von [[http:// | ||
| + | Ich habe es erweitert und ein paar Kleinigkeiten, | ||
| + | Da das Skript recht lang ist, kann man **[[allgemein: | ||
| + | |||
| + | ===== Projektziel | ||
| Basierend auf dem Artikel aus c't 2014 Heft 4 (S.166ff) soll ein Minix Neo X5 (im Folgenden nur noch Minix genannt) mit einem Debian-System bestückt werden. Auf dieser Basis soll der Minix als Mini-Server im lokalen Netz dienen und folgende Dienste bereitstellen: | Basierend auf dem Artikel aus c't 2014 Heft 4 (S.166ff) soll ein Minix Neo X5 (im Folgenden nur noch Minix genannt) mit einem Debian-System bestückt werden. Auf dieser Basis soll der Minix als Mini-Server im lokalen Netz dienen und folgende Dienste bereitstellen: | ||
| * owncloud (zum Sync von Adressen/ | * owncloud (zum Sync von Adressen/ | ||
| Zeile 15: | Zeile 22: | ||
| Nachteil: keine Erweiterbarkeit (ohne das Gehäuse zu modifizerieren). Für den Einsatzbereich ist dies aber kein echter Nachteil. | Nachteil: keine Erweiterbarkeit (ohne das Gehäuse zu modifizerieren). Für den Einsatzbereich ist dies aber kein echter Nachteil. | ||
| - | ==== Vorbereitung oder wie läuft das Ganze ab? ==== | + | ===== Vorbereitung oder wie läuft das Ganze ab? ===== |
| - | Da das Projekt nicht "plug ' | + | Da das Projekt nicht "plug ' |
| - Debian-VM aufsezten, in der alle Arbeiten durchgeführt werden.((kann entfallen, wenn man ohnehin unter Debian arbeitet)) | - Debian-VM aufsezten, in der alle Arbeiten durchgeführt werden.((kann entfallen, wenn man ohnehin unter Debian arbeitet)) | ||
| Zeile 29: | Zeile 36: | ||
| Nun geht's aber endlich los. | Nun geht's aber endlich los. | ||
| + | |||
| + | ===== Debian-VM aufsetzen ===== | ||
| + | ==== Installation der Debian-VM ==== | ||
| + | Für alle weiteren Arbeiten und um das Host-System nicht "zu verschmutzen" | ||
| + | |||
| + | Windows-User kommen um diesen Schritt nicht herum, da die genutzten Werkzeuge nicht ohne weiteres unter Windows funktionieren. | ||
| + | |||
| + | Man benötigt zunächst ein Debian-Image (wheezy), welches man im [[http:// | ||
| + | |||
| + | Das Image wird als Installationsmedium in einer neuen Virtual-Box-Maschine eingebunden. Hier die verwendeten Eckdaten: | ||
| + | * Linux/ | ||
| + | * 384 MB RAM | ||
| + | * 8GB HDD | ||
| + | |||
| + | Also im wesentlichen die minimalen vorgeschlagenen Werte. Die Installation des OS ist weitgehend selbsterklärend. Man muss lediglich am Anfang die gewünschte Sprache auswählen. Alle Netzwerk-Fragen können beliebig beantwortet werden, da keine echte Netzwerkeinbindung benötigt wird. Die beiden User (root und Hauptnutzer) sowie deren Passwörter sollten notiert werden, da diese später benötigt werden. | ||
| + | |||
| + | ==== Installation benötigter Pakete für die VM ==== | ||
| + | Damit das Debian-System eine ARM-Architektur bearbeiten kann (root-FS anlegen, ARM-Kernel kompilieren, | ||
| + | |||
| + | Damit alle Pakete gefunden werden können, benötigt die ''/ | ||
| + | < | ||
| + | |||
| + | |||
| + | Für die Installation wechselt man in die Debian-VM und startet dort ein Terminal. Innerhalb des Terminals wechselt man mit '' | ||
| + | |||
| + | < | ||
| + | #!/bin/bash | ||
| + | |||
| + | # Quellen-Datenbank aktualisiersen, | ||
| + | apt-get update | ||
| + | |||
| + | # Installation zur Unterstützung anderer CPU-Typen | ||
| + | apt-get install qemu-user-static binfmt-support debootstrap | ||
| + | |||
| + | # Installation aller Tools für die Kernel-Erzeugung | ||
| + | # Schlüssel des zusätzlichen Repositories | ||
| + | apt-get install emdebian-archive-keyring | ||
| + | apt-get update | ||
| + | # Compiler für ARM-Linux | ||
| + | apt-get install gcc-4.7-arm-linux-gnueabihf build-essential git sharutils | ||
| + | </ | ||
| + | |||
| + | Damit sollten die Vorarbeiten abgeschlossen sein. | ||
| + | |||
| + | |||
| + | ===== Anlegen des neuen root-FS ===== | ||
| + | Wir benötigen einen Unterordner in dem das zukünftige '' | ||
| + | < | ||
| + | mkdir / | ||
| + | cd / | ||
| + | </ | ||
| + | |||
| + | Man sollte diesen Ordner nicht unter ''/ | ||
| + | |||
| + | Mit dem folgenden Befehl wird das Grundsystem angelegt. Dies kann einige Zeit in Anspruch nehmen. Also Geduld! | ||
| + | < | ||
| + | qemu-debootstrap --verbose --variant=minbase --include=nano, | ||
| + | </ | ||
| + | |||
| + | Kurze Erläuterung der Parameter: | ||
| + | ^ Parameter ^ Bemerkung ^ | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | |||
| + | Die restlichen Parameter geben die Debian-Version ('' | ||
| + | |||
| + | Wenn '' | ||
| + | < | ||
| + | |||
| + | Im Ordner ''/ | ||
| + | |||
| + | ==== Anpassungen des rootFS ==== | ||
| + | Das neu erzeugte rootFS muss nun noch angepasst werden. Zunächst muss aber erst in das rootFS gewechselt werden. | ||
| + | Dazu wird das neu erzeugte rootFS in Teilen gemounten und im Anschluss mit '' | ||
| + | < | ||
| + | mount -t proc proc ${ROOTFSDIR}/ | ||
| + | mount -t sysfs sysfs ${ROOTFSDIR}/ | ||
| + | mount -o bind /dev ${ROOTFSDIR}/ | ||
| + | mount -t devpts devpts ${ROOTFSDIR}/ | ||
| + | echo -e " | ||
| + | echo -e "Bitte nach dem Wechsel ${RED}install_tools.sh${NC} und ${RED}config_keyboard.sh${NC} aufrufen." | ||
| + | echo -e "Mit ${RED}exit${NC} kann ins Hauptsystem zurückgewechselt werden." | ||
| + | chroot ${ROOTFSDIR} | ||
| + | # mountpoints wieder entfernen | ||
| + | umount ${ROOTFSDIR}/ | ||
| + | umount ${ROOTFSDIR}/ | ||
| + | umount ${ROOTFSDIR}/ | ||
| + | umount ${ROOTFSDIR}/ | ||
| + | echo -e " | ||
| + | </ | ||
| + | |||
| + | |||
| + | Im rootFS selbst müssen noch einige Pakete nachinstalliert werden und das Tastatatur-Layout ausgewählt werden. | ||
| + | Das Basis System ist zunächst mit englischem Tastaturlayout und falscher Zeitzone konfiguriert. | ||
| + | Mit den folgenden Befehlen wird das rootFS auf deutsche Parameter eingestellt. | ||
| + | < | ||
| + | # Tastatur-Layout auf deutsch ändern: | ||
| + | dpkg-reconfigure locales | ||
| + | </ | ||
| + | Es werden einige perl-Fehler ausgeworfen, | ||
| + | ^ Parameter ^ Wert ^ | ||
| + | | Timezone: | 8. Europe/ 6. Berlin | | ||
| + | | Keymap: | 155. pc / qwertz / German / Standard / latin1 - no dead keys | | ||
| + | | Keyboard: | ||
| + | |||
| + | Weiterhin sollte im rootFS ein Passwort für den Admin (root) gesetzt werden, da ansonsten kein Zugriff möglich ist: | ||
| + | < | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ===== SD-Card vorbereiten ===== | ||
| + | ==== Partitionieren der SD-Card ==== | ||
| + | < | ||
| + | Mit '' | ||
| + | Mit '' | ||
| + | Mit '' | ||
| + | Falls noch weitere Partitionen benötigt werden, sollte bei den nächsten Fragen entsprechender Platz freigelassen werden. Zu ersten Testzwecken ist es sinnvoll die gesamte SD-Card zu verwenden. | ||
| + | Wir wählen demnach die Vorgaben als Parameter für den ersten und letzten Sektor. | ||
| + | |||
| + | ==== Filesystem anlegen ==== | ||
| + | Ist das Partionieren erledigt, dann wird das Filesystem eingerichtet. Es wird ein EXT4 benötigt. Als Name wird '' | ||
| + | < | ||
| + | |||
| + | |||
| + | ==== SD-Card mit VM verbinden ==== | ||
| + | Dieser Schritt kann je nach System kompliziert oder sehr simpel werden. Der einfachste Weg ist es die SD-Card als USB-Gerät in die VM einzubinden. Fertig! | ||
| + | |||
| + | Dann muss die SD-Card noch innerhalb der VM gemountet werden (also im Dateisystem eingebunden werden). Dies kann über folgenden Befehl durchgeführt werden: | ||
| + | < | ||
| + | sudo mount -t ext4 /dev/sdc1 / | ||
| + | </ | ||
| + | |||
| + | Dabei ist ''/ | ||
| + | |||
| + | |||
| + | Der harte Weg: Die SD-Card wird **NICHT** als USB-Gerät im Host-System eingebunden, | ||
| + | < | ||
| + | |||
| + | Eine mögliche Ausgabe sieht so aus: | ||
| + | < | ||
| + | NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT | ||
| + | sda | ||
| + | ├─sda1 | ||
| + | ├─sda2 | ||
| + | ├─sda3 | ||
| + | ├─sda5 | ||
| + | └─sda6 | ||
| + | sdb | ||
| + | └─sdb1 | ||
| + | </ | ||
| + | **HINWEIS: | ||
| + | |||
| + | Die SD-Card könnte demnach als ''/ | ||
| + | < | ||
| + | sudo chmod 666 /dev/sdb | ||
| + | chown USER:USER sdcard.vmdk | ||
| + | sudo VBoxManage internalcommands createrawvmdk -filename sdcard.vmdk -rawdisk /dev/sdb | ||
| + | </ | ||
| + | Leider geht nach jedem Reboot die Schreibberechtigung verloren, so dass der '' | ||
| + | |||
| + | Danach kann die kann man in VirtualBox eine neue Festplatte zu der existierenden Einbinden. Als " | ||
| ==== Minix-FS auf SD-Card kopieren ==== | ==== Minix-FS auf SD-Card kopieren ==== | ||
| Zeile 47: | Zeile 218: | ||
| Für '' | Für '' | ||
| - | === Partitionieren | + | ===== SD-Card partitionieren und formatieren ===== |
| - | < | + | Zunächst |
| - | Mit '' | + | # SD-Card mit neuer Filesystem formatieren. Die SD-Card wurde als /dev/sdb eingehängt. |
| - | Mit '' | + | mkfs.ext4 -L linuxroot /dev/sdb1 |
| - | Mit '' | + | # Formatierte |
| - | Falls noch weitere Partitionen benötigt werden, sollte bei den nächsten Fragen entsprechender Platz freigelassen werden. Zu ersten Testzwecken ist es sinnvoll die gesamte | + | mount -t ext4 /dev/sdb1 / |
| - | Wir wählen demnach die Vorgaben als Parameter für den ersten und letzten Sektor. | + | |
| - | ==== Filesystem anlegen | + | ===== root-FS auf SD-Card kopieren ===== |
| - | Ist das Partionieren erledigt, dann wird das Filesystem eingerichtet. Es wird ein EXT4 benötigt. Als Name wird '' | + | # neues root-FS auf SD-Card kopieren |
| - | < | + | < |
| + | cp -av /home/neo-rootfs/ | ||
| + | </ | ||
| - | ==== SD-Card mit VM verbinden | + | ===== Minix in den Bootloader-Modus bringen ===== |
| - | Dieser Schritt kann je nach System kompliziert oder sehr simpel werden. Der einfachste Weg ist es die SD-Card als USB-Gerät | + | Ziel der nächsten Aktion |
| - | Der harte Weg: Die SD-Card wird NICHT als USB-Gerät im Host-System eingebunden, | + | Die kurze Variante sieht wie folgt aus: |
| + | - Minix ausschalten | ||
| + | - OTG-Kabel (mini-USB-Kabel) in OTG-Buchse neben dem SDCARD-Slot und dem PC verbinden | ||
| + | - Recover-Button mit Büroklammer für ca. 2 Sekunden während des Einschaltens gedrückt halten (nicht zu lange) | ||
| + | Es kann manchmal dazu kommen, dass der Recover-Button zu lange oder zu kurz gedrückt | ||
| - | [[http:// | + | Die " |
| + | Zunächst muss das Android-SDK installiert werden und dann mit Hilfe des Befehls '' | ||
| + | < | ||
| + | HINWEIS: Falls das Linux-System kein 32-Bit-System ist (was heutzutage fast nur noch der Fall ist), wird das Paket '' | ||
| + | Wenn die Installation über das Script funktioniert hat, dann geht es hier weiter: | ||
| + | - Minix mit Android starten | ||
| + | - Einstellungen -> USB -> " | ||
| + | - Einstellungen -> Entwickleroptionen -> USB-Debugging aktivieren | ||
| + | - Minix danach ausschalten | ||
| + | - OTG-Kabel (mini-USB-Kabel) in OTG-Buchse neben dem SDCARD-Slot und dem PC verbinden | ||
| - | ==== Technische Daten des Minix Neo X5 ==== | + | Um zu überprüfen, |
| + | < | ||
| + | In der Ausgabe sollte nun folgende Zeile zu finden sein: | ||
| + | < | ||
| + | |||
| + | Nun wechseln man in den Ordner '' | ||
| + | < | ||
| + | ein. | ||
| + | In der Ausgabe sollte nun folgendes zu finden sein: | ||
| + | < | ||
| + | List of devices attached | ||
| + | WAWJMNASDF device | ||
| + | </ | ||
| + | Die kryptische Bezeichnung kann natürlich abweichen, aber es sollte mindestens eine Zeile zu finden sein.\\ | ||
| + | Nun kann mit dem folgenden Befehl der Minix in den Bootloader-Modus versetzt werden: | ||
| + | < | ||
| + | |||
| + | ====== Technische Daten des Minix Neo X5 ====== | ||
| Hier die technischen Eckdaten des Minix Neo X5: (Auszug aus dem offiziellen Datenblatt): | Hier die technischen Eckdaten des Minix Neo X5: (Auszug aus dem offiziellen Datenblatt): | ||
| Zeile 91: | Zeile 293: | ||
| | Stromversorgung | 5V, 3A Adpater (enthalten), | | Stromversorgung | 5V, 3A Adpater (enthalten), | ||
| | Videoformate | AVI/ | | Videoformate | AVI/ | ||
| + | |||
| + | |||
| + | |||
| + | ====== Info-Sammlung ====== | ||
| + | Unsortierte Infosammlung zum Thema: | ||
| + | |||
| + | Fast perfektes Skript um Ubuntu 12.04 vorzubereiten: | ||
| + | [[http:// | ||
| + | Lehnt sich stark an das c' | ||
| + | * gcc-Symlink fehlt | ||
| + | * Variablen sind nicht konsequent umgesetzt | ||
| + | |||
| + | Linux permanent Boot statt nur im Recovery-Modus: | ||
| + | [[http:// | ||
| + | Post: viewizard, Oct 18, 2013 **#378** | ||
| + | |||
| + | |||
allgemein/minix/minix_debian.1395770336.txt.gz · Zuletzt geändert: (Externe Bearbeitung)
