stack_of
(usa Slackware)
Enviado em 13/08/2009 - 22:43h
Pode não ser a maneira mais técnica de compilar o kernel, mas assim que faço e sempre deu certo comigo.
Se você fosse instalar um novo kernel teria que remover o link simbólico assim:
#rm /usr/src/linux
Descompactar o novo kernel em /usr/src e criar um novo link simbólico :
#ln -s /usr/src/kernel_novo /usr/src/linux
Mas você apenas quer recompilar o kernel atual, basta:
cd /usr/src/linux
Faça um backup da configuracao atual e limpe os arquivos de configuracoes anteriores.
#cp .config .config-old
#make clean
#make mrproper
Recupere a config atual e faça as alterações necessárias:
#cp .config-old .config
#make menuconfig
Compilando o kernel, melhor fazer no modo texto após um ctrl+Alt+backspace :
#make
Vai tomar um café, da um passeio que demora pacas...
Instalando os modulos:
#make modules
#make modules_install
Copiar a imagem para o diretório /boot
#cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-versao_do_kernel
Agora, se voce tem HD SATA, vai precisar criar um initrrd (ramdisk). Da um lida em /boot/README.initrd. Por exemplo para um HD SATA com ext3 montado em /dev/sda1 e modulos do kernel 2.6.24.5-smp (e so olhar em /lib/modules onde ficam armazenados os modulos que voce compilou)
#cd /boot
Fazer um backup do initrd.gz original:
#cp initrd.gz initrd.gz-orig
Criar o initrd:
#mkinitrd -c -k 2.6.24.5-smp -m ext3 -f ext3 -r /dev/sda1
Renomeia o initrd.gz recém criado
#cp initrd.gz initrd.gz-new
Recupera o initrd.gz original:
#cp initrd.gz-orig initrd.gz
Agora so falta editar o lilo, acrescentando o kernel novo compilado:
vim /etc/lilo.conf
image = /boot/vmlinuz-versao_do_kernel
root = /dev/sda1
label = LinuxNV
initrd = /boot/initrd.gz-new
read-only
Só falta instalar o lilo:
#/sbin/lilo
Reinicia e torça para não dar "kernel panic"