Kernel do Linux: significado da árvore de origem, dentro da árvore e fora da árvore

14

O que os termos "dentro da árvore" e "fora da árvore" significam exatamente? Além disso, "source tree" se refere especificamente ao kernel oficial lançado / mantido no kernel.org ou é um termo mais geral que pode se referir a qualquer fonte de kernel Linux (modificada)?

Lavya
fonte

Respostas:

11

"árvore de código-fonte" não é um termo específico para o desenvolvimento do código-fonte do kernel; portanto, ele deve ser um termo mais geral e seu significado em relação ao código-fonte do kernel depende do contexto.

Eu não encontrei "in-tree" e "out-of-tree" fora do desenvolvimento da fonte do kernel do Linux e depois apenas para trabalhar com módulos . Todos os módulos começam como desenvolvimentos "fora da árvore", que podem ser compilados usando o contexto de uma árvore de origem. Depois que um módulo é aceito para ser incluído, ele se torna um módulo na árvore. A IA não encontrou uma definição oficial para ambos os termos, talvez isso nunca fosse necessário, pois ficou claro para os que trabalham com os módulos o que isso significava.

Por exemplo, enquanto o módulo Reiserfs ainda era um módulo fora da árvore, eu fiz a geração de pacotes RPM para o SuSE, uma vez que ele se tornou interno, não era mais necessário.

Anthon
fonte
Obrigado! Então basicamente in-tree significa um módulo que vem como parte da árvore de origem e fora da árvore que não é?
Lavya
1
@Lavya Sim, essa é a única maneira de eu usá-lo. Mas, como indiquei, não encontrei uma definição formal.
Anthon
"in-tree" e "out-of-tree" são na verdade termos genéricos de desenvolvimento de software. Refere-se ao local em que a saída / artefato resultante da compilação é colocada durante uma compilação, "in-tree", ao lado dos arquivos de onde vêm ou "out-of-tree", em um diretório raiz separado que separa a compilação saída dos arquivos de origem. O kernel sobrecarrega esses termos ao falar sobre módulos, como você descreveu em sua resposta.
precisa saber é
@mtalexan Algumas referências que apoiam sua reivindicação seriam úteis. O único que encontrei até agora é que autosetup, em algum momento (eles não o usaram pela primeira vez), começaram a usar out-of-treeo modo como você descreve, mas eles usam em in-placevez de in-treeno documento.
Anthon
@Anthon in-treee in-placesão sinônimos para o mesmo termo na minha experiência. Eu realmente não tenho referências para isso, foi algo que comecei a trabalhar no setor em várias empresas e subcampos nos últimos 15 anos, em vez de algo que li em um livro. Eu estava apenas apontando que, em termos de jargão técnico, é algo que você provavelmente encontrará em outros contextos com significados ligeiramente diferentes. Também não estava criticando, apenas adicionando um contexto adicional para futuros leitores.
mtalexan