Guia Pós-Instalação do Slackware - edição 2015
Este artigo é uma atualização dos artigos que já publiquei sobre o tema, bem como uma discussão sobre práticas e heresias que podem facilitar a vida de um slacker.
Parte 4: Kernel Genérico
O próximo passo é configurar o uso do Kernel Generic em seu sistema. O Slackware é distribuído com duas versões do kernel: a Generic e a Huge. Nas palavras do Cara, o Kernel Huge:
Para migrar do Kernel Huge para o Kernel Generic é preciso realizar alguns procedimentos:
No Slack 14.1 apenas, é preciso criar um vínculo simbólico:
# cd /boot
# ln -s vmlinuz-generic-versao vmlinuz-generic
Troque "versao" em vmlinuz-generic-versao pela versão do Kernel disponível no diretório /boot. No Slack Current o vínculo simbólico já existe.
O próximo passo é criar o initrd. Para tanto, o Cara disponibilizou para gente um script muito bonitinho localizado em /usr/share/mkinitrd/mkinitrd_command_generator.sh. Ao invocá-lo sem parâmetros, ele retorna:
#
# mkinitrd_command_generator.sh revision 1.45
#
# This script will now make a recommendation about the command to use
# in case you require an initrd image to boot a kernel that does not
# have support for your storage or root filesystem built in
# (such as the Slackware 'generic' kernels').
# A suitable 'mkinitrd' command will be:
mkinitrd -c -k versao -f ext4 -r /dev/sda3 -m mbcache:jbd2:ext4 -u -o /boot/initrd.gz
A última linha é que é a mais importante, pois ela diz qual é o comando que você deverá rodar a fim de criar o initrd. Ela será diferente dessa que eu coloquei aí, visto que ela é um reflexo do seu sistema. Vamos copiar e colar essa linha? Não mesmo! Vamos usar o método slacker ultra-mega-blaster aprovado e certificado por "Bob" Dobbs em pessoa:
# /usr/share/mkinitrd/mkinitrd_command_generator.sh | grep ^mkinitrd | sed -e 's/initrd.gz/vmlinuz-generic-initrd.gz/g' | /bin/bash -
Esse comando criará o initrd automaticamente. Mas não basta criar o initrd, é preciso configurar o LILO para usar o Kernel Generic. Felizmente, isso é uma tarefa executável com dois simples comandos:
# /usr/share/mkinitrd/mkinitrd_command_generator.sh -l /boot/vmlinuz-generic | sed -e 's/\/boot\/initrd.gz/\/boot\/vmlinuz-generic-initrd.gz/g' -e 's/\/boot\/vmlinuz-generic-versao/\/boot\/vmlinuz-generic/g' -e 's/label\ \=\ versao/label\ =\ Slack-Generic/g' >> /etc/lilo.conf
# lilo -v
Troque toda ocorrência de "versao" pela versão do Kernel Generic que você pretende usar. Quando você reiniciar o computador, verá lá no LILO a entrada "Slack-Generic" correspondendo ao seu Kernel Generic. Só que não reinicie o computador ainda! Você está pensando o quê, que isso é Windows para reiniciar toda vez que instala algo? Não, ainda tem mais coisa a ser feita!
This is a Linux kernel with built-in support for most disk controllers. If you're looking for a more stripped down kernel (this one contains everything but the kitchen sink ;-), then install the kernel-generic in the /boot directory along with an initrd to load support for your boot device and filesystem. For instructions on the initrd, see README.initrd in the /boot directory.Ou seja, o Kernel Huge é uma versão inchada com vários módulos compilados como built-in, para garantir a maior compatibilidade possível do sistema. O problema é que por ser inchado ele pode acabar sobrecarregando o sistema com módulos que jamais serão usados. Tendo isso em mente, o Cara distribui também o Kernel Generic:
This is a Linux kernel with built-in support for most disk controllers. To use filesystems, or to load support for a SCSI or other controller, then you'll need to load one or more kernel modules using an initial ramdisk, or initrd. For more information about creating an initrd, see the README.initrd file in the /boot directory.Que é uma versão com quase todos os módulos compilados como módulos. O problema de usar o Kernel Generic é que ele pede a criação de um initrd, a fim de garantir que os módulos mínimos necessários estejam disponíveis quando o sistema iniciar.
Para migrar do Kernel Huge para o Kernel Generic é preciso realizar alguns procedimentos:
No Slack 14.1 apenas, é preciso criar um vínculo simbólico:
# cd /boot
# ln -s vmlinuz-generic-versao vmlinuz-generic
Troque "versao" em vmlinuz-generic-versao pela versão do Kernel disponível no diretório /boot. No Slack Current o vínculo simbólico já existe.
O próximo passo é criar o initrd. Para tanto, o Cara disponibilizou para gente um script muito bonitinho localizado em /usr/share/mkinitrd/mkinitrd_command_generator.sh. Ao invocá-lo sem parâmetros, ele retorna:
#
# mkinitrd_command_generator.sh revision 1.45
#
# This script will now make a recommendation about the command to use
# in case you require an initrd image to boot a kernel that does not
# have support for your storage or root filesystem built in
# (such as the Slackware 'generic' kernels').
# A suitable 'mkinitrd' command will be:
mkinitrd -c -k versao -f ext4 -r /dev/sda3 -m mbcache:jbd2:ext4 -u -o /boot/initrd.gz
A última linha é que é a mais importante, pois ela diz qual é o comando que você deverá rodar a fim de criar o initrd. Ela será diferente dessa que eu coloquei aí, visto que ela é um reflexo do seu sistema. Vamos copiar e colar essa linha? Não mesmo! Vamos usar o método slacker ultra-mega-blaster aprovado e certificado por "Bob" Dobbs em pessoa:
# /usr/share/mkinitrd/mkinitrd_command_generator.sh | grep ^mkinitrd | sed -e 's/initrd.gz/vmlinuz-generic-initrd.gz/g' | /bin/bash -
Esse comando criará o initrd automaticamente. Mas não basta criar o initrd, é preciso configurar o LILO para usar o Kernel Generic. Felizmente, isso é uma tarefa executável com dois simples comandos:
# /usr/share/mkinitrd/mkinitrd_command_generator.sh -l /boot/vmlinuz-generic | sed -e 's/\/boot\/initrd.gz/\/boot\/vmlinuz-generic-initrd.gz/g' -e 's/\/boot\/vmlinuz-generic-versao/\/boot\/vmlinuz-generic/g' -e 's/label\ \=\ versao/label\ =\ Slack-Generic/g' >> /etc/lilo.conf
# lilo -v
Troque toda ocorrência de "versao" pela versão do Kernel Generic que você pretende usar. Quando você reiniciar o computador, verá lá no LILO a entrada "Slack-Generic" correspondendo ao seu Kernel Generic. Só que não reinicie o computador ainda! Você está pensando o quê, que isso é Windows para reiniciar toda vez que instala algo? Não, ainda tem mais coisa a ser feita!
Nem li ainda mas já favoritei! Assim que possível lerei com carinho e atenção que o texto merece.