Por que os dispositivos ARM não são fornecidos com o kernel mais recente do Linux?

1

Perguntando-se por que dispositivos baseados em ARM como Raspberry Pi, telefones Android, roteadores etc. não são fornecidos com o kernel mais recente do Linux? É simplesmente devido à falta de suporte de driver de dispositivo proprietário? Como a falta de drivers de código aberto para GPU, DSP etc? Ou eles têm alguma limitação para executar a última versão do kernel?

    
por Arnab 20.06.2015 / 11:43

1 resposta

3

O Raspberry Pi não é fornecido com nenhum kernel; ele não inclui software, embora você possa comprá-lo de alguns revendedores de terceiros com um cartão SD pré-formatado (e você pode comprar esse cartão separadamente). Existem várias distribuições binárias GNU / Linux especificamente para o A / B / + pi (já que o Pi 2 é ARMv7, ele não requer isso e as distribuições ARM genéricas podem ser usadas); eles são baseados principalmente em distribuições mainstream existentes e usam as mesmas versões de software exceto para o kernel, que não é baunilha e inclui alguns bits proprietários. A versão mais recente do que é 4.1, que é a mesma que o kernel vanilla mais recente no momento deste escrito.

No entanto, o kernel pi, como o kernel oficial, é independente de qualquer distro e as distros pi-centric não usam necessariamente o último kernel disponível, assim como as distribuições normais não usam necessariamente o último kernel disponível.

Com relação ao Android, esses kernels provavelmente contêm ainda mais material proprietário e o próprio kernel base ainda não é, eu acho, o mesmo que o kernel vanilla - eu não sei qual versão é a mais recente, mas não seria surpreendente se ela estivesse um pouco atrasada, já que há mais para checar neste caso do que com o pi.

Os verdadeiros fabricantes de Android com os quais estou familiarizado não atualizam o kernel com tanta frequência e param depois de um certo ponto, porque não prometeram manter o dispositivo atualizável no infinito. A razão pela qual eles não o atualizam com muita freqüência, em primeiro lugar, é presumivelmente porque "Se não está quebrado, não conserte" - é mais arriscado fazer isso do que simplesmente deixá-lo como está.

Esta é uma atitude sensata; o que seria totalmente louco seria para os fabricantes de dispositivos de consumo tentarem acompanhar o kernel.org. Esse não é o ponto. Linux é open source e seu desenvolvimento é público; você pode acessar os mesmos canais de comunicação e git repos que os desenvolvedores do kernel. Não é assim porque eles acham que todos deveriam se atualizar assim que liberarem algo. É assim porque o desenvolvimento é público e de código aberto. Eu posso te prometer que OS's proprietários não são mantidos atualizados para o kernel mais recente do equipamento que os produz - eles são provavelmente meses e anos atrás - mas porque você não está a par do estado de coisas lá, você não vai notar isso.

Em relação a isso, também é importante notar que o desenvolvimento do kernel Linux é independente de qualquer distribuição . Eles não estão trabalhando juntos, estritamente falando, então o propósito de um novo kernel não é especificamente para ser implementado em Android ou ARM ou Debian. Essas são entidades independentes que tomam suas próprias decisões sobre o que e o que não usar. Não há razão para que eles acordem de manhã e digam: "Bem, o Sr. Torvalds lançou 4,2 - melhor seguir em frente".

Uma ilustração concreta da vantagem deste relacionamento é que se o kernel 4.2 tiver alguns bugs nele, a distro X não sofrerá imediatamente com aqueles a menos que ele atualize cegamente seu kernel assim que é liberado. Em vez disso, a distro X pode esperar até que o 4.2 seja razoavelmente testado em campo; se houver problemas, ele pode ser ignorado e esperar pelo próximo.

Também não é desejável que a maioria dos usuários finais tenha seu kernel do sistema operacional atualizado semanalmente. Distros não lançam um 3.17.1, depois um 3.17.2, depois um 3.17.3. Eles podem liberar um 3.17.2 e depois 3.18.5. A diferença entre essas versões pode, na verdade, não ser tão significativa para a maioria dos usuários - portanto, além de ser irritante, seria inútil.

A mesma lógica se aplica a roteadores e dispositivos Android.

    
por 20.06.2015 / 12:43