slackware.linuxbr.org
Menu
   Principal
   Comandos
   Configuração
   Documentos
   Artigos
   Screenshots
   Plataformas
   Downloads
   Contato
   Sobre

Links
   Slackware Linux
   GUS Brasil
   UserLocal
   Linux Packages
   eSlack
   Slackpacks


   Host: LinuxLots
   English Version

Compilar o Kernel 2.4.18 no Slack 8

Compilando o kernel do Linux:

- Primeiro, baixe as fontes do kernel disponíveis em ftp.kernel.org ou em um de seus mirrors.

# cd /usr/src

# tar -zxvf linux-2.4.18.tar.gz

# rm linux; ln -s /usr/src/linux-2.4.18 linux

- Se ainda não tiver o kernel neste diretório, descompacte-o e atualize o link.


# cd /usr/src/linux-2.4.18

- Entrando na pasta do kernel 2.4.18... Escolha um dos 3 modos:

# make config

- Modo Texto - Será feita pergunta por pergunta sobre cada suporte do kernel, responda Y, M ou N

# make menuconfig

- Modo Texto - Será apresentado um menu com todos os suportes do kernel, para deixar nativo tecle Y, módulo tecle M, para tirar o suporte tecle N

# make xconfig

- Modo Gráfico - Aí é só clicar (necessário estar no ambiente X)


#make dep

- O comando acima verificará as dependências.

#make clean

- O comando acima apagará as configurações antigas.


# make bzlilo (caso o lilo esteja corretamente instalado - liloconfig)

- Executando o comando acima, será compilado o kernel, e logo em seguida, o System.map e o vmlinuz serão copiados para seus devidos lugares ($INSTALL_PATH) e o kernel antigo será renomeado para vmlinuz.old, assim permitindo que se adicione este no lilo caso sua compilação não tenha dado certo. :))) !!!

- Se não ocorrer nenhum erro, pode pular até make modules... Ou se preferir, compile passo-a-passo da seguinte forma:


# make (b)zImage

- Se o seu kernel ficar com mais de 512KB vc terá que fazer make bzImage, caso contrário zImage. Resumindo coloque make bzImage, não vai ser agora que seu kernel vai ficar tão perfeito :))) !!!

- Executando o comando acima será apenas compilado o kernel, sendo assim, terá que fazer os passos abaixo.

# cp arch/i386/boot/(b)zImage /boot/vmlinuz-2.4.18

- Este comando copiará o (b)zImage para o diretório /boot, renomeando para vmlinuz-2.4.18.

Ou caso queira apenas substituir o kernel, a cópia do bzImage pode ser feita para o diretório raiz, renomeando para vmlinuz e sobreescrevendo o kernel antigo:

# cp arch/i386/boot/bzImage /vmlinuz

O diretório /boot é por definição onde ficam os arquivos relacionados ao boot. A escolha do diretório /boot para manter versões do kernel é mais para evitar muitos arquivos no diretório raiz, deixando ali apenas o essencial.

Continuando...

# cp System.map /boot/System.map

- Copiará o System.map para a pasta /boot. Ou ainda:

# mv /boot/System.map /boot/System.old
# cp System.map /boot/System.map-2.4.18

# ln -s /boot/System.map-2.4.18 /boot/System.map

- Criar um link para manter a compatibilidade.

Será preciso então reconfigurar o LILO (ou outro gerenciador) para reconhecer seu novo kernel, alterando o local da imagem do kernel, ou adicionando uma nova imagem. No caso acima:

image = /vmlinuz          // configuração anterior
image = /boot/vmlinuz-2.4.18   // configuração atual

Estas opções podem ser observadas neste arquivo de exemplo.

# mv /lib/modules/2.4.18 /lib/modules/2.4.18-orig

- Faça um backup dos seus módulos antigos, caso esteja recompilando um kernel de mesma versão. Ou então, altere a linha EXTRAVERSION do Makefile para identificar o seu kernel de forma diferente (i.e. EXTRAVERSION = jose)

Por fim, compile e instale os módulos (aqueles que vc deixou como M):

#make modules
#make modules_install


Antes de configurar o kernel, vc poderia estar restaurando as configurações originais através do comando:

# make mrproper.

Se você estiver recompilando o kernel, você estará partindo da config anterior. Portanto, faça um backup do arquivo .config caso deseje restaurar esta configuração, e execute o comando acima.


Se o kernel não funcionar, certifique-se que foram instaladas todas as dependências, como os pacotes kernel-modules-2.4.18-i386-1.tgz (modutils), util-linux-2.11o-i386-2.tgz, o glibc... ;)

No caso do 2.4.18, se desejar utilizar ext3 deverá ter o pacote e2fsprogs-1.27-i386-1.tgz ou superior devidamente instalado.



P.S.:

* tudo poderia ser feito em background com o comando:

# make dep bzlilo modules modules_install &

* se o suporte a VFAT (windows) não funcionar, compile-o como M (módulo) em 'File Systems'

CONFIG_VFAT_FS=m

* para suporte a zipdrive interno, adicione em 'IDE, ATA and ATAPI'

CONFIG_BLK_DEV_IDEFLOPPY=y

* para suporte a iptables, selecione Netfilter e todas as opções que considerar necessárias como módulo (ou nativas), em 'Networking e IP: Netfilter Configuration'

ou seja:

CONFIG_NETFILTER=m (ou y)

CONFIG_IP_NF_CONNTRACK=m (ou y)
CONFIG_IP_NF_FTP=m (ou y)
CONFIG_IP_NF_IPTABLES=m (ou y)

etc.

* você terá que habilitar os módulos em seu script firewall depois.

Os módulos usados com frequência devem ser chamados no script rc.modules. O suporte nativo (ou residente) será sempre carregado com o kernel, por isso recomenda-se deixar apenas o mínimo compilado desta forma. No entanto, isto vai da opinião do administrador, o que deve ou não ser compilado como módulo.

* recomenda-se que se adicione o suporte a Syncookies

CONFIG_SYN_COOKIES=y

* e claro, ativar na inicialização (após a montagem do /proc)

echo 1 >/proc/sys/net/ipv4/tcp_syncookies  // costuma-se adicionar ao script rc.firewall

Inclusive, há outras opções relativas ao /proc que precisam ser ativadas após a compilação, mas para isto é preciso ter no kernel ao menos o suporte ao seguinte:

CONFIG_PROC_FS=y  // acesso ao /proc
CONFIG_SYSCTL=y   // o que permite estas alterações em runtime

* e tenha sempre um disquete de boot!

# makebootdisk


©2002 r_linux & misfit
Slackware® is a registered trademark of Slackware Linux, Inc. Linux is a registered trademark of Linus Torvalds.

XHTML 1.0 Transitional