Bom, para terminar o assunto que aviva começado no artigo "Flagrantes da vida real no mundo linux", então estou postando aqui mais um artigo que trago de volta a vida. É o artigo da recompilação do kernel 2.6.33.
recompilação do kernel 2.6.33.3
Coloquei as imagens anexadas mostrando o kernel no diretório /boot.
O Debian Leny vinha com o kernel 2.6.26-2-686 por padrão e eu passei a utilizar o kernel 2.6.33.3. A intenção aqui foi simplesmente desmistificar o que havia sido dito e tirar esse mito.
Como recompilar o kernel Linux
As informações aqui são para o kernel 2.4 e 2.6, mas podem também ser bem aproveitadas da versão 3.x e 4.x do kernel.
Primeiro, devemos configurar o kernel; para isso, existe quatro aplicativos que podem ser escolhidos. São eles:
$make config (esse é o configurador padrão do Linux, porém bem demorado devido ser totalmente em modo texto e procedural).
Os próximos utilizam bibliotecas que geram uma interface amigável, facilitando a instalação.
$make menuconfig (utiliza a biblioteca NCurses)
$make gconfig (utiliza a biblioteca GTK)
$make xconfig (utiliza a biblioteca QT, a mesma da interface KDE).
Um bom artigo para configurar o kernel está na em:
Depois de configurado o kernel, você deve fazer o seguinte. Criar a imagem do kernel compactada com os seguintes comandos
$make clean (para descartar os modulos que não serão compilados).
$make dep (para gerar a arquitetura do kernel, no meu caso I686, já não é mais necessário fazer isso).
$make bzImage ou $make zImage (a diferença é o bz é para o bzip2 e o z para gzip).
compilar os módulos:
$make modules
E instalá-los
#make modules_install (lembrando que deve ser root para isso).
Depois disso, digite
#make install [também devendo ser administrador para essa operação) para que o sistema crie o system.map, o kernel com o nome de vmlinuz-x.y.z (sendo que x.y.z se refere a versão do kernel) e o config do kernel].
Feito isso, dentro de /boot, digite
#mkinitramfs -o initrd.img-x.y.z -v x.y.z para criar a imagem de disco ram (initrd) para o kernel. Ou a opção update-initramfs -c -k 2.6.33.3 -v que fará o mesmo.
Um informação muito interessante que obtive foi que o comando "mkintrd" está defasado, sendo substituído pelo "mkinitramfs", por isso utilizado nessa postagem além de vir por padrão no Debian.
Um observação que deve ser feita é que, se notarem, eu repeti o x.y.z. Funciona da seguinte maneira: quando vou gerar o initrd, além de indicar para qual kernel, tenho que indicar aonde ele vai buscar os módulos dentro de /lib/modules/. Por exemplo, como recompilei o 2.6.33 com os seus módulos dentro de "/lib/modulos/2.6.33", então tenho que gerar o initrd.img-2.6.36 que irá buscar os módulos 2.6.33 (está gravado dentro do initrd que ele irá buscar automaticamente dentro de /lib/modules). Caso não passe esse parâmetro,por não ter sido indicado aonde buscar os módulos, você receberá uma mensagem como:
"FATAL ERROR" "MODULES NOT FOUNT"
Por isso deve passar o segundo parâmetro igual. Esse segundo parâmetro é só uma indicativa de qual módulos utilizar.
Para terminar, se você estiver utilizando o grub como carregador de boot padrão, utilize o comando
#update-grub que o sistema irá se encarregar de atualizar a lista de kernel dentro de /boot/grub/menu.lst (já no ubuntu 10.04 a história muda um pouco).
Caso queiram me ajudar a escrever melhor este artigo sobre recompilação de kernel, fico feliz se puder receber essa contribuição, por que a intenção é realmente escrever o artigo que vai ajudar a todos com qualquer problema que apareça, até mesmo os novatos.
O próximo artigo que pretendo escrever sobre o mesmo assunto é sobre o drive de DVD que estou tendo um pequeno problema.
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
QUER APRENDER A UTILIZAR LINUX DE VERDADE, ENTÃO VENHA APRENDER COMIGO ;) |
Nenhum comentário:
Postar um comentário
Viu algum erro e quer compartilhar seu conhecimento? então comente aí.
Observação: somente um membro deste blog pode postar um comentário.