Jump to content

Kernel parameters (Português)

From ArchWiki
Status de tradução: Esse artigo é uma tradução de Kernel parameters. Data da última tradução: 2025-03-06. Você pode ajudar a sincronizar a tradução, se houver alterações na versão em inglês.

Existem três maneiras de passar opções para o kernel e, assim, controlar seu comportamento:

  1. Ao compilar o kernel — no arquivo config do kernel. Veja Kernel#Compilação para detalhes.
  2. Ao iniciar o kernel — usando parâmetros de linha de comando (geralmente, por meio de um gerenciador de boot), ou como também por meio de uma imagem de kernel unificada.
  3. No tempo de execução — por meio de arquivos no /proc/sys/ (veja sysctl) e no /sys/.
Nota: As opções dos módulos que serão carregadas pelo kernel podem ser configuradas via arquivos .conf em /etc/modprobe.d/. Veja em Módulos de kernel#Usando arquivos em /etc/modprobe.d/.

Entre os três métodos, as opções configuráveis diferem em disponibilidade, seus nome e o método no qual são especificadas. Esta página só explica o segundo método (parâmetros de linha de comando do kernel) e mostra uma lista dos parâmetros do kernel mais usados no Arch Linux.

A maioria dos parâmetros está associada a subsistemas e funciona apenas se o kernel estiver configurado com esses subsistemas integrados. Eles também dependem da presença do hardware ao qual estão associados.

Parâmetros de linha de comando do kernel têm o formato parâmetro, ou parâmetro=valor, ou módulo.parâmetro=valor.

Nota:
  • Você pode verificar os parâmetros com que seu sistema foi inicializado executando cat /proc/cmdline e veja se ele inclui suas alterações.
  • Todos os parâmetros de kernel são case-sensitive, ou seja, existe a diferenciação entre letras maiúsculas e minúsculas.

Configuração do gerenciador de boot

Nota: A mídia de instalação do Arch Linux usa systemd-boot para sistemas em UEFI e Syslinux para sistemas em BIOS.

Os parâmetros de kernel podem ser configurados de forma temporária ao editar a entrada de inicialização, na seleção do menu de boot no gerenciador de boot, ou de forma permanente ao modificar o arquivo de configuração do gerenciador de boot.

Os exemplos a seguir adicionam os parâmetros quiet e splash nos gerenciadores de boot GRUB, GRUB Legacy, LILO, Limine, rEFInd, Syslinux e systemd-boot.

GRUB

  • Pressione e quando o menu é exibido e adicione-os à linha linux:
linux /boot/vmlinuz-linux root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw quiet splash
Pressione Ctrl+x para inicializar com esses parâmetros.
Editar /etc/default/grub e anexar suas opções de kernel entre aspas na linha GRUB_CMDLINE_LINUX_DEFAULT:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
E, então, gerar novamente automaticamente o arquivo grub.cfg com:
# grub-mkconfig -o /boot/grub/grub.cfg

GRUB Legacy

  • Pressione e quando o menu é exibido e adicione-os à linha kernel:
kernel /boot/vmlinuz-linux root=0a3407de-014b-458b-b5c1-848e92a327a3 rw quiet splash
Pressione b para inicializar com esses parâmetros.
  • Para tornar persistentes as alterações após a reinicialização, edite /boot/grub/menu.lst e adicione-os à linha kernel, exatamente como acima.

LILO

  • Adicione-os em /etc/lilo.conf ao usar append ou addappend:
image=/boot/vmlinuz-linux
        ...
        append="quiet splash"

Limine

  • Para temporariamente adicionar um parâmetro de kernel, pressione e quando a seleção no menu de boot aparecer na tela e modifique a linha kernel_cmdline:
kernel_cmdline:

root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw quiet splash

  • Para aplicar as mudanças permanentemente, edite a linha kernel_cmdline no arquivo de configuração do Limine localizado em esp/limine.conf:
/+Arch Linux
	...
	kernel_cmdline: root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw quiet splash

rEFInd

  • Pressione Insert, F2, ou Tab, ou + na entrada do menu desejada e pressione-a novamente na entrada do submenu. Adicione os parâmetros do kernel ao final da string:
root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw initrd=\boot\initramfs-linux.img quiet splash
Pressione Enter para inicializar com esses parâmetros.
  • Para tornar persistentes as alterações após a reinicialização, edite /boot/refind_linux.conf e anexe-os entre aspas a todas as linhas necessárias, por exemplo:
"Boot using default options" "root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw quiet splash"
  • Se você desativou a detecção automática de sistemas operacionais em rEFInd e está definindo várias estrofes de OSes ao invés de colocar dentro de esp/EFI/refind/refind.conf para carregar seus OSes, é possível editá-lo como:
menuentry "Arch Linux" {
	...
	options  "root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw quiet splash"
	...
}

Syslinux

  • Pressione Tab quando o menu aparecer e adicione-os ao final da string:
linux /boot/vmlinuz-linux root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw initrd=/boot/initramfs-linux.img quiet splash
Pressione Enter para inicializar com estes parâmetros.
  • Para fazer a mudança persistente depois da reinicialização, edite /boot/syslinux/syslinux.cfg e adicione-os na linha do APPEND:
APPEND root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw quiet splash

systemd-boot

  • Pressione e quando o menu aparecer e adicione os parâmetros ao final da string:
initrd=\initramfs-linux.img root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw quiet splash
Pressione Enter para inicializar com esses parâmetros.
Nota:
  • Se você não tiver definido um valor para o tempo limite do menu, será necessário manter Espaço pressionado durante a inicialização para que o menu do systemd-boot apareça.
  • Se você não conseguir editar os parâmetros no menu de inicialização, você então precisará editar o /boot/loader/loader.conf e adicionar o editor 1 para habilitar a edição.
  • Para tornar persistentes as alterações após a reinicialização, edite /boot/loader/entries/arch.conf (supondo que você configurou sua partição de sistema EFI) e adicione-os na linha options:
options root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw quiet splash

dracut

dracut é capaz de incorporar os parâmetros do kernel no initramfs, permitindo omiti-los da configuração do gerenciador de boot. Consulte dracut#Opções de linha de comando do kernel.

EFI boot stub

Veja a página em inglês EFI boot stub#Using UEFI directly.

Sobrepondo cmdline

Mesmo sem acesso ao seu gerenciador de boot, é possível alterar os parâmetros do kernel para habilitar a depuração (se você tiver acesso root). Isso pode ser feito sobrescrevendo /proc/cmdline, que armazena os parâmetros do kernel. No entanto, /proc/cmdline não é gravável, mesmo como root, portanto, esse hack é realizado usando uma montagem de ligação para mascarar o caminho.

Primeiro crie um arquivo contendo os parâmetros desejados do kernel:

/root/cmdline
root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 ro console=tty1 logo.nologo debug

Em seguida, use uma montagem de "bind" para sobrescrever os parâmetros:

# mount -n --bind -o ro /root/cmdline /proc/cmdline

A opção -n pula a adição da montagem a /etc/mtab, portanto, funcionará mesmo se a raiz estiver montada como somente leitura. Você pode cat /proc/cmdline para confirmar que sua alteração foi bem-sucedida.

Lista de parâmetros

Esta lista não abrange todas as opções. Para obter uma lista completa de todas as opções, consulte a documentação e veja a seção sobre os parâmetros na linha de comando do kernel.

parâmetro Descrição
init
initrd Especifica a localização do ramdisk inicial. Para gerenciadores de boot UEFI e em um EFI boot stub, o caminho precisa ser especificado com barras invertidas \, sendo estes os separadores entre os diretórios.
cryptdevice Especifica a localização de uma partição criptografada com dm-crypt e adicionalmente com um nome advindo de um mapeador de dispositivos.
debug Habilita a depuração do kernel (nível de log de eventos).
lsm Configura a ordem de inicialização dos módulos de segurança do Linux. Usado para habilitar AppArmor, SELinux ou TOMOYO.
maxcpus Número máximo de processadores que um kernel com multiprocessamento simétrico (SMP) irá usar durante o início do sistema.
mem Força o uso de uma quantidade específica de memória.
netdev Parâmetros dos dispositivos de rede.
nomodeset Desabilita Kernel mode setting.
panic Tempo antes de reiniciar automaticamente ao ocorrer um pânico no kernel.
resume Especifica um dispositivo swap para usar ao acordar o sistema da hibernação.
ro Monta o dispositivo raiz/root com a permissão de somente leitura na inicialização. Este é o padrão do mkinitcpio1.
root Sistema de arquivo raiz/root. Consulte init/do_mounts.c para ver os formatos de nome de dispositivos compatíveis com o kernel. Note que um initramfs com udev oferece suporte a mais formatos de nomes. Uma instalação compatível com systemd#Montagem automática de partição GPT permite que seja totalmente omitido o parâmetro ou que o mesmo seja usado, de maneira alternativa, como root=gpt-auto.
rootflags Opções de montagem do sistema de arquivos raiz/root. Útil para configurar opções que não podem ser aplicadas ao remontar (ou seja, pelo systemd-remount-fs.service(8)). Por exemplo, a opção discard de um volume raiz/root formatado com XFS ou com a opção subvol= de um volume formatado com Btrfs que usa um subvolume como raiz/root.
rw Monta o dispositivo raiz/root com a permissão de leitura e gravação na inicialização. Este é o padrão do kernel1.
systemd.unit Inicializa o sistema em um lugar especificado pelo target.
video Sobrescreve o framebuffer (memória de vídeo) nas configurações padrões de vídeo.
  1. O kernel usa rw se não houver explicitamente definido ro ou rw na linha de comando do kernel (veja bootparam(7) § General non-device-specific boot arguments). Entretanto, mkinitcpio usa ro como valor padrão e sobrescreve o valor padrão do kernel (veja mkinitcpio(8) § EARLY INIT ENVIRONMENT). Gerenciadores de boot talvez também tenham sua própria configuração padrão, por exemplo, grub-mkconfig usa rw (veja a referência em FS#36275).
Nota: rw é requisito quando é usado o hook fsck do mkinitcpio (veja [1]) ou quando é usado F2FS como um sistema de arquivo raiz/root.

Veja também