Kernel parameters (Portuguê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).
  3. Em tempo real — por meio de arquivos no /proc/sys/ ([[veja sysctl]]) e no /sys/).
Status de tradução: Esse artigo é uma tradução de Kernel parameters. Data da última tradução: 2020-06-26. Você pode ajudar a sincronizar a tradução, se houver alterações na versão em inglês.

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.

Nota: Todos os parâmetros do kernel diferenciam maiúsculo de minúsculo.
Dica: As opções de módulos carregáveis podem ser definidos via arquivos .conf em /etc/modprobe.d/. Veja Módulos de kernel#Usando arquivos em /etc/modprobe.d/.

Configuração

Nota:

Os parâmetros do kernel podem ser definidos temporariamente, editando a entrada de inicialização no menu de seleção de inicialização do gerenciador de boot ou modificando seu arquivo de configuração.

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

Syslinux

  • Pressione quando o menu é exibido e adicione-os ao final da string:
linux /boot/vmlinuz-linux root=/dev/sda3 initrd=/boot/initramfs-linux.img ''quiet splash''
Pressione para inicializar com esses parâmetros.
  • Para tornar persistentes as alterações após a reinicialização, edite e adicione-os à linha APPEND:

Para mais informações sobre configurar o Syslinux, veja o artigo Syslinux.

systemd-boot

  • Pressione quando o menu aparecer e adicione os parâmetros ao final da string:
Pressione para inicializar com esses parâmetros.
  • Para tornar persistentes as alterações após a reinicialização, edite /boot/loader/entries/arch.conf (presumindo que você configurou sua partição de sistema EFI) e adicionou-as à linha :

Para mais informações sobre configurar o systemd-boot, veja o artigo systemd-boot.

GRUB

  • Pressione quando o menu é exibido e adicione-os à linha :
Pressione para inicializar com esses parâmetros.
  • Para tornar persistentes as alterações após a reinicialização, você poderia editar manualmente /boot/grub/grub.cfg com exatamente a linha acima, mas a melhor prática é:
Editar e anexar suas opções de kernel entre aspas na linha :
E, então, gerar novamente automaticamente o arquivo com:

Para mais informações sobre configurar o GRUB, veja o artigo GRUB.

GRUB Legacy

  • Pressione quando o menu é exibido e adicione-os à linha kernel:
Pressione para inicializar com esses parâmetros.
  • Para tornar persistentes as alterações após a reinicialização, edite e adicione-os à linha kernel, exatamente como acima.

Para mais informações sobre configurar o GRUB Legacy, veja o artigo GRUB Legacy.

LILO

  • Adicione-os a /etc/lilo.conf:

Para mais informações sobre configurar o LILO, veja o artigo LILO.

rEFInd

  • Pressione , ou na entrada do menu desejada e pressione-a novamente na entrada do submenu. Adicione os parâmetros do kernel ao final da string:
Pressione para inicializar com esses parâmetros.
  • Para tornar persistentes as alterações após a reinicialização, edite e anexe-os entre aspas a todas as linhas necessárias, por exemplo
  • Se você desativou a detecção automática de sistemas operacionais em rEFInd e está definindo sub-rotinas do sistema operacional em vez de esp/EFI/refind/refind.conf para carregar seus sistemas operacionais, é possível editá-lo como:

Para mais informações sobre configurar o rEFInd, veja o artigo rEFInd.

EFISTUB

Veja EFISTUB#Usando UEFI diretamente.

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.

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

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

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

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

Lista de parâmetros

Esta lista não é exaustiva. Para obter uma lista completa de todas as opções, consulte a documentação do kernel

parâmetroDescrição
root=Sistema de arquivo raiz. Consulte init/do_mounts.c por formatos de nome de dispositivos compatíveis no kernel. Nota que um initramfs com suporte a mais formatos de nomes do udev.
rootflags=Opções de montagem do sistema de arquivos raiz
roMonta o dispositivo raiz como somente leitura na inicialização (padrão1).
rwMonta o dispositivo raiz como leitura e gravação na inicialização.
initrd=Especifica o local do ramdisk inicial. Para gerenciadores de boot do UEFI e EFISTUB, o caminho deve ser especificado usando contrabarra () como separadores de caminho.
init=Executa o binário especificado em vez de como processo init. O pacote cria links simbólicos para para usar o systemd.
init=/bin/shInicializa para o shell.
systemd.unit=Inicializa para um target especificado.
resume=Especifica um dispositivo swap para usar ao acordar de hibernation.
nomodesetDesabilita Kernel mode setting.
zswap.enabledHabilita Zswap.
panic=Tempo antes de reiniciar automaticamente ao ocorrer "kernel panic".
debugHabilita depuração de kernel (nível de log de eventos).
mem=Força o uso de uma quantidade específica de memória a ser usada.
maxcpus=Número máximo de processadores que um kernel SMP vai usar durante a inicialização.
selinux=Desabilita ou habilita o SELinux em tempo de inicialização.
netdev=Parâmetros de dispositivos de rede.
video=Sobrepõe configurações padrão do vídeo framebuffer.

1 mkinitcpio usa ro como valor padrão quando nem ro é definido pelo gerenciador de boot. Gerenciadores de boot podem definir o valor a ser usado. Por exemplo, o GRUB usa por padrão (veja como referência).

Veja também

gollark: ```lua process.spawn(function() local signs = {peripheral.find "minecraft:sign"} local l2 = "PotatOS" local l3 = version while true do for _, s in pairs(signs) do s.setSignText("\167k" .. randbytes(16), l2, l3, "\167k" .. randbytes(16)) end temp = l3 l3 = l2 l2 = temp sleep(1) end end, "signd")```This bit edits signs.
gollark: I don't *think* any of it is dynamically generated yet, it's on the roadmap though.
gollark: Also it's at least 1000 lines.
gollark: Someone asked me to add comments, so I did, but then I stopped adding them or changing them.
gollark: The best thing about it is that it's actually spread across about 10 files on different hosting services via a tangled crazy dependency tree and the comments are mostly outdated.
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.