English / Deutsch | Druckversion Plop Linux 
Twitter
twitter

<< Zurück
Banana Pi

Inhaltsverzeichnis

Weiter >>
Konfiguration

Cubietruck, USB OTG g_hid, g_mass_storage


Dieser Abschnitt beschreibt

  • Wie Sie Plop Linux am Cubietruck installieren.
  • Wie Sie den Linux Kernel für den Cubietruck kompilieren.
  • Erstellen der boot.scr Datei.
  • Einstellen der Cubietruck Leds.
  • Verwenden des USB OTG als HID oder Mass Storage Device.

Linux Kernel version: 4.4-rc1


Plop Linux installieren


Plop 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-4.3.1-arm.tar.gz und cubietruck-boot.tar.gz herunter.

• Erstellen Sie auf der SD Karten eine Partition für Plop Linux. Mindestens 3.1 GB.

• Formatieren Sie die Partition mit Ext3 mkfs.ext3 /dev/PARTITION1.

Hinweis: /dev/PARTITION1 ist nur ein Platzhalter. Sie müssen den Device Node der Partition verwenden. Beispiel: /dev/sdd1

• Mounten Sie die Partition zu /mnt

• Entpacken Sie ploplinux-desktop-4.3.1-arm.tar.gz nach /mnt

• Verschieben Sie die Verzeichnisse in /mnt/ploplinux-desktop-4.3.1-arm/ ein Verzeichnis höher, damit sie im Root Verzeichnis der Plop Linux Partition sind.

• Entfernen Sie nun das leere /mnt/ploplinux-desktop-4.3.1-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

Hinweis: /dev/SDCARD ist nur ein Platzhalter. Sie müssen den Device Node der SD Karte verwenden. Beispiel: /dev/sdd

Hinweis: Ich verwende U-Boot Datei von ARCH Linux.

• Wichtige Dateien (die Standardeinstellungen sollten passen):

Stellen Sie /mnt/etc/fstab auf Ihre Systemkonfiguration ein.

In der /mnt/etc/rc.local Datei gibt es einen Bereich für Cubietruck Einstellungen.

• 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.


Den Linux Kernel kompilieren


Entweder 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.

Den stabilen Kernel: git clone https://github.com/cubieboard/linux-sunxi.git

Den kommenden Kernel: git clone https://github.com/linux-sunxi/linux-sunxi.git -b sunxi-next

Oder laden Sie den Kernel Source Code (verwendet bei Plop Linux) linux-sunxi-next.tar.xz herunter und entpacken die Datei.

• Wechseln Sie in das Linux Kernel Verzeichnis cd linux-sunxi und initialisieren Sie die Basiskonfiguration

Starten Sie make sunxi_defconfig

Oder verwenden Sie die Plop Linux Konfigurationsdatei. Kopieren Sie .config in das linux-sunxi Verzeichnis.

Hinweis: Um weitere Einstellungen am Kernel vorzunehmen, starten Sie make menuconfig

• 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.
Mount Beispiel (Cubietruck IP: 10.0.0.208): sshfs root@10.0.0.208:/ /mnt


Erstellen der boot.scr Datei


Passen 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 Leds


Der 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 Device


Verwenden 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

  • eine hidg_func_descriptor Struktur hinzufügen
  • eine platform_device Struktur hinzufügen
  • und "platform_device_unregister (&my_hid);" in der __exit hidg_cleanup(void) funktion einfügen

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:

  • Erstellen Sie eine 100 MB große Datei: dd if=/dev/zero of=/var/disk.img bs=1M count=100
  • Formatieren Sie das Disk Image File: mkfs.ext3 /var/disk.img
  • Mounten Sie das Disk Image File: mount -o loop /var/disk.img /mnt
  • Erstellen Sie eine Test Datei am Disk Image File: echo "Hello there" > /mnt/test.txt
  • Trennen Sie das Disk Image File: umount /mnt

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.



<< Zurück
Banana Pi

Inhaltsverzeichnis

Weiter >>
Konfiguration


© 2016 by Elmar Hanlhofer