BeagleBone Black executando o kernel estável upstream / u-boot sem nenhum patch

0

Eu tenho explorado o BeagleBone Black (BBB) há algum tempo com imagens pré-construídas. Agora estou tentando fazer com que meu próprio kernel seja compilado e implementado.

Nessa busca, descobri que a TI tem seu próprio repositório aqui e lá é outro repositório popular de conjunto de patches aqui (e muitos outros), ambos com alguns patches adicionais sobre o linha principal.

Estou determinado em entender que o suporte a BBB para ambos os sistemas, u-boot e linux-kernel, foi completamente upstreamed. Eu não deveria ser capaz de construir um kernel / u-boot estável com um toolchain adequado e esperar que ele funcione no BBB? Em caso afirmativo, por que existem repositórios atualizados? Se eles são de fato essenciais para os usuários comuns, por que isso não é feito a montante?

    
por dislamok 17.07.2018 / 14:04

1 resposta

1

I'm given to understand that BBB support for both u-boot and linux-kernel has been completely upstreamed.

Nada é verdadeiramente e totalmente "completo", especialmente em código aberto.

Shouldn't I be able to build a stable kernel/u-boot with a suitable toolchain and expect it to work on the BBB?

yes - para definições de 'estável' e 'trabalho'.

  • O kernel Linux vanilla funcionará absolutamente estável em um BBB genuíno, provavelmente para 99% de todos os usuários.
  • O mesmo vale para o U-Boot.

If so, why are there so may patched repositories?

Como mencionado anteriormente, nada é realmente feito em código aberto. Alguns aspectos que são importantes para certos usuários podem, por vários motivos, não ser upstream. Essas podem ser razões políticas, prioridades ou outras.

If they are indeed essential for the common users, why isn't it upstreamed already?

A mera existência de repositórios a jusante não implica que eles sejam essenciais para "usuários comuns". Na verdade, nesse estágio do ciclo de vida, eles são repositórios que atendem às necessidades de nicho. Por exemplo, a árvore git de Robert Nelson contém um conjunto de correções relativamente pequeno que está sendo mantido para o benefício de um grupo de usuários específico: usuários que esperam compatibilidade retroativa com os firmwares da beagleboard.org. Enquanto TI tenta manter seu SDK com determinados objetivos comerciais e pode fornecer coisas adicionais, como os acelerados drivers gráficos 3D, que são proprietários.

É importante perceber certos conceitos que se aplicam a este espaço.

  • Existem muitas definições de "concluído", "completo" e "obras"
  • Com o tempo, a maioria das funcionalidades atingirá um estado de trabalho
  • Peças de hardware menos populares ou menos documentadas talvez nunca estejam funcionando
  • O hardware mais recente pode exigir alterações no fluxo ascendente.
    • Por exemplo, o 4.19 vai adicionar suporte para o "BeagleBone melhorado " e também para o U- Inicialização verá algumas mudanças a esse respeito.
  • Ninguém força o downstream a enviar seus patches a montante, pelo contrário, na maioria das vezes é um trabalho significativo obter os patches aceitos no upstream e pode até mesmo precisar reescrever grandes partes do código.

O que estou tentando dizer é que as coisas não são preto e branco. O suporte do AM335x no kernel do Linux, na verdade, tem grandes quantidades de trabalho para obter tudo o que é humanamente possível. No final, você precisa decidir por si mesmo se a funcionalidade fornecida pelo kernel vanilla é suficiente para o seu caso de uso. Só você pode tomar essa decisão.

    
por 17.07.2018 / 17:01