Instalando kernel-2.6.11 source em teu Linux
Dica publicada em Linux / Kernel
Instalando kernel-2.6.11 source em teu Linux
Para a compilação do kernel você precisará basicamente do
ncurses (geralmente um pacote chamado
libncurses-dev ou ncurses-devel) e do
module-init-tools (essas ferramentas são necessárias
para que alguns comandos como o "make modules_install" sejam
executados). Se você estiver sentindo falta destes pacotes,
bastar fazer a download de sua própria fonte, por exemplo:
# apt-get install libncurses-dev
Vou usar como referência o kernel da versão 2.6.11:
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.11.tar.bz2
Pronto. Depois de ter feito o download do source do kernel você abre seu terminal/console e copia o arquivo baixado para a pasta /usr/src, e em seguida descompacta-o:
# cp linux-2.6.11.tar.bz2 /usr/src
# cd /usr/src
# tar jxvf linux-2.6.11.tar.bz2
Agora crie um link simbólico para o diretório que foi criado. Chame-o de "linux" (se já existir esta pasta, remova e crie novamente).
# ln -s /usr/src/linux-2.6.11 /usr/src/linux
OK, entre no diretório criado /usr/src/linux e em seguida terá início a configuração do kernel:
# cd /usr/src/linux
# make mrproper
# make menuconfig
É necessário que você selecione todas as opções referentes ao seu hardware e os sistemas de arquivos que você usa. No menuconfig um '*' significa que a opção será compilada dentro da imagem do kernel, um 'M' significa que será compilado como um módulo externo. O sistema de arquivos que a sua partição Linux usa deve ser marcado como '*', bem como suporte a ide (ou SCSI se for o caso).
O restante das opções você pode escolher como módulo se quiser. Se você selecionar alguma opção como módulo, deve habilitar as seguintes opções:
Loadable Module Support > Enable loadable module support
Loadable Module Support > Module unloading
Loadable Module Support > Automatic kernel module unloading
Salve e dê inicio a compilação!
A primeira coisa a fazer é criar uma imagem do kernel:
# make bzImage
Após o término deste comando a imagem do kernel gerada é gravada em /usr/src/linux/arch/i386/boot/bzImage.
O próximo passo é compilar e instalar os módulos selecionados durante a implementação do kernel:
# make modules
# make modules_install
Seu kernel já está compilado e com seus módulos devidamente instalados!
Vamos agora configurar o nosso sistema para poder inicializar com este novo kernel. Copie os arquivos de imagem, configuração e o System.map para a pasta /boot, em seus respectivos diretórios. Em seguida, finalizando o arranjo do kernel crie uma init para seu sistema (hdaX é a partição que teu Linux está).
# cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.6.11
# cp /usr/src/linux/.config /boot/config-2.6.11
# cp /usr/src/linux/System.map /boot/System.map-2.6.11
# mkinitrd -k -o /boot/initrd.img-2.6.11 -r /dev/hdaX
Por fim, basta configurar teu gerenciador de boot para dar acesso ao sistema startar com o novo kernel! Veja:
Edite o arquivo /boot/grub/menu.lst (ou /boot/grub/grub.conf). Veja qual a partição onde seu Linux está instalado. O GRUB usa uma configuração do tipo (hdx,y), onde x é a interface ide e o y é o numero da partição. Neste caso /dev/hda5 = (hd0,4). Vou usar /dev/hda5 como exemplo nesta configuração:
# apt-get install libncurses-dev
Vou usar como referência o kernel da versão 2.6.11:
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.11.tar.bz2
Pronto. Depois de ter feito o download do source do kernel você abre seu terminal/console e copia o arquivo baixado para a pasta /usr/src, e em seguida descompacta-o:
# cp linux-2.6.11.tar.bz2 /usr/src
# cd /usr/src
# tar jxvf linux-2.6.11.tar.bz2
Agora crie um link simbólico para o diretório que foi criado. Chame-o de "linux" (se já existir esta pasta, remova e crie novamente).
# ln -s /usr/src/linux-2.6.11 /usr/src/linux
OK, entre no diretório criado /usr/src/linux e em seguida terá início a configuração do kernel:
# cd /usr/src/linux
# make mrproper
# make menuconfig
É necessário que você selecione todas as opções referentes ao seu hardware e os sistemas de arquivos que você usa. No menuconfig um '*' significa que a opção será compilada dentro da imagem do kernel, um 'M' significa que será compilado como um módulo externo. O sistema de arquivos que a sua partição Linux usa deve ser marcado como '*', bem como suporte a ide (ou SCSI se for o caso).
O restante das opções você pode escolher como módulo se quiser. Se você selecionar alguma opção como módulo, deve habilitar as seguintes opções:
Loadable Module Support > Enable loadable module support
Loadable Module Support > Module unloading
Loadable Module Support > Automatic kernel module unloading
Salve e dê inicio a compilação!
A primeira coisa a fazer é criar uma imagem do kernel:
# make bzImage
Após o término deste comando a imagem do kernel gerada é gravada em /usr/src/linux/arch/i386/boot/bzImage.
O próximo passo é compilar e instalar os módulos selecionados durante a implementação do kernel:
# make modules
# make modules_install
Seu kernel já está compilado e com seus módulos devidamente instalados!
Vamos agora configurar o nosso sistema para poder inicializar com este novo kernel. Copie os arquivos de imagem, configuração e o System.map para a pasta /boot, em seus respectivos diretórios. Em seguida, finalizando o arranjo do kernel crie uma init para seu sistema (hdaX é a partição que teu Linux está).
# cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.6.11
# cp /usr/src/linux/.config /boot/config-2.6.11
# cp /usr/src/linux/System.map /boot/System.map-2.6.11
# mkinitrd -k -o /boot/initrd.img-2.6.11 -r /dev/hdaX
Por fim, basta configurar teu gerenciador de boot para dar acesso ao sistema startar com o novo kernel! Veja:
GRUB
Edite o arquivo /boot/grub/menu.lst (ou /boot/grub/grub.conf). Veja qual a partição onde seu Linux está instalado. O GRUB usa uma configuração do tipo (hdx,y), onde x é a interface ide e o y é o numero da partição. Neste caso /dev/hda5 = (hd0,4). Vou usar /dev/hda5 como exemplo nesta configuração:
title Debian GNU/Linux, Kernel 2.6.11
root (hd0,4)
kernel /boot/vmlinuz-2.6.11 root=/dev/hda5 ro
initrd /boot/initrd.img-2.6.11
boot
root (hd0,4)
kernel /boot/vmlinuz-2.6.11 root=/dev/hda5 ro
initrd /boot/initrd.img-2.6.11
boot
LILO
Edite o arquivo /etc/lilo.conf. Saiba qual a partição onde seu Linux está instalado. É algo como /dev/hdax, onde x é um número. Olhe no lilo.conf na parte referente ao outro kernel e use a mesma partição na nova configuração. Vou usar /dev/hda5 como referência:
image /boot/vmlinuz-2.6.11
initrd=/boot/initrd.img-2.6.11
root=/dev/hda5
label=Debian GNU/Linux, Kernel-2.6.11
read-only
initrd=/boot/initrd.img-2.6.11
root=/dev/hda5
label=Debian GNU/Linux, Kernel-2.6.11
read-only
Depois de salvas as mudanças, execute o seguinte comando:
# /sbin/lilo
FEITO! Teu kernel está instalado, teu gerenciador de boot configurado e tudo deve funcionar perfeitamente na próxima inicialização do sistema. Lembre-se de deixar sua versão anterior do kernel para que ainda possa usá-la caso tenha algum problema com seu novo kernel.
Agora basta um reboot no sistema e testar a inicialização com teu novo kernel instalado:
# reboot
Baseado na instalação do kernel em uma distro Debian Sarge ;>
meu kernel é 2.6.15-1-k7
eu posso instalar o kernel source 2.6.19.7?
vlw