O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Usando Múltiplos DTs

Muitos fornecedores de SoC e ODMs oferecem suporte ao uso de vários DTs em um dispositivo, permitindo que uma imagem para alimentar vários SKUs / configurações. Nesses casos, o bootloader identifica o hardware e carrega o DT correspondente no tempo de execução:

Figura 1. Árvores de vários dispositivos sobrepostas no bootloader.

Nota: Usar vários DTs não é obrigatório.

Configurando

Para adicionar suporte para vários DTs ao modelo de DTO, configure uma lista de DTs principais e outra lista de DTs de sobreposição.

Figura 2. Implementação de DTO em tempo de execução para vários DTs.

O bootloader deve ser capaz de:

  • Leia o SoC ID e selecione a árvore do dispositivo principal correspondente, e
  • Leia o ID da placa e selecione o conjunto de árvores de dispositivos de sobreposição de acordo.

Apenas um DT principal deve ser selecionado para uso em tempo de execução. Múltiplos TDs de sobreposição podem ser selecionados, mas devem ser compatíveis com o TD principal escolhido. O uso de múltiplas sobreposições pode ajudar a evitar o armazenamento de uma sobreposição por placa dentro da partição DTBO e permite que o bootloader determine o subconjunto de sobreposições necessárias com base na ID da placa (ou possivelmente testando os periféricos). Por exemplo, a Placa A pode precisar dos dispositivos adicionados pelas sobreposições 1, 3 e 5, enquanto a Placa B pode precisar dos dispositivos adicionados pelas sobreposições 1, 4 e 5.

Particionamento

Para particionar, determine um local confiável e acessível em tempo de execução do bootloader na memória flash para armazenar os DTBs e DTBOs (o bootloader deve ser capaz de localizar esses arquivos no processo de correspondência). Lembre-se de que DTBs e DTBOs não podem existir na mesma partição. Se seus DTBs / DTBOs estão no dtb / dtbo partição, use o formato de estrutura da tabela e cabeçalho detalhado na DTB / DTBO Format Partition .

Executando no bootloader

Para correr:

  1. Identifique o SoC e carregue o .dtb correspondente do armazenamento para a memória.
  2. Identifique a placa e carregue o .dtbo correspondente do armazenamento para a memória.
  3. .dtb o .dtb com o .dtbo para ser um DT mesclado.
  4. Inicie o kernel com o endereço de memória da TD mesclada.