Jump to content

# Kernel parameters (Português)

From ArchWiki

Artigos relacionados

- Kernel

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.

- Para tornar persistentes as alterações após a reinicialização, você pode editar manualmente /boot/grub/grub.cfg com exatamente a mesma linha acima, ou ao usar grub-mkconfig:

  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 | /sbin/init ao `/usr/lib/systemd/systemd` para que seja usado systemd. Configure-o para `/bin/sh` para inicializar o shell.
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

- kernel-command-line(7)
- Gestão de energia#Parâmetros de kernel
- Referência dos Parâmetros na Linha de Comando da Inicialização do Kernel—O capítulo 9 de Kernel Linux em poucas palavras por Greg Kroah-Hartman

Category:

- Kernel (Português)

Kernel parameters (Português)
Add topic