Ein Gerätebaum (DT) ist eine Datenstruktur benannter Knoten und Eigenschaften, die nicht erkennbare Hardware beschreiben. Kernel, wie der in Android verwendete Linux-Kernel, verwenden DTs, um eine Vielzahl von Hardwarekonfigurationen zu unterstützen, die von Android-Geräten verwendet werden. Hardwareanbieter stellen ihre eigenen Device Tree Source (DTS) -Dateien bereit, die mit dem Device Tree Compiler in die Device Tree Blob (DTB) -Datei kompiliert werden. Diese Dateien werden dann vom Bootloader verwendet. Die DTB-Datei enthält einen binär formatierten, abgeflachten Gerätebaum .
Ein Device Tree Overlay (DTO) ermöglicht die Überlagerung eines zentralen Device Tree Blobs (DTB) über den Gerätebaum. Ein Bootloader, der DTO verwendet, kann den SoC-DT (System-on-Chip) verwalten und einen gerätespezifischen DT dynamisch überlagern, indem er Knoten zum Baum hinzufügt und Änderungen an Eigenschaften im vorhandenen Baum vornimmt.
Updates in der Android 9-Version
In Android 9 darf der Bootloader die in den Gerätebaum-Overlays definierten Eigenschaften nicht ändern, bevor er den einheitlichen Gerätebaum-Blob an den Kernel übergibt.
Laden Sie einen Gerätebaum
Das Laden eines Gerätebaums im Bootloader umfasst das Erstellen, Partitionieren und Ausführen.

So erstellen und flashen Sie den Gerätebaum-Blob:
1a. Verwenden Sie den Gerätebaum-Compiler (
dtc
>), um die Gerätebaumquelle (.dts
) in einen Gerätebaum-Blob (.dtb
) zu kompilieren. Der Gerätebaum-Blob ist als abgeflachter Gerätebaum formatiert. 1b. Flashen Sie die.dtb
Datei an einem Speicherort, auf den der Bootloader zur Laufzeit zugreifen kann (siehe unten).Bestimmen Sie zum Partitionieren einen zur Bootloader-Laufzeit zugänglichen und vertrauenswürdigen Speicherort im Flash-Speicher, an dem
.dtb
abgelegt werden soll. Beispielstandorte:Boot-Partition Abbildung 2. Fügen Sie .dtb
in die Boot-Partition ein, indem Sie es animage.gz
anhängen und als „kernel
“ anmkbootimg
übergeben.Einzigartige Partition Abbildung 3. Legen Sie .dtb
in einer eindeutigen Partition ab (z. B.dtb
Partition).So laden Sie den Gerätebaum-Blob und starten den Kernel:
- Laden Sie
.dtb
vom Speicher in den Speicher. - Starten Sie den Kernel mit der Speicheradresse des geladenen DT.
- Laden Sie
Was kommt als nächstes?
Auf dieser Seite wird ein typischer Bootloader-Workflow zum Laden eines DT beschrieben und eine Liste allgemeiner DT-Begriffe bereitgestellt. Auf anderen Seiten in diesem Abschnitt wird beschrieben, wie Sie die Bootloader-Unterstützung implementieren , wie Sie Ihr DTO kompilieren , überprüfen und optimieren und wie Sie mehrere DTs verwenden . Sie können auch Details zur DTO-Syntax und zur erforderlichen DTO/DTBO-Partitionsformatierung erhalten.
,Ein Gerätebaum (DT) ist eine Datenstruktur benannter Knoten und Eigenschaften, die nicht erkennbare Hardware beschreiben. Kernel, wie der in Android verwendete Linux-Kernel, verwenden DTs, um eine Vielzahl von Hardwarekonfigurationen zu unterstützen, die von Android-Geräten verwendet werden. Hardwareanbieter stellen ihre eigenen Device Tree Source (DTS) -Dateien bereit, die mit dem Device Tree Compiler in die Device Tree Blob (DTB) -Datei kompiliert werden. Diese Dateien werden dann vom Bootloader verwendet. Die DTB-Datei enthält einen binär formatierten, abgeflachten Gerätebaum .
Ein Device Tree Overlay (DTO) ermöglicht die Überlagerung eines zentralen Device Tree Blobs (DTB) über den Gerätebaum. Ein Bootloader, der DTO verwendet, kann den SoC-DT (System-on-Chip) verwalten und einen gerätespezifischen DT dynamisch überlagern, indem er Knoten zum Baum hinzufügt und Änderungen an Eigenschaften im vorhandenen Baum vornimmt.
Updates in der Android 9-Version
In Android 9 darf der Bootloader die in den Gerätebaum-Overlays definierten Eigenschaften nicht ändern, bevor er den einheitlichen Gerätebaum-Blob an den Kernel übergibt.
Laden Sie einen Gerätebaum
Das Laden eines Gerätebaums im Bootloader umfasst das Erstellen, Partitionieren und Ausführen.

So erstellen und flashen Sie den Gerätebaum-Blob:
1a. Verwenden Sie den Gerätebaum-Compiler (
dtc
>), um die Gerätebaumquelle (.dts
) in einen Gerätebaum-Blob (.dtb
) zu kompilieren. Der Gerätebaum-Blob ist als abgeflachter Gerätebaum formatiert. 1b. Flashen Sie die.dtb
Datei an einem Speicherort, auf den der Bootloader zur Laufzeit zugreifen kann (siehe unten).Bestimmen Sie zum Partitionieren einen zur Bootloader-Laufzeit zugänglichen und vertrauenswürdigen Speicherort im Flash-Speicher, an dem
.dtb
abgelegt werden soll. Beispielstandorte:Boot-Partition Abbildung 2. Fügen Sie .dtb
in die Boot-Partition ein, indem Sie es animage.gz
anhängen und als „kernel
“ anmkbootimg
übergeben.Einzigartige Partition Abbildung 3. Legen Sie .dtb
in einer eindeutigen Partition ab (z. B.dtb
Partition).So laden Sie den Gerätebaum-Blob und starten den Kernel:
- Laden Sie
.dtb
vom Speicher in den Speicher. - Starten Sie den Kernel mit der Speicheradresse des geladenen DT.
- Laden Sie
Was kommt als nächstes?
Auf dieser Seite wird ein typischer Bootloader-Workflow zum Laden eines DT beschrieben und eine Liste allgemeiner DT-Begriffe bereitgestellt. Auf anderen Seiten in diesem Abschnitt wird beschrieben, wie Sie die Bootloader-Unterstützung implementieren , wie Sie Ihr DTO kompilieren , überprüfen und optimieren und wie Sie mehrere DTs verwenden . Sie können auch Details zur DTO-Syntax und zur erforderlichen DTO/DTBO-Partitionsformatierung erhalten.
,Ein Gerätebaum (DT) ist eine Datenstruktur benannter Knoten und Eigenschaften, die nicht erkennbare Hardware beschreiben. Kernel, wie der in Android verwendete Linux-Kernel, verwenden DTs, um eine Vielzahl von Hardwarekonfigurationen zu unterstützen, die von Android-Geräten verwendet werden. Hardwareanbieter stellen ihre eigenen Device Tree Source (DTS) -Dateien bereit, die mit dem Device Tree Compiler in die Device Tree Blob (DTB) -Datei kompiliert werden. Diese Dateien werden dann vom Bootloader verwendet. Die DTB-Datei enthält einen binär formatierten, abgeflachten Gerätebaum .
Ein Device Tree Overlay (DTO) ermöglicht die Überlagerung eines zentralen Device Tree Blobs (DTB) über den Gerätebaum. Ein Bootloader, der DTO verwendet, kann den SoC-DT (System-on-Chip) verwalten und einen gerätespezifischen DT dynamisch überlagern, indem er Knoten zum Baum hinzufügt und Änderungen an Eigenschaften im vorhandenen Baum vornimmt.
Updates in der Android 9-Version
In Android 9 darf der Bootloader die in den Gerätebaum-Overlays definierten Eigenschaften nicht ändern, bevor er den einheitlichen Gerätebaum-Blob an den Kernel übergibt.
Laden Sie einen Gerätebaum
Das Laden eines Gerätebaums im Bootloader umfasst das Erstellen, Partitionieren und Ausführen.

So erstellen und flashen Sie den Gerätebaum-Blob:
1a. Verwenden Sie den Gerätebaum-Compiler (
dtc
>), um die Gerätebaumquelle (.dts
) in einen Gerätebaum-Blob (.dtb
) zu kompilieren. Der Gerätebaum-Blob ist als abgeflachter Gerätebaum formatiert. 1b. Flashen Sie die.dtb
Datei an einem Speicherort, auf den der Bootloader zur Laufzeit zugreifen kann (siehe unten).Bestimmen Sie zum Partitionieren einen zur Bootloader-Laufzeit zugänglichen und vertrauenswürdigen Speicherort im Flash-Speicher, an dem
.dtb
abgelegt werden soll. Beispielstandorte:Boot-Partition Abbildung 2. Fügen Sie .dtb
in die Boot-Partition ein, indem Sie es animage.gz
anhängen und als „kernel
“ anmkbootimg
übergeben.Einzigartige Partition Abbildung 3. Legen Sie .dtb
in einer eindeutigen Partition ab (z. B.dtb
Partition).So laden Sie den Gerätebaum-Blob und starten den Kernel:
- Laden Sie
.dtb
vom Speicher in den Speicher. - Starten Sie den Kernel mit der Speicheradresse des geladenen DT.
- Laden Sie
Was kommt als nächstes?
Auf dieser Seite wird ein typischer Bootloader-Workflow zum Laden eines DT beschrieben und eine Liste allgemeiner DT-Begriffe bereitgestellt. Auf anderen Seiten in diesem Abschnitt wird beschrieben, wie Sie die Bootloader-Unterstützung implementieren , wie Sie Ihr DTO kompilieren , überprüfen und optimieren und wie Sie mehrere DTs verwenden . Sie können auch Details zur DTO-Syntax und zur erforderlichen DTO/DTBO-Partitionsformatierung erhalten.