Como compilar o kernel em um host Ubuntu?


16

Eu gostaria de entender mais sobre como o kernel funciona. Parte disso é compilá-lo eu mesmo. Como compilar o Kernel em um host Ubuntu?

Respostas:


24

Preparação

Primeiro, precisamos instalar os pré-requisitos necessários. Presumo que você tenha sudoacesso.

sudo apt-get install git ncurses-dev make gcc-arm-linux-gnueabi
  • git é o sistema de controle de versão usado pela equipe do kernel do Linux.
  • ncursesé uma biblioteca para criar menus do console. É necessário para menuconfig.
  • make executa a compilação para nós.
  • gcc-arm-linux-gnueabi é o compilador cruzado.

Em seguida, precisamos recuperar a fonte, execute:

git clone https://github.com/raspberrypi/linux raspberrypi-linux
cd raspberrypi-linux

Isso clonará o código-fonte em um diretório chamado raspberrypi-linuxe mudará para ele.

Compilação

Primeiro precisamos mover o arquivo de configuração executando

cp arch/arm/configs/bcmrpi_cutdown_defconfig .config

Em seguida, configure a compilação do kernel

make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- oldconfig

Opcional: Customize a construção usando menuconfig

make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- menuconfig

Em seguida, execute a compilação

make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -k
Referências

1
Muito obrigado por fornecer uma alternativa ao uso do crosstool-ng .
earthmeLon

No meu caso, CROSS_COMPILE é apenas um prefixo, portanto, o seguinte deve ser suficiente (sem o gcc no final): make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -k
danger89 28/06


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.