Diferenças entre edições de "Compilação do Kernel"
Linha 94: | Linha 94: | ||
Verificar o tamanho do ficheiro busybox. | Verificar o tamanho do ficheiro busybox. | ||
+ | |||
+ | == Preparação da máquina de teste == | ||
+ | O teste do novo kernel pode ser feita na máquina local. Contudo, neste tutorial foi utilizada uma máquina virtual, com 10GB de disco e duas partições, e uma distribuição linux instalada. | ||
+ | |||
+ | *8GB para o sistema base | ||
+ | *2GB para /MyDistro em jfs (ou o sistema de ficheiros que desejar) | ||
+ | |||
+ | Após a instalação da máquina é necessário executar os comandos de update e upgrade: | ||
+ | sudo apt update | ||
+ | sudo apt upgrade | ||
+ | |||
+ | |||
+ | Deverá, de seguida, passar os ficheiros do kernel, o bzImage, e o do Busybox, busybox, para a partição /MyDistro da máquina virtual. | ||
= Gentoo = | = Gentoo = |
Revisão das 16h06min de 7 de agosto de 2018
Índice
Genérico / Vanilla
Fazer o download do kernel e do BusyBox
Instalação de pacotes adicionais
- build-essential
- libncurses-dev
- bison
- flex
- libelf-dev
Pré-configuração
- Criação de um directório de trabalho
mkdir MyDistro
- Mover os downloads efectuados para o directório anteriormente criado
mv Transferências/linux-4.17.12.tar.xz MyDistro/ mv Transferências/busybox-1.29.2.tar.bz2 MyDistro/ cd MyDistro
- Descompactar os downloads
tar -jxf busybox-1.29.2.tar.bz2 tar -Jxf linux-4.17.12.tar.xz
Compilação do Kernel
- Entrar no directório descompactado do Kernel
cd MyDistro/linux-4.17.12
- Limpar a pasta do código fonte de todas as configurações e objectos já construídos.
make mrproper
Nota: Este comando ao ser executado depois de se fazer alguma modificação no kernel, vai apagar tudo o que foi modificado, voltando a colocar o estado inicial.
- Entrar no menu de configuração do Kernel.
make menuconfig
Nota: Neste passo, cada um deve retirar o que achar desnecessário para o kernel que está a construir, ou adicionar. No final, será criado um ficheiro .config com todas as modificações.
- Compilar o novo Kernel.
make
ou
make -j4 (em que o 4 corresponde ao número de núcleos que o processador possui)
ou
time make -j4 (onde o time vai permitir contabilizar o tempo que demora a executar o comando)
- Verificar tamanho do novo Kernel
ls -l arch/x86/boot
Verificar o tamanho do ficheiro bzImage.
Nota: O Kernel original, depois de compilado, tinha +/- 8,4MB. Em algumas experiências, foi possível reduzir o tamanho do Kernel para +/- 5,7MB.
Compilação do BusyBox
Entrar no directório BusyBox previamente descompactado
- Entrar no menu de configuração do BusyBox
make menuconfig
Importante: Adicionar no menu Settings -> Build Options -> Build static binary (no shared libs)
- Compilar o BusyBox
make
ou
make -j4 (em que o 4 corresponde ao número de núcleos que o processador possui)
ou
time make -j4 (onde o time vai permitir contabilizar o tempo que demora a executar o comando)
- Verificar o tamanho do novo BusyBox
ls -l
Verificar o tamanho do ficheiro busybox.
Preparação da máquina de teste
O teste do novo kernel pode ser feita na máquina local. Contudo, neste tutorial foi utilizada uma máquina virtual, com 10GB de disco e duas partições, e uma distribuição linux instalada.
- 8GB para o sistema base
- 2GB para /MyDistro em jfs (ou o sistema de ficheiros que desejar)
Após a instalação da máquina é necessário executar os comandos de update e upgrade:
sudo apt update sudo apt upgrade
Deverá, de seguida, passar os ficheiros do kernel, o bzImage, e o do Busybox, busybox, para a partição /MyDistro da máquina virtual.