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: Okay, I now know it is a joke.
gollark: No. Do not animation.
gollark: osmarks.tk's experiment pages are just HTML/CSS/JS with no title bar or comment box or anything, plus metadata, and the blog stuff is Markdown. The static site generator compiles the markdown to HTML, and puts the HTML into templates, embeds styles and stuff, adds the achievement system code, and all that sort of thing, and produces HTML/CSS/JS for upload to my server.
gollark: APNG good, MP4 good, etc.
gollark: GIFs are just an awful format which only stuck around because animation.
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.