Como construir um kernel personalizado? [duplicado]

6

Eu quero testar um kernel personalizado (upstream) no Fedora.

O plano até agora é:

  • use uma configuração recente do fedora como ponto de partida, por exemplo %código%
  • dependências de construção de pesquisa
  • lookup right faça comandos
  • executa alguns comandos make
  • cp resultante vmlinuz / System.map para /boot/config-3.6.6-1.fc17.x86_64
  • ajusta o grub

Mas e o arquivo initramfs ... img? Como faço para gerá-lo?

O que mais é importante?

    
por maxschlepzig 16.11.2012 / 23:30

2 respostas

3

Quando você compila seu kernel Linux em seu Fedora, a maioria das dependências não deve incomodá-lo. Então, o que você precisa fazer é seguir os seguintes passos:

  • Faça o download do código-fonte do kernel no kernel.org ou no github; geralmente um arquivo tar.gz .
  • Extraia o arquivo do kernel para algum diretório (por exemplo, seu diretório pessoal).
  • Configure o kernel. Este é o passo mais importante que suponho. Você pode usar seu antigo arquivo .config , que está em /usr/src/linux usando o comando make oldconfig , ou pode configurá-lo sozinho usando o comando make menuconfig . Se você precisa de algumas ferramentas de GUI, você precisa instalar alguns pacotes extras, tanto a GUI baseada em Qt quanto a baseada em GTK estão disponíveis. Na verdade, o passo mais importante e muitas vezes perigoso é como obter os drivers corretos e como ter certeza de que você realmente precisa ou não de uma função do kernel.
  • make
  • make modules
  • %código%. Para a maioria dos novos kernel, não precisamos mais executar make install .
  • Coloque a imagem do kernel no diretório de inicialização e edite o menulista do grub.
  • Reinicie seu sistema, seu kernel funcionará!

Para mais informações e etapas mais precisas, além de dicas, o Linux Kernel in a Nutshell de Greg Kroah-Hartman (O'Reilly) pode ajudar.

    
por 17.11.2012 / 13:20
1

Uma maneira: Primeiro instale o pacote linux-source ou kernel-source, então acredito que você faça os seguintes passos (já faz algum tempo):

cd /usr/src/kernels/*whereverthekernelsourcesare*
make config
make 
make modules
make modules_install
make install
    
por 17.11.2012 / 00:09