Cubietruck, USB OTG g_hid, g_mass_storageDieser Abschnitt beschreibt
Linux Kernel version: 4.4-rc1 Plop Linux installierenPlop Linux ist für fortgeschrittene Benutzer. Diese Dokumentation beschreibt nicht jeden Schritt mit dem entsprechenden Befehl. Sollte die Beschreibung zu schwer verständlich sein, dann wird sie mit Details erweitert. Booten Sie ein Linux auf einem Computer mit einem SD Kartenleser. Laden Sie die Dateien ploplinux-desktop-24.2-arm.tar.gz und cubietruck-boot.tar.gz herunter. • Erstellen Sie auf der SD Karten eine Partition für Plop Linux. Mindestens 7 GB (oder 3 GB ohne /opt). • Formatieren Sie die Partition mit Ext3 'mkfs.ext3 /dev/PARTITION1'.
• Mounten Sie die Partition zu '/mnt'. • Entpacken Sie ploplinux-desktop-24.2-arm.tar.gz nach '/mnt'. • Verschieben Sie die Verzeichnisse in '/mnt/ploplinux-desktop-24.2-arm/'. ein Verzeichnis höher, damit sie im Root Verzeichnis der Plop Linux Partition sind. • Entfernen Sie nun das leere '/mnt/ploplinux-desktop-24.2-arm/' Verzeichnis. • Entpacken Sie die cubietruck-boot.tar.gz nach '/mnt'. • Installieren Sie den U-Boot Bootmanager. Wechseln Sie in das '/mnt/boot' Verzeichnis und starten Sie 'dd if=u-boot-sunxi-with-spl.bin of=/dev/SDCARD bs=1024 seek=8'.
• Wichtige Dateien (die Standardeinstellungen sollten passen):
• Unmounten Sie '/mnt'. Nun booten Sie Ihren Cubietruck mit der SD Karte. Personalisieren Sie Ihr neues System. Siehe hier für allgemeine Plop Linux Desktop Einstellungen und hier für spezielle ARM Einstellungen. Hinweise zu Linux Kernel VersionenDer Cubietruck Linux Kernel von Plop Linux unterstützt nicht alle Funktionen des Cubietrucks. Der stabile Cubietruck Linux Kernel 3.4. sollte alle Funktionen unterstützen. Der 3.4. Linux Kernel lässt sich nicht mehr mit der neuesten Version von GCC kompilieren und ist daher nicht Bestandteil von Plop Linux. Die aktuelle Linux Kernel Version 4.9. hat Probleme mit dem Ausschalten des Cubietruck. Das Ausschalten des Cubietrucks funktioniert mit dem Kernel 4.4.rc-1. Dieser ist Bestandteil von Plop Linux. Den Linux Kernel kompilierenEntweder kompilieren Sie den Linux Kernel direkt auf dem Cubietruck (dauert sehr lange) oder Sie verwenden eine Cross Compile Umgebung (siehe hier) auf Ihrem Computer. • Wenn Sie die Cross Compile Umgebung verwenden dann starten Sie das 'shell.sh' Skript. • Laden Sie den Linux Kernel Source Code für den Cubietruck herunter.
• Wechseln Sie in das Linux Kernel Verzeichnis 'cd linux-sunxi' und initialisieren Sie die Basiskonfiguration
• Zum Kompilieren des Kernels starten Sie 'make && make modules_install'. Hinweis: Mit 'make modules_install' installieren Sie die Kernel Module. Wenn Sie am Cubietruck kompilieren, dann werden die Module nach '/lib/modules' installiert. Wenn Sie in der Cross Compile Umgebung kompilieren dann werden die Module im 'kernel-modules/' Verzeichnis installiert, wo Sie das 'shell.sh' Skript gestartet haben. • Die Linux Kernel Datei befindet sich im 'arch/arm/boot/' Verzeichnis. Der Dateiname ist 'zImage'. • Kopieren Sie die 'zImage' Datei in das '/boot' Verzeichnis vom Cubietruck. Hinweis: Wenn Sie in der Cross Compile Umgebung kompilieren, dann empfehle ich die Dateien via SSHFS auf den Cubietruck zu kopieren. Erstellen der boot.scr DateiPassen Sie die Datei '/etc/boot.cmd' an Ihre Bedürfnisse an. Die Standardeinstellung sollte passen. Zum Erstellen der 'boot.scr' Datei starten Sie 'mkimage -C none -A arm -T script -d boot.cmd boot.scr'. Cubietruck LedsDer Cubietruck hat 4 Leds zu Anzeigen von Aktivitäten. Z.B. SD Kartenzugriff, Bluetooth und vieles mehr. Es gibt eine blaue, weiße, orange und grüne Led. Die Led Verzeichnisse befinden sich im '/sys/class/leds/' Verzeichnis. Die grüne Led ist '/sys/class/leds/cubietruck:green:usr/'. In diesem Verzeichnis befindet sich die Datei 'trigger'. Starten Sie 'cat trigger' zum Anzeigen der verschiedenen Einstellungsmöglichkeiten. Die aktuelle Einstellung ist mit einer eckigen Klammer markiert. Hier ist das Plop Linux Setup aus der '/etc/rc.local' Datei. # Set green led to SD Card actvity echo mmc0 > /sys/class/leds/cubietruck:green:usr/trigger # Plop Linux has booted, set orange led on echo default-on > /sys/class/leds/cubietruck:orange:usr/trigger USB OTG - HID, Mass Storage DeviceVerwenden Sie ausschließlich ein USB OTG Kabel zum Verbinden des OTG Ports mit einem Computer! • Der Cubietruck als HID Sie müssen den den g_hid Kernel Modul Source Code bearbeiten um die HID Funktion zu aktiviren Bei Plop Linux ist ein funktionierendes Beispiel g_hid Modul installiert. Details über den g_hid Treiber finden Sie in der Kernel Dokumentation gadget_hid.txt Sie müssen die Datei 'drivers/usb/gadget/legacy/hid.c' bearbeiten und
Sie können die modifizierte hid.c herunterladen. Hinweis: Wenn Sie hid.c nicht ändern, dann erhalten Sie den Fehler "ERROR: could not insert 'g_hid': No such device" beim Ausführen von modprobe g_hid. Das g_hid Modul verwenden Laden Sie das Testprogramm herunter: hid_gadget_test.c Kompilieren Sie das Testprogramm: gcc hid_gadget_test.c -o hid_gadget_test Laden Sie den g_hid Treiber: modprobe g_hid Starten Sie das Testprogramm: ./hid_gadget_test /dev/hidg0 keyboard Sie befinden sich nun im Prompt vom hid_gadget_test Programm. Hier können Sie Eingaben machen. Wenn der Cubietruck mit einem Computer über das USB OTG Kabel verbunden ist, dann arbeitet der Cubietruck als Tastatur. Geben Sie am hid_gadget_test Prompt 'a b c' ein und drücken Enter. Am Computer sollten sie nun den geschriebenen Text "abc" sehen. '--num-lock' schaltet den Numlock ein/aus. Siehe gadget_hid.txt für mehr Informationen. • Der Cubietruck als Mass Storage Device Bei diesem Beispiel wird ein Disk Image File verwendet. Erstellen des Disk Image Files:
Aktivieren des USB Mass Storage: Starten Sie 'modprobe g_mass_storage file=/var/disk.img' Wenn der Cubietruck mit einem Computer über das USB OTG Kabel verbunden ist, dann arbeitet der Cubietruck als Mass Storage Device. Wenn Sie auf dem Computer 'dmesg' starten, dann sollten Sie die Einträge von dem neuen USB Mass Storage Device sehen. Wenn Sie nun auf dem Computer das USB Mass Storage Device mounten mit z.B. 'mount /dev/sdd /mnt', dann sehen Sie die erstellte Test Datei 'test.txt' in /mnt Verzeichnis.
© 2024 by
Elmar Hanlhofer |