Table of Contents

PTXdist

Change device tree

The hardware is configured using device tree. The device tree file for is located in /path_to_bsp_root/platform-MBaXX/build-target/linux-x.x/arch/arm/boot/dts/MBaXX.dts after the prepare step of the kernel package.

Attention: Changes of the device tree must be compiled. To do this enter the following commands:

$ ptxdist drop dtc extract
$ ptxdist go
$ ptxdist images



Patch mit Git erstellen

Quellverzeichniss muss bereits ein git Repository sein

Als Beispiel wird ein Patch für den Devicetree beim TQMa335x erstellt

  1. In das Verzeichnis /TQMa335x-BSP-REV0102/platform-MBa335x/build-target/linux-3.12.10/arch/arm/boot/dts wechseln
  2. Das mba335x.dts File bearbeiten und unter dem gleichen Dateinamen speichern
  3. Als nächstes git diff > patches/tqma335x/0020-dts-patch.patch durch diesen Befehl
    wird das git Repository auf Änderungen geprüft und die Ausgabe in das Patch File geschrieben,
    der Patch befindet sich dann bereits im richtigen Verzeichnis
  4. Abschließend den zuvor erstellten Patch im Series File hinzufügen

—-

Patch ohne Git erstellen

Als Beispiel wird ein Patch für den Devicetree beim TQMa335x erstellt

- In das Verzeichnis **/TQMa335x-BSP-REV0102/platform-MBa335x/build-target/linux-3.12.10/arch/arm/boot/dts** wechseln\\
- Das **mba335x.dts** File bearbeiten und unter anderem Dateinamen bsp. **mba335x_new.dts** speichern\\
- Als nächstes  git diff > patches/tqma335x/0020-dts-patch.patch  durch diesen Befehl\\ wird das git Repository auf Änderungen geprüft und die Ausgabe in das Patch File geschrieben,\\ der Patch befindet sich dann bereits im richtigen Verzeichnis\\ 
- Abschließend den zuvor erstellten Patch im Series File hinzufügen 

—-

Dateisystem für rootfs Ãndern

  1. Ptxdist platformconfig
  2. New image creation options
  3. Generate images/root.ext2
  4. ext2fs type
  5. select ext3 or ext4 form the list
  6. Save config and build a new image

—-

U-Boot & Kernel aus BSP als GIT-Repos extrahieren

Vorgehensweise:

  1. Erforderliche PTXdist-Version(en) installieren
  2. Erforderliche OSELAS-Toolchain herunterladen und kompilieren
  3. BSP herunterladen und extrahieren
  4. BSP konfigurieren (gemäß README.TQMxx im BSP-Verzeichnis)
  5. Pakete “kernel” und “u-boot” mittels

ptxdist extract PAKETNAME –git extrahieren

Ergebnis: Die GIT-Repos für die Pakete “kernel” und “u-boot” befinden sich in entsprechenden Unterverzeichnissen unter platform-PLATFROMNAME/build-target (z.B. platform-MBa6x/build-target/linux-3.16).

Beispiel TQMa6:

Konsolen-Mitschnitt

PTXdist extra kernel konfigurieren

Dazu kann der Befehl ptxdist menuconfig <kernelname> verwendet werden. Um den <kernelnamen> zu ermittelnden Befehl ptxdist list-packagages | grep kernel benutzen.


U-Boot ohne Linux mit PTXdist bauen

BSP vorbereiten wie im Wiki beschrieben. Statt ptxdist go den Befehl ptxdist targetinstall u-boot-spi-tqma6q wenn SPI auf dem Modul vorhanden ist und zum Booten genutzt wird. Oder ptxdist targetinstall u-boot-tqma6q wenn von SD oder eMMC gebootet wird.


extra Kernel konfigurieren

Um einen extra Kernel im PTXdist zu konfigurieren folgenden Befehl im BSP Haptverzeichnis ausführen. ptxdist menuconfig <kernelname>

Der Kernelname kann mit dem Befehl ptxdist list-packages | grep kernel ermittelt werden. Ältere PTXdist Versionen haben diesen Befehl noch nicht integriert, in diesem Fall die PTXdist Version 2015.05 nachinstallieren. Dann ist die zusätliche Angabe des Parameters –force nötig. ptxdist-2015.05.0 list-packages –force | grep kernel

—-

PTXdist neues Paket erstellen

ptxdist src-make-prog


Source File bearbeiten
Paket im PTXdsit menu auswählen
Compiliertes Paket befindet sich dann unter /local_src/


PTXdist license report erstellen

Bisher getestet mit PTXdist 2016.04

ptxdist make license-report

folgende Pakete mussten zusätzlich unter Ubuntu 16.04 installiert werden:

Falls in den Metadaten des Makefiles eine Paketes keine Lizenz Informationen angegeben sind dann wird in den Paketquellen die Dateien LICENSE oder COPYING nach Lizenz Infos gesucht.