Kernel parameters (Português) - ArchWiki

Jump to content
From ArchWiki
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.

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/`).

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:

- 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 `splash` a Syslinux, systemd-boot, GRUB, GRUB Legacy, LILO e rEFInd.

### Syslinux

- Pressione `Tab` 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 `Enter` para inicializar com esses parâmetros.

- Para tornar persistentes as alterações após a reinicialização, edite `/boot/syslinux/syslinux.cfg` e adicione-os à linha `APPEND`:

      APPEND root=/dev/sda3 quiet splash

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

### systemd-boot

- Pressione `e` quando o menu aparecer e adicione os parâmetros ao final da string:

      initrd=\initramfs-linux.img root=/dev/sda2 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ê pode 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` (presumindo que você configurou sua partição de sistema EFI) e adicionou-as à linha `options`:

      options root=/dev/sda2 quiet splash

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

### GRUB

- Pressione `e` quando o menu é exibido e adicione-os à linha `linux`:

      linux /boot/vmlinuz-linux root=UUID=978e3e81-8048-4ae1-8a06-aa727458e8ff quiet splash

  Pressione `Ctrl+x` 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 `/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

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

### GRUB Legacy

- Pressione `e` quando o menu é exibido e adicione-os à linha `kernel`:

      kernel /boot/vmlinuz-linux root=/dev/sda3 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.

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

### LILO

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

      image=/boot/vmlinuz-linux
              ...
              quiet splash

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

### rEFInd

- Pressione `+`, `F2` ou `Insert` na entrada do menu desejada e pressione-a novamente na entrada do submenu. Adicione os parâmetros do kernel ao final da string:

      root=PARTUUID=978e3e81-8048-4ae1-8a06-aa727458e8ff 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=PARTUUID=978e3e81-8048-4ae1-8a06-aa727458e8ff rw quiet splash"

- 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:

      menuentry "Arch Linux" {
      	...
      	options  "root=PARTUUID=978e3e81-8048-4ae1-8a06-aa727458e8ff rw quiet splash"
      	...
      }

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

    /root/cmdline

    root=/dev/disk/by-label/ROOT 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 é 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 `/sbin/init` como processo init. O pacote systemd-sysvcompat cria links simbólicos `/sbin/init` para `/usr/lib/systemd/systemd` 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 da hibernação.
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 `rw` nem `ro` é definido pelo gerenciador de boot. Gerenciadores de boot podem definir o valor a ser usado. Por exemplo, o GRUB usa `rw` por padrão (veja FS#36275 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

Category:

- Kernel (Português)