Kernel parameters (Português) - ArchWiki

# Kernel parameters (Português)

From ArchWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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 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 `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)