ATENÇÃO:
Esse documeto foi criado com o intuito de auxiliar o
usuário a fazer a recompilação do Kernel,
porém devemos lembrar que esse procedimento não
é coberto pelo suporte da Conectiva, além de
invalidar o suporte.
O procedimento que segue abaixo, se destina à
máquina que foi feita uma instalação completa.
Caso a sua máquina não esteja com a
instalação completa, será necessário
instalar alguns pacotes, os quais seguem logo abaixo:
PACOTES DO CONECTIVA 5.0 e 5.1
glibc-2.1.2-11cl
kernel-headers-2.2.14-14cl
glibc-devel-2.1.2-11cl
binutils-2.9.5.0.24-2cl.i386.rpm
egcs-1.1.2-14cl
egcs-c++-1.1.2-14cl
egcs-g77-1.1.2-14cl
egcs-objc-1.1.2-14cl
kernel-source-2.2.14-14cl.i386.rpm
make-3.78.91-1cl.i386.rpm
bin86-0.4-9cl.i386.rpm
ncurses-devel-4.2-21cl.i386.rpm
PACOTES DO CONECTIVA 6.0
gcc-2.95.2-7cl.i386.rpm
gcc-chill-2.95.2-7cl.i386.rpm
gcc-c++-2.95.2-7cl.i386.rpm
gcc-g77-2.95.2-7cl.i386.rpm
gcc-java-2.95.2-7cl.i386.rpm
gcc-objc-2.95.2-7cl.i386.rpm
kernel-headers-2.2.17-14cl.i386.rpm
kernel-source-2.2.17-14cl.i386.rpm
make-3.79-2cl.i386.rpm
bin86-0.4-10cl.i386.rpm
ncurses-devel-5.1-5cl.i386.rpm
binutils-2.10.0.18-1cl.i386.rpm
glibc-2.1.3-18cl.i386.rpm
glibc-devel-2.1.3-18cl.i386.rpm
Para instalar os pacotes:
Monte o CD 1 do Conectiva:
[root@localhost ]# mount /mnt/cdrom
|
[root@localhost ]# cd /mnt/cdrom/conectiva/RPMS
|
[root@localhost RPMS]# rpm -ivh nome_pacote
|
Bom, agora que os pacotes já estão instalados,
basta seguir os seguintes passos:
RECOMPILANDO O KERNEL
Segue abaixo os passos para recompilar o kernel:
1- Vá ate o diretório /usr/src/linux
[root@localhost ]# cd /usr/src/linux
|
2- Caso esteja recompilando a mesma versão de Kernel que
já se encontra na máquina, edite o arquivo Makefile
do /usr/src/linux:
[root@localhost linux] mcedit Makefile
|
E altere a seguinte linha:
Para algo como:
Salve o arquivo e digite:
[root@localhost linux]# make mrproper
|
Se desejar configurar o kernel tendo como base as
configurações feitas pela conectiva, coloque o CDROM
de fontes no drive e digite:
[root@localhost]# mount /mnt/cdrom
|
[root@localhost]# rpm2cpio /mnt/cdrom/SRPMS/kernel-2.2.14-14cl.src.rpm | cpio -i kernel-2.2.14-i386.config
|
[root@localhost]# mv kernel-2.2.14-i386.config .config
|
Caso deseje configurar o kernel com as
configurações padrão, estes 3 passos
não são necessários.
3- Para configurar o Kernel, digite:
[root@localhost linux]# make menuconfig
|
Logo após ter digitado esse comando, irá aparecer
um menu onde poderá ser escolhido o que o kernel irá
carregar como módulo, built-in ou simplesmente não
carregará.
Saia e salve as suas alterações.
4- Recompilando o Kernel, digite:
[root@localhost linux]# make dep
|
[root@localhost linux]# make bzImage
|
[root@localhost linux]# make modules
|
[root@localhost linux]# make modules_install
|
5- Feito isso ( esse processo irá demorar bastante
tempo), a nova imagem do kernel está localizada no
diretório /usr/src/linux/arch/i386/boot, vá
até esse diretório e copie a nova imagem para o
diretório /boot :
[root@localhost linux]# cd /usr/src/linux/arch/i386/boot
|
[root@localhost boot]# cp bzImage /boot/vmlinuz-2.2.14-user1
|
[root@localhost boot]# cd /usr/src/linux
|
[root@localhost linux]# cp System.map /boot/System.map-2.2.14-user1
|
[root@localhost linux]# cd /boot
|
[root@localhost boot]# ln -sf System.map-2.2.14-user1 System.map
|
[root@localhost boot]# ln -sf vmlinuz-2.2.14-user1 vmlinuz
|
Ps: O nome user1 é referente ao passo 2.
#### 5.0 e 5.1 ###
6- O próximo passo será a alteração
do lilo.conf (arquivo se encontra no /etc), para que seja carregada
a imagem recém criada:
MODIFICANDO O ARQUIVO LILO.CONF
Segue abaixo um exemplo de lilo.conf e o que deve ser
alterado:
lilo.conf ANTES DA RECOMPILAÇÃO
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
image=/boot/vmlinuz-2.2.14-14cl
label=linux
root=/dev/hda3
read-only
lilo.conf DEPOIS DA RECOMPILAÇÃO
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
# A linha 'default=label' referencia qual imagem será a
padrão no momento da
#inicialização. Mude conforme o desejado.
default=label
image=/boot/vmlinuz-2.2.14-14cl
label=linux
root=/dev/hda3
read-only
#Abaixo se encontra o nome imagem gerada pela
compilação nova
image=/boot/vmlinuz-2.2.14-user1
#Abaixo se encontra o que será digitado no LILO para
carregar a nova imagem
label=linux2
#Abaixo se encontra o dispositivo correspondente ao seu
HD/Partição
root=/dev/hda3
read-only
Ps: Note que as linhas que são procedidas de # são
apenas comentários e não precisam ser incluidas no
arquivo, mas caso queira inclui-las, não se esqueça
de colocar as # antes das frases de comentário.
7- Pronto, agora basta regravar o lilo :
### 6.0 ######
6- Agora, passar para o grub a linha do novo kernel:
Edite o arquivo /boot/grub/menu.lst
[root@localhost]# mcedit /boot/grub/menu.lst
|
e adicione as linhas para o nove kernel:
title = Kernel Novo
kernel = (hd0,0)//boot/vmlinuz-2.2.14-user1 root=/dev/hda3
Salve . O arquivo com os kernel antigo e novo ficaria assim:
timeout = 15
default = 0
color = 2
foreground = ffffff
background = 000000
splashimage = (hd0,0)/grub/splash.xpm.gz
title = Conectiva Linux 6.0
kernel = (hd0,0)/vmlinuz-2.2.17-14cl root=/dev/hda7
vga=0x317
title = Kernel novo
kernel = (hd0,0)//boot/vmlinuz-2.2.14-user1 root=/dev/hda3
8- Reinicialize sua máquina e mande carregar a imagem
nova.