Uyuşturucu ticareti örgütlerini uygulayın

Cihaz ağacı yer paylaşımlarını (DTO) uygulamak için cihaz ağacını (DT), binayı, bölümlendirme ve çalıştırma. Çalışan bir uygulamanız olduktan sonra, arasındaki uyumluluğu sağlamaya yönelik bir strateji belirler ve her DT bölümünün güvenliğini sağlar.

DT'yi bölün

DT'yi iki bölüme ayırarak başlayın:

  • Ana DT. Yalnızca SoC'ye yönelik kısım ve varsayılan yapılandırmalar, SoC tedarikçisi tarafından sağlanır.
  • Yer paylaşımlı DT. Google Cloud Platform'un sunduğu ODM/OEM.

DT'leri böldükten sonra, ana fonksiyonlar arasındaki DT'yi ve yer paylaşımlı DT'yi sağlar. Böylece ana DT ile bindirmeli DT'nin birleştirilmesi, Cihazın DT'si. DTO biçimi ve kurallarıyla ilgili ayrıntılar için şuraya bakın: DTO söz dizimi. Ayrıntılı bilgi için için bkz. Birden çok DT.

Ana ve yer paylaşımlı DT'ler oluştur

Ana DT'yi oluşturmak için:

  1. Ana DT .dts dosyasını bir .dtb dosyası olarak derleyin.
  2. .dtb dosyasını bootloader'ın çalışma zamanına uygun bölümüne yükleyin ([Bölüm DT'lerinde](#partition) ayrıntılı olarak açıklanmaktadır).

Bindirme DT'sini oluşturmak için:

  1. Yer paylaşımlı DT .dts dosyasını bir .dtbo dosyası olarak derleyin. Bu sırada bu dosya biçimi, .dtb farklı dosya uzantısı kullanılarak DT'den ayırt edilebilmesi için ana DT.
  2. .dtbo dosyasını bootloader'ın çalışma zamanına uygun bölümüne yükleyin ([Bölüm DT'lerinde](#partition) ayrıntılı olarak açıklanmaktadır).

DTC ile derleme ve ana makinede DTO sonuçlarını doğrulama ile ilgili ayrıntılar için şuraya bakın: Derleyin ve doğrulayın.

Bölüm DT'leri

Flash'ta bootloader'ın çalışma zamanına uygun ve güvenilir bir konumunu belirleyin hafızaya alındı: .dtb ve .dtbo.

Ana DT için örnek konumlar:

  • Çekirdeğe eklenen, başlatma bölümünün bir parçası (image.gz)
  • Özel bölümlendirmede (dtb) ayrı DT blob'ları (.dtb)

Bindirme DT için örnek yerler:

Şekil 1. dtbo bölümünü, dtbo bölümü gibi benzersiz bir bölüme yerleştirin.

Şekil 2. .dtbo dosyasını bir odm bölümüne yerleştirin (bunu yalnızca bootloader'ınız Bir odm bölümünün dosya sisteminden veri yükleme özelliği).

Not: Etiketin boyutu yer paylaşımlı DT bölümü cihaza ve cihazda gereken değişikliklerin miktarına ana DT blobunun üst kısmında yer alır. 8 MB genellikle yeterlidir. Bu boyut, gelecekte de büyüyebileceğinden emin olabilirsiniz.

Şu cihazları destekleyen cihazlar için: kusursuz (A/B) güncellemeler, ana DT ve bindirme DT bölümleri:

Şekil 3. DTBO bölümü A/B, örnek 1.

4.Şekil DTBO bölümü A/B, örnek 2.

Bootloader'da çalıştır

Çalıştırmak için:

5. Şekil. Bootloader'da DTO için tipik çalışma zamanı uygulaması.

  1. .dtb öğesini depolama alanından belleğe yükleyin.
  2. .dtbo öğesini depolama alanından belleğe yükleyin.
  3. Birleştirilmiş DT olmak için .dtb üzerine .dtbo ekleyin.
  4. Birleştirilmiş DT'nin bellek adresine göre çekirdeği başlatın.

Uyumluluğu koruyun

Ana DTB (SoC tedarikçisinden alınan), DTBO'lar için bir API yüzeyi olarak değerlendirilir. Şu tarihten sonra: DT'yi, SoC'ye (SoC) ve cihaza özgü bir bölüme ayırmak, gelecekte bu iki bölümü karşılıklı olarak uyumlu hale getirmelisiniz:

  • Ana DT'deki DT tanımı. Örneğin, düğümler, özellikler etiketler. Ana DT'deki herhangi bir tanım değişikliği, yer paylaşımındaki değişiklikleri tetikleyebilir DT. Örneğin, ana DT'de bir düğüm adını düzeltmek için bir "takma ad" tanımlayın şunu etiketle: orijinal düğüm adıyla eşleşir (bindirme DT'sinin değişmesini önlemek için).
  • Bindirme DT mağazası konumu. Örneğin, bölüm adı, mağaza biçimindedir.

Güvenliği sağlama

Bootloader, DTB veya DTBO'nun güvenli, değiştirilmemiş ve bozuk olmadığından emin olmalıdır. DTB veya DTBO'yu güvence altına almak için dilediğiniz çözümü kullanabilirsiniz. Örneğin, Başlatma görüntüsü VBoot 1.0'da imza veya AVB HASH altbilgisi (VBoot 2.0).

  • DTB veya DTBO benzersiz bir bölümdeyse bu bölümü güven zinciri olabilir. Güven zinciri, güven verir ve bütünlük ile özgünlüğü doğrulayan bootloader'a gider bölümünü içerir.
  • DTB veya DTBO mevcut bir bölümde (ör. odm bölüm) bu bölümlendirme AVB'nin güven zincirinde olmalıdır. (DTBO bölümü odm bölümüyle bir ortak anahtarı paylaşabilir.

Ayrıntılar için Doğrulandı Başlatma.