Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
software:linux:devicetree [2014-09-15 09:36] – angelegt graf | software:linux:devicetree [2023-04-11 08:47] (aktuell) – Urs Graf | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Device Tree erstellen ====== | ====== Device Tree erstellen ====== | ||
+ | |||
<box blue right 38% | **Quellen**> | <box blue right 38% | **Quellen**> | ||
- | * [[http:// | ||
* [[http:// | * [[http:// | ||
+ | * [[https:// | ||
</ | </ | ||
+ | |||
+ | Ursprünglich beinhaltete das Kernelimage auch die Beschreibung der vorhandenen Hardware. Das ist unflexibel und deshalb wurde diese Beschreibung in eine externe Datei gepackt. Das hat zudem den grossen Vorteil, dass auch [[software: | ||
+ | Das Vorgehen ist wie folgt: | ||
+ | - Die Hardware wird in **Device Tree Source** Dateien beschrieben (dts-Files). | ||
+ | - Diese Source-Files können weitere Source-Files includieren (dtsi-Files). Solche Dateien beschreiben z.B. Eigenschaften, | ||
+ | - Der **Device Tree Compiler** (dtc) übersetzt die Source-Files in den **Device Tree Blob** (dtb-File). | ||
+ | - Beim Aufstarten erhält der Kernel eine Referenz auf diesen Blob und parst ihn. Einzelne Kernel Treiber holen sich so ihre Konfiguration, | ||
+ | Die Terminologie ist etwas verwirrend. Man spricht vom //Device Tree//. Der //Device Tree Blob// heisst auch //Flat Device Tree//. Das Ganze kommt aus der IBM Open Firmware Spezifikation, | ||
+ | |||
+ | ===== Installation ===== | ||
+ | Installieren mit: < | ||
+ | |||
+ | ===== Übersetzung ===== | ||
+ | Quellenfile übersetzen, | ||
+ | < | ||
+ | Die Option //-S// erweitert den Blob mit Padding auf die angegebene Grösse. | ||
+ | |||
+ | ===== Testen ===== | ||
+ | Wenn der Kernel nach dem Booten den Device Tree erfolgreich geparst hat, ist der Inhalt unter ''/ |