dtc-1.7.2

Introdução ao Dtc

O pacote dtc contém o Device Tree Compiler para trabalhar com fontes de árvores de dispositivos e arquivos binários e também libfdt, uma biblioteca de utilitários para ler e manipular árvores de dispositivos no formato binário.

Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.3.

Informação do Pacote

  • Transferência (HTTP): https://kernel.org/pub/software/utils/dtc/dtc-1.7.2.tar.xz

  • Soma de verificação MD5 da transferência: 0f193be84172556027da22d4fe3464e0

  • Tamanho da transferência: 168 KB

  • Espaço em disco estimado exigido: 13 MB (com testes)

  • Tempo de construção estimado: 0,2 UPC (com testes)

Dependências de Dtc

Opcionais

libyaml-0.2.5, SWIG-4.3.0 e texlive-20240312

Instalação do Dtc

Instale dtc executando os seguintes comandos:

mkdir build &&
cd    build &&

meson setup --prefix=/usr         \
            --buildtype=release   \
            -D python=disabled .. &&
ninja

Para testar os resultados, emita: CC='gcc -Wl,-z,noexecstack' meson test -v.

Agora, como o(a) usuário(a) root:

ninja install

Ainda como o(a) usuário(a) root, remova a biblioteca estática inútil:

rm /usr/lib/libfdt.a

Se você tiver texlive-20240312 instalado, poderá construir o formato PDF da documentação emitindo o seguinte comando:

pushd ../Documentation
  latexmk -bibtex --pdf dtc-paper &&
  latexmk -bibtex --pdf dtc-paper -c
popd

Para instalar a documentação, como o(a) usuário(a) root emita o seguinte comando:

cp -R ../Documentation -T /usr/share/doc/dtc-1.7.2

Se você tiver instalado SWIG-4.3.0 e desejar instalar as ligações Python 3 desse pacote, construa o módulo Python 3:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir ..

Como o(a) usuário(a) root, instale o módulo Python 3:

pip3 install --no-index --find-links dist --no-user libfdt

Explicações do Comando

--buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados.

-D python=disabled: Essa chave impede construir a ligação do Python 3 com o método obsoleto (executando setup.py diretamente). Nós construiremos a ligação do Python 3 com o comando pip3 wheel separadamente, se desejado.

CC='gcc -Wl,-z,noexecstack': Essa variável impede marcar as bibliotecas compartilhadas na suíte de teste como exigindo pilha executável. A Glibc 2.41 ou posterior parou de permitir abrir com dlopen tal biblioteca compartilhada, de forma que a suíte de teste falharia. Mas essas bibliotecas compartilhadas não precisam realmente de uma pilha executável, de modo que nós podemos usar -Wl,-z,noexecstack para consertar a suíte de teste. É necessário no ambiente CC para o meson test porque essas bibliotecas compartilhadas são construídas por um conjunto de comandos sequenciais de teste em vez do sistema de construção meson/ninja, e o conjunto de comandos sequenciais de teste não reconhece outras variáveis de ambiente comuns como LDFLAGS.

Conteúdo

Aplicativos Instalados: convert-dtsv0, dtc, dtdiff, fdtdump, fdtget, fdtoverlay e fdtput
Biblioteca Instalada: libfdt.so
Diretório Instalado: /usr/lib/python3.13/site-packages/libfdt-1.7.2.dist-info e /usr/share/doc/dtc-1.7.2 (opcionalmente)

Descrições Curtas

convert-dtsv0

converte a fonte da árvore de dispositivos v0 em árvore de dispositivos v1

dtc

compila a fonte da árvore de dispositivos (dts) para o blob binário da árvore de dispositivos (dtb) ou descompila dtb para dts

dtdiff

compara duas árvores de dispositivos

fdtdump

imprime uma versão legível de um arquivo simples de árvore de dispositivos

fdtget

lê valores a partir da árvore de dispositivos

fdtoverlay

aplica uma série de sobreposições a um blob de árvore de dispositivo base

fdtput

escreve um valor de propriedade em uma árvore de dispositivos

libfdt.so

é uma biblioteca de utilitários para ler e manipular árvores de dispositivos no formato binário