Diferenças entre edições de "Compilação do Kernel"

Fonte: TecPorto
Saltar para a navegação Saltar para a pesquisa
 
(Há 24 edições intermédias do mesmo utilizador que não estão a ser apresentadas)
Linha 1: Linha 1:
= Genérico / Vanilla =
+
= Genérico/Vanilla =
 +
Antes de compilar o novo kernel, é necessário instalar as seguintes dependências:
  
== Fazer o download do kernel e do BusyBox ==
 
[http://www.kernel.org Kernel Vanilla]
 
 
[http://www.busybox.net BusyBox]
 
 
== Instalação de pacotes adicionais ==
 
 
*build-essential
 
*build-essential
 
*libncurses-dev
 
*libncurses-dev
Linha 12: Linha 7:
 
*flex
 
*flex
 
*libelf-dev
 
*libelf-dev
 +
*libssl-dev
  
== Pré-configuração ==
+
De seguida:
*Criação de um directório de trabalho
+
*Entrar no directório descompactado do Kernel
  mkdir MyDistro
 
  
 +
<syntaxhighlight lang="bash">
 +
cd linux-4.17.12
 +
</syntaxhighlight>
  
*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
 
  
 +
*Limpar a pasta do código fonte de todas as configurações e objectos já construídos.
  
*Descompactar os downloads
+
<syntaxhighlight lang="bash">
  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
 
  make mrproper
 +
</syntaxhighlight>
  
  
Linha 40: Linha 27:
  
 
*Entrar no menu de configuração do Kernel.
 
*Entrar no menu de configuração do Kernel.
 +
 +
<syntaxhighlight lang="bash">
 
  make menuconfig
 
  make menuconfig
 +
</syntaxhighlight>
  
  
Linha 46: Linha 36:
  
 
*Compilar o novo Kernel.
 
*Compilar o novo Kernel.
 +
 +
<syntaxhighlight lang="bash">
 
  make  
 
  make  
 +
</syntaxhighlight>
  
 
ou
 
ou
  
 +
<syntaxhighlight lang="bash">
 +
make -j4 (em que o 4 corresponde ao número de núcleos que o processador possui)
 +
</syntaxhighlight>
  
  make -j4 (em que o 4 corresponde ao número de cores que o processador possui)  
+
ou
 +
 
 +
<syntaxhighlight lang="bash">
 +
  time make -j4 (onde o time vai permitir contabilizar o tempo que demora a executar o comando)
 +
</syntaxhighlight>
 +
 
 +
*Verificar tamanho do novo Kernel
 +
 
 +
<syntaxhighlight lang="bash">
 +
ls -l arch/x86/boot
 +
</syntaxhighlight>
  
ou
 
  
 +
Verificar o tamanho do ficheiro bzImage.
  
time make -j4 (onde o time vai permitir contabilizar o tempo que demora a executar o comando)
+
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.
  
 
= Gentoo =
 
= Gentoo =

Edição atual desde as 17h39min de 29 de agosto de 2018

Genérico/Vanilla

Antes de compilar o novo kernel, é necessário instalar as seguintes dependências:

  • build-essential
  • libncurses-dev
  • bison
  • flex
  • libelf-dev
  • libssl-dev

De seguida:

  • Entrar no directório descompactado do Kernel
 cd 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.

Gentoo

Ubuntu

CentOS