De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Como compilar kernel 2.6.* no Red Hat 9.0 rápido e fácil.
Colaboração: Ricardo Nunes da Silva
Data de Publicação: 28 de Setembro de 2005
- Baixe o código fonte do kernel ( Este documento foi feito com base no 2.6.12.3 ) em :
http://www.kernel.org/pub/linux/kernel/v2.6/
- Instale a última versão do module-init-tools e modutils:
- Baixe o código fonte do module-init-tools em ( utilizei a versão 3.2 ):
http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/
- Baixe o código fonte do modutils em ( utilizei 2.4.21 ):
http://www.kernel.org/pub/linux/utils/kernel/modutils/v2.4/
- Instalando module-init-tools:
Descompacte o arquivo baixado:
$tar zxvf module-init-tools-3.2-pre9.tar.gz
$cd module-init-tools-3.2
$./configure --prefix=/sbin
$make
$make install
- Instalando modutils:
$rpm -ivh modutils-2.4.27-1.src.rpm
$rpmbuild -bb /usr/src/redhat/SPECS/modutils.spec
$rpm -Fi /usr/src/redhat/RPMS/i386/modutils-2.4.27-1.i386.rpm
- Instalando e compilando o kernel.
Crie um diretório em /root/ (ou no diretório de
preferência. Evite faze-lo em /usr/src/ ):
$mkdir /root/src/ && mkdir /root/src/kernel
Descompacte o código fonte do kernel:
$cp linux.2.6.12.tar.bz /root/src/kernel/
$tar jxvf linux-2.6.12.tar.bz
$cd linux-2.6.12
Levando-se em conta que já exista uma versão mais antiga
do kernel ( 2.4.20 ), e também seu source, copie o .config
desta versão:
$cp /usr/src/linux-2.4/.config /root/src/kernel/linux-2.6.12/
Aproveitando as configurações antigas, será escrito um
novo .config para compilação do novo kernel:
$make oldconfig
Será aberto um dialogo ( está parte é a mais critica
e chata), no qual será necessario responder a algumas
questões em relação a opções do kernel. Fique atento
a opções como de File System ( especialmente se estiver
marcado como modulo ).
Respondidas as questões para opções do kernel novo, seguir
estes passos:
$make bzImage
$make modules
$make modules_install
$make install
Finalizados estes passos, verifique se a versão antiga
do kernel ( no meu caso 2.4.20 ), está contida no arquivo
de configuração do grub ou lilo ( boot loader ), pois em
caso de algo dar errado ( o que não é incomum ), poderá
fazer o "roll-back". Será necessário tambem a criação de
um diretório para montagem do sysfs:
$mkdir /sys
Em /etc/rc.sysinit, localizar a linha:
action $"Mounting proc filesystem: " mount -n -t proc /proc /proc"
Na linha seguinte a esta, acrescentar:
action $"Mounting sysfs filesystem: " mount -t sysfs none /sys"
Enfrentei problemas simples como por exemplo, em
/etc/lilo.conf, na configuração do novo kernel, a opção
"root=" ( qual dispositivo será montado como raiz ), estava
setado como "root=/". Isso ocasionou uma série de erros
que impossibilitou o funcional\mento do mesmo. Alterando
esta opção para 'root=/dev/hda2', não foram apresentado
mais problemas.
- Referencias uteis para consulta: