Eu não sou um usuário do beagle board, então a primeira coisa que você quer fazer é ter certeza de ter uma fonte de kernel apropriada. A fonte baunilha suporta vários chips Cortex-A8 (ARMv7), incluindo "OMAP3 BeagleBoard", mas não posso dizer com certeza se isso é bom o suficiente sem mais patches.
O kernel 3.x deve ser retrocompatível com um ambiente de usuário 2.6 orientado, portanto, não deve haver nenhum problema, a menos que Angstrom dependa de alguma forma significativa de recursos implementados por seus próprios patches (nesse caso, você precisaria aplicar Essa). Isso não é um problema com as principais distribuições - embora eles personalizem seus kernels e recomendem que você use suas fontes corrigidas, eu nunca encontrei um problema usando a árvore baunilha - mas Angstrom é um pouco especializado, eu acho. Se Angstrom já tiver uma fonte 3.0.7, está tudo pronto. Se não, provavelmente não vai doer tentar com a fonte vanilla kernel.org (se inicializar ok, provavelmente vai ficar bem a partir daí).
Eu estou supondo que você já tenha uma toolchain de cross-compiler funcional que funcione para o BeagleBoard. Se não, você vai precisar de um (eu posso fornecer algumas dicas sobre isso também), uma vez que vai demorar um número de horas diretamente no BeagleBoard (aparentemente leva 5+ no pi framboesa) e provavelmente haverá alguma tentativa e erro. No entanto, em uma máquina multi-GHz moderna com vários núcleos, ela não deve demorar mais de 10 minutos, portanto, você não precisará se preocupar com a configuração de cada vez. A compilação cruzada do kernel é relativamente simples, já que ele não possui nenhuma dependência de compilação que ainda não faça parte do conjunto de ferramentas.
Para alguns detalhes sobre como configurar e compilar o kernel, veja aqui . Siga a dica sobre não usar make install
na etapa nº 5 (ou seja, instalar o kernel no BeagleBoard apropriadamente; não sei se ele usa um carregador de inicialização normal etc.) e defina INSTALL_MOD_PATH
como o sysroot do seu cross toolchain antes de executar make modules_install
, por exemplo
export INSTALL_MOD_PATH=/x-tool/sysroot
make modules_install
Isso deixará um diretório de módulo apropriado em /x-tool/sysroot/lib/modules
, que você pode copiar diretamente para o diretório /lib/modules
do BeagleBoard.