kernel build - cross-compile

3

Eu faço uma compilação cruzada da compilação do kernel do Ubuntu. Estou seguindo as instruções para construir o Ubuntu para omap:

fakeroot debian/rules clean
do_tools=false skipabi=true skipmodule=true dpkg-buildpackage -B -aarmhf -uc -us

Mas o acima sempre faz com que seja limpo e leva muito tempo. Acabei de fazer uma alteração no mesmo arquivo, por isso não preciso recriar a partir do zero.

Eu tentei pular a linha $ fakeroot debian / rules clean e também removido "-uc", mas ainda faz isso de limpo:

Eu então tentei outro método e fiz:

 make -j3 deb-pkg

Mas então recebi um novo erro:

dpkg-deb: building package 'linux-firmware-image' in '../linux-firmware-image_3.4.27+-1_all.deb'.
dpkg-gencontrol: error: current host architecture 'armhf' does not appear in package's architecture list ()
make[1]: *** [deb-pkg] Error 255

Então eu preciso esperar ~ 2 horas para que a construção termine ...

Tudo que eu tento fazer é modificar o arquivo board (infelizmente eu não posso fazer dele um módulo, pelo que entendi).

Obrigado por qualquer ideia.

Ran

    
por ransh 25.07.2016 / 15:33

1 resposta

2

Ao usar os kernels debian packaged do Ubuntu, eu construo kernels arm64 da mesma forma que os seguintes (você deve ser capaz de substituir o arm64 pelos flags específicos do armhf arch que correspondem ao seu alvo e cross-compilador).

export ARCH=arm64
export $(dpkg-architecture -aarm64); export CROSS_COMPILE=aarch64-linux-gnu-

fakeroot debian/rules clean
debian/rules build
fakeroot debian/rules binary

Para versões subsequentes, uso:

rm debian/stamps/stamp-build*
debian/rules build
fakeroot debian/rules binary
    
por Colin Ian King 25.07.2016 / 17:48