Posso usar o kernel 2.6 fornecido com o meu sistema embarcado para executar o 12.04?

2

Em resumo, sou bastante novo no Linux, mas tenho a tarefa de escrever alguns softwares. O software deve ser executado em uma placa de hardware específica e os fabricantes desta placa forneceram uma compilação personalizada do kernel que, na minha opinião, não é padrão. Eu consegui instalar o Ubuntu 8.04 em um flash card compacto nesta placa e apliquei suas modificações no kernel. Agora, quando vou instalar o g + + usando

    sudo  apt-get install build-essential

Eu recebo um erro

    E: Couldn't find package build-essential

Eu já vi esse erro em outras perguntas, e não estou perguntando aqui por que recebo esse problema, mas quero saber se seria seguro atualizar minha versão do Ubuntu para uma versão mais recente e depois aplicar as modificações do kernel do fornecedor. O kernel do fornecedor é rotulado por eles como 2.6.30, então seria seguro aplicar isso em uma versão que tem uma versão 3.2 do kernel? Se eu não puder instalar o g ++, não será seguro desenvolver um aplicativo, mas simplesmente não sei o suficiente sobre o funcionamento interno do Linux para saber os efeitos de usar uma versão mais recente e aplicar as modificações do kernel do fornecedor.

    
por mathematician1975 19.06.2012 / 17:25

3 respostas

0

Descompacte o arquivo * .deb contendo a modificação para ver de que forma o módulo é distribuído. Também dê uma olhada no conteúdo do outro pacote e veja quais arquivos são enviados para lá. Se alguns arquivos são módulos pré-compilados para uma versão específica do kernel (arquivos * .ko), então esses módulos quase certamente não cooperarão com um kernel mais recente, e atualizar o Ubuntu sem atualizar o kernel também está causando problemas.

Se, por outro lado, os módulos do kernel são distribuídos em um formato fonte (* .c), talvez contendo algum blob binário, então o pacote deb provavelmente usará dkms ou similar para ter módulos compilados para o kernel atual, e o shell script pode fazer alguma compilação para o kernel atual também. Nesses casos, você deve ver se os módulos compilam contra as fontes de um kernel atual do Ubuntu. Você deve ser capaz de compilá-los em um sistema de teste, não usando o hardware alvo ainda.

Se eles compilarem com sucesso, as chances são boas de que eles funcionem como deveriam, embora não haja garantias. Se eles não conseguirem compilar, você poderá ver se consegue localizar uma versão do kernel recente o suficiente para suportar uma atualização, mas ainda com idade suficiente para ser compatível com esses módulos. Ou você pode ajustar as fontes do módulo para levar em consideração as alterações da API do kernel.

    
por MvG 22.06.2012 / 12:51
0

O kernel mínimo requerido para o Ubuntu 12.04 é 2.6.24

O Ubuntu 12.04 deve instalar e rodar com sucesso em qualquer kernel que seja mais recente que o 2.6.24. A causa raiz deste requisito é que as bibliotecas libc fornecidas com 12.04 - libc são a base na qual cada binário / biblioteca do Ubuntu depende. Este requisito também pode ser ignorado .

Para o 10.04 (ou mais recente), o seu fabricante requer que você use um kernel especial 2.6.34

Você deve usar os suprimentos DMP especiais do kernel 2.6.34 aqui , que é necessário para instalar o Ubuntu 10.04 (ou mais recente, se possível).

Este fato é perfeitamente claro em sua página de suporte:

Você pode usar o kernel 2.6.34 com o Ubuntu 12.04?

Não vejo razão para você não poder. O diretório FTP do DMP fornece a fonte do kernel, assim como todos os patches. É claro que ninguém sem um Vortex86DX / SX pode confirmar se funcionará imediatamente ou o que você precisará para ter certeza de que funciona.

Eu duvido muito que o fabricante vá entregar seu suporte oficial a 12.04 em uma bandeja, já que eles parecem ter problemas mesmo com 10.10 e estão presos em 10.04. Infelizmente, é assim que o hardware embarcado proprietário é frequentemente.

    
por ish 21.06.2012 / 21:52
-1

Eu não sei de fontes oficiais, mas de 3.2 para 2.6 versões do kernel há um grande salto. Se você instalar um Ubuntu 12.04 nessa placa e, em seguida, aplicar um kernel 2.6 em cima, você certamente terá problemas de incompatibilidade (hardware e software, bibliotecas, etc). Essencialmente, você pode acabar com um sistema pouco utilizável. Versões mais recentes do Ubuntu dependem strongmente dos desenvolvimentos mais recentes do kernel.

Parece-me que você tem um problema com a configuração do seu servidor DNS em sua versão 8.04. Se você consertar isso, poderá instalar o build-essential sem problemas.

Executar

  

sudo apt-get update

e verifique o que a saída lhe diz.

Se você tem conexão com a internet, então você pode aqui : e baixar o pacote .deb de build-essential para o Ubuntu 8.04.

    
por leousa 21.06.2012 / 17:51