Kernel parameters (Português)
Existem três maneiras de passar opções para o kernel e, assim, controlar seu comportamento:
- Ao compilar o kernel — no arquivo
config
do kernel. Veja Kernel#Compilação para detalhes. - Ao iniciar o kernel — usando parâmetros de linha de comando (geralmente, por meio de um gerenciador de boot).
- Em tempo real — por meio de arquivos no
/proc/sys/
([[veja sysctl]]) e no/sys/
).
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
.
/etc/modprobe.d/
. Veja Módulos de kernel#Usando arquivos em /etc/modprobe.d/.Configuração
- Você pode verificar os parâmetros com que seu sistema foi inicializado executando
cat /proc/cmdline
e veja se ele inclui suas alterações. - A mídia de instalação do Arch Linux usa Syslinux para sistemas BIOS e systemd-boot para sistemas UEFI.
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
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âmetro | Descriçã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 |
ro | Monta o dispositivo raiz como somente leitura na inicialização (padrão1). |
rw | Monta 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/sh | Inicializa para o shell. |
systemd.unit= | Inicializa para um target especificado. |
resume= | Especifica um dispositivo swap para usar ao acordar de hibernation. |
nomodeset | Desabilita Kernel mode setting. |
zswap.enabled | Habilita Zswap. |
panic= | Tempo antes de reiniciar automaticamente ao ocorrer "kernel panic". |
debug | Habilita 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
- Documentação "The kernel’s command-line parameters"
- Power saving#Kernel parameters
- Lista de parâmetros do kernel com mais explicações e agrupados por opções semelhantes