[DICA] Minimal initramfs - testado no debian/ubuntu - 14/09/2025 . Revisado e atualizado

Segue a otimização do initramfs do debian 13.

Podendo ganhar alguns segundos no boot

Segue o link de sites com informações

Para pegar o mínimo de módulos segue algumas listas
Precisamos só do dispositivos e teclado usb

Do Arch

Storage device modules

  • sd_mod for all SCSI, SATA, and PATA (IDE) devices
  • ahci for SATA devices on modern AHCI controllers
  • nvme and nvme_core for NVMe (M.2, PCI-E) devices
  • sata_* for SATA devices on IDE-mode controllers
  • pata_* for PATA (IDE) devices
  • ehci_pci and usb_storage for USB storage devices
  • virtio_blk and virtio_pci for QEMU/KVM VMs using VirtIO for storage

Keyboard modules

  • atkbd for AT and PS/2 keyboards, and the emulated keyboard in QEMU/KVM.
  • hid_generic, ohci_pci, and usbhid for normal USB keyboards.
  • hid_apple for Apple keyboards.
  • hid_logitech_dj, uhci_hcd, and usbhid for Logitech USB keyboards using the Logitech Unified Receiver (requires the udev hook).

Do debian

USB keyboard at boot

usbcore
uhci_hcd
ehci_hcd
usbhid

Para procurar o módulo

lsmod | grep -i nomedomódulo

Aqui instalei com sistema de arquivos ext4, em um ssd

Com o comando abaixo pego módulos para o dispositivo de armazenamento.

$ udevadm info --attribute-walk -n /dev/sda1 | grep 'DRIVERS=="[^"]'
    DRIVERS=="sd"
    DRIVERS=="ahci"

sd e ahci

sd, visto na lista é o sd_mod

Falta o sistema de arquivo ext4

Então temos de inicio os módulos: sd_mod ahci ext4

Vamos ver o teclado, pela página do debian precisaremos dos módulos

usbcore
uhci_hcd
ehci_hcd
usbhid

Mas não está completo. Na página do Arch fala que precisa do ohci_pci que não tem com este nome no debian.

Pesquisando é o módulo xhci_pci

Então temos os módulos
Arquivo /etc/initramfs-tools/modules

sd_mod
ahci
ext4
usbcore
uhci_hcd
ehci_hcd
usbhid
hid_generic
xhci_pci
i915

hid_generic e i915 eu adicionei baseado na lista. i915 é porque é intel.

No arquivo /etc/initramfs-tools/initramfs.conf

Mude

MODULES=most

para

MODULES=list

Instale e adicione o lz4

Procure e mude

COMPRESS=lz4
COMPRESSLEVEL=9

Então execute o comando

sudo update-initramfs -u 

reinicie e veja se está funcionando

Se tiver tudo funcionando execute para todos os kernels

sudo update-initramfs -u -k all

OSB:

Para ver se o teclado está funcionando no boot

Reinicie
Ao entrar na tela do grub , tecle a tecla e
Na linha do kernel digite no final

init=/bin/bash

e aperte F10 ou ctrl + x

Veja se está funcionando.

Se tudo estiver ok.

reboot -f
2 curtidas

Quem for testar com nvme informe se conseguiu. A princípio é com nvme e nvme_core.:+1:

Vi que o ubuntu usa o mesmo pacote do debian.

Funciona no ubuntu também

Linux-mint ainda não vi

Testei numa máquina virtual, KVM e QEMU.

Para o dispositivo de armazenamento.

virtio_blk
virtio-pci

sistema de arquivo

ext4

Teclado

kvm_intel
kvm
irqbypass

Completo a lista de módulos

virtio_blk
virtio-pci
ext4
kvm_intel
kvm
irqbypass

Funcionou sem problema.

kvm_intel = Intel

kvm_amd = AMD

1 curtida

Saudações!

Mais umas de suas dicas topzera! Nessa você foi no nivel Super Saiyajin! :sweat_smile:

Olha que sou animado, mas nessa fiquei apenas no - dep - Try and guess which modules to load.

Padrão do Debian - MODULES=most, COMPRESS=gzip

MODULES=dep, COMPRESS=gzip

MODULES=dep, COMPRESS=zstd, COMPRESSLEVEL=19

Apenas de alterar para dep já diminiu bem o tamanho da imagem, não testei com outros formatos de compressão. Por enquanto deixei assim:

# /etc/initramfs-tools/initramfs.conf
MODULES=dep
COMPRESS=zstd
COMPRESSLEVEL=19

Valeu pela dica! Abrass! :hugs:

1 curtida

Parece que mudadndo o valor

COMPRESSLEVEL=19

para

COMPRESSLEVEL=1

Fica mais rápido