Como eu aplico um patch ao meu kernel Linux?

1

Estou tentando compilar o software SCS de destino iscsi. Ele quer que eu aplique um patch ao meu kernel Linux para permitir certos ganhos de desempenho. O problema é que ainda sou novo no desenvolvimento do Linux. Por onde começo? Como faço para aplicar o patch? Preciso recompilar o kernel? Socorro!

Estou executando o Ubuntu 10.04.3 amd64

Versão do kernel 2.6.32-28-server

    
por ianc1215 18.08.2011 / 21:58

1 resposta

4

Sua distribuição Linux geralmente tem suas próprias instruções. Pesquise em seu site ou pergunte no IRC - ou pelo menos nos conte a distro; sem saber, é impossível fornecer um anwer confiável.

As instruções genéricas são:

  1. Faça o download do código fonte do kernel em Kernel.org . "Estável" é provavelmente a melhor escolha. Extraia para um local conveniente (eu uso ~/src/linux ).

    • Leia o arquivo chamado README .
  2. Uma vez dentro do diretório fonte, copie a configuração atual do kernel, com: zcat /proc/config.gz > .config

    Se / proc não tiver, procure /boot/config-[version] .

  3. Aplique o patch, com: patch -p1 < foo.patch (tente -p0 se for rejeitado).

  4. Compile o kernel com: make silentoldconfig e make

  5. Instale os módulos com:% sudo make modules_install

  6. Instale a imagem do kernel .../linux/arch/i386/boot/bzImage para onde quer que seu gerenciador de inicialização queira. (Por exemplo, /boot/vmlinuz-custom .)

  7. Construa um initramfs para o novo kernel, se a sua distribuição o usar e, novamente, certifique-se de que o bootloader saiba sua localização. Por exemplo, no Arch Linux, você usaria:
    mkinitcpio -k /boot/vmlinuz-custom -g /boot/initramfs-custom

por 18.08.2011 / 22:11