Como fazer a troca do Kernel Huge para o Generic?

Autor: Jefferson 'Slackjeff' Rocha
Criação: 20/03/2019
Atualização:

O que esperar?

No final desta receita o usuário conseguirá fazer a troca do Kernel huge para o Kernel Generic no Slackware, e aproveitar os seus beneficios.

Você deve estar se perguntando qual o benefício de realizar está troca. O beneficio da troca do Huge para o Generic são:

Então para que server o Kernel Huge? Simples, por ter um suporte gigante a muitos drivers ele é ideal para usar na instalação do Sistema. Permitindo assim atingir um número maior de máquinas.
Após a instalação o Huge não é mais necessário, e é por isso que devemos fazer a troca.

Iniciando a Receita

Logue-se como root, todo processo será feito pelo super-usuário, após isso vamos executar o comando 'mkinitrd_command_generator.sh' que está presente em /usr/share/mkinitrd

# /usr/share/mkinitrd/mkinitrd_command_generator.sh

A saída será do comando mkinitrd com os módulos necessários para o funcionamento da sua máquina. Exemplo:

# /usr/share/mkinitrd/mkinitrd_command_generator.sh
#
# 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 4.4.172 -f ext4 -r /dev/sda1 -m 
usb-storage:ehci-hcd:ehci-pci:xhci-pci:ohci-pci:xhci-hcd:uhci-hcd:hid:  \  
usbhid:i2c-hid:hid_generic:hid-cherry:hid-logitech:hid-logitech-dj:     \
hid-logitech-hidpp:hid-lenovo:hid-microsoft:hid_multitouch:jbd2:mbcache:\
ext4 -u -o /boot/initrd.gz

Copie toda a linha onde começa com o comando 'mkinitrd -c -k ....' e logo após isso cole em seu terminal. O comando mkinitrd será executado e terá uma saída nesse formato:

# mkinitrd -c -k 4.4.172 -f ext4 -r /dev/sda1 -m usb-storage:ehci-hcd:ehci-pci:xhci-pci:ohci-pci:xhci-hcd:uhci-hcd:hid:\ usbhid:i2c-hid:hid_generic:hid-cherry:hid-logitech:hid-logitech-dj:\ hid-logitech-hidpp:hid-lenovo:hid-microsoft:hid_multitouch:jbd2:mbcache:\ ext4 -u -o /boot/initrd.gz

OK: /lib/modules/4.4.172/kernel/drivers/usb/storage/usb-storage.ko added.
OK: /lib/modules/4.4.172/kernel/drivers/usb/host/ehci-hcd.ko added.
OK: /lib/modules/4.4.172/kernel/drivers/usb/host/ehci-hcd.ko added.
OK: /lib/modules/4.4.172/kernel/drivers/usb/host/ehci-pci.ko added.
...
38432 blocks
/boot/initrd.gz created.
Be sure to run lilo again if you use it.

Após isso vamos inserir no lilo as informações necessárias para o Kernel Generic conseguir ser carregado, você pode fazer isso manual ou pode simplesmente rodar o comando: '/usr/share/mkinitrd/mkinitrd_command_generator.sh' com a opção -l em seguida passar o caminho completo da localização do vmlinuz-generic.

# /usr/share/mkinitrd/mkinitrd_command_generator.sh -l \ /boot/vmlinuz-generic-4.4.172

image = /boot/vmlinuz-generic-4.4.172
  initrd = /boot/initrd.gz
  root = /dev/sda1
  label = 4.4.172
  read-only
# Linux bootable partition config ends

Agora vamos adicionar as informações no lilo.conf presente em: /etc/lilo.conf Adicione as informações na última linha lilo.conf É de extrema importância vocẽ NÃO apagar a chamada do Kernel Huge, deixe sempre ele em caso de trágedia com seu sistema. Isso para um possível resgate.

Mude o 'label' para um nome melhor, como KGeneric ou algo do tipo, este Label é o responsável por aparecer na tela do Lilo. Com um nome melhor fica mais fácil você o identificar. Após ter feito todo o processo execute o lilo para as novas configurações serem carregadas:

# lilo

Warning: LBA32 addressing assumed
Added Linux  *
Added Generic  +
One warning was issued.

Pronto! Agora é só reiniciar sua máquina e Selecionar o Kernel Generic.