Você não está autenticado.

Anúncio

Arch Linux Brasil está precisando de sua colaboração para realizar o pagamento do domínio e do host, para colaborar, realizar doações via paypal.

Para mais informações: contato at archlinux-br.org.

#1 06/09/2012 17:03:49

swatquest
Moderador
Registrado: 05/10/2010
Mensagens: 1.949

[Tuto] Grub2 - Configuração

O que falta

  • Temas para grub2.

  • Adicionar link memtest86+

  • revisão

Pesquisados para o tuto:
https://wiki.archlinux.org/index.php/GRUB2
https://www.gnu.org/software/grub/manua … l#Security

Não é recomendado modificar as configurações diretamente no grub.cfg.
O grub2 já dispoẽm de alguns arquivos(scripts) para determinadas configurações, encontrados em /etc/default/ e /etc/grub.d.

1- Configuração do arquivo
/etc/default/grub 
Neste arquivo estão as configurações padrões do grub.
Mais informação: www.gnu.org/software/grub/manual/html_node/Simple-configuration.html
ou comando : info -f grub -n 'Simple configuration'

GRUB_DEFAULT
Define a entrada de menu padrão. Podem ser numéricas ou "saved"
- GRUB_DEFAULT=0 (O primeiro "menuentry" no grub.cfg é 0, o segundo é 1, etc...)
- GRUB_DEFAULT=saved (Inicia pelo último acessado )
Pode também utilizar o comando grub-set-default.(man grub-set-default)

GRUB_SAVEDEFAULT="true"
Se verdadeiro essa configuração irá definir automaticamente o último sistema operacional selecionado. Nenhum comando precisa ser executado para definir o sistema operacional padrão. Para funcionar, a entrada GRUB_DEFAULT deve ser definido como saved.

GRUB_TIMEOUT = 10
Segundos antes da entrada padrão iniciar automaticamente.

GRUB_DISTRIBUTOR="Arch"
Determina o nome descritivo da distribuição no menuentry. (Arch,Ubuntu, Xubuntu, Debian, etc)

GRUB_CMDLINE_LINUX_DEFAULT = "splash quiet acpi=off"
A menos que GRUB_DISABLE_RECOVERY=true este opção adiciona entradas para o final da linha de comando 'kernel' no modo normal e modo de recuperação (recovery mode).

GRUB_CMDLINE_LINUX=""
Se a opção adiciona as entradas para o final da linha de comando 'kernel' no modo normal.

GRUB_PRELOAD_MODULES="part_gpt part_msdos"
Serve para definir os módulos que serão pré-carregados.
part_msdos=

GRUB_HIDDEN_TIMEOUT=5
Serve para definir a espera em segundos de uma tecla ser pressionada (tecla SHIFT) para mostrar o menu. Se nenhuma tecla for pressionada durante esse tempo, exibe o tempo definido no GRUB_TIMEOUT e inicia na entrada padrão.
GRUB_HIDDEN_TIMEOUT_QUIET=true
Em conjunto com GRUB_HIDDEN_TIMEOUT serve para ocultar o tempo do GRUB_TIMEOUT.

GRUB_TERMINAL_INPUT=console
GRUB_TERMINAL_OUTPUT=console ( Os usuários que utilizam o driver NVIDIA proprietário podem querer desativar framebuffer GRUB2, uma vez que pode causar problemas com o driver binário. Descomente esta opção )
Servem para setar os dispositivos de entrada e saida.
Ex. console (consoles PC BIOS e EFI), serial (serial terminal), gfxterm (modo gráfico de saída), ‘ofconsole’ (console Open Firmware), or ‘vga_text’ (saida de texto VGA , muito útil com Coreboot).

GRUB_GFXMODE=auto
A resolução usada no terminal gráfico (gfxterm).Note que você só pode usar modos que sua placa de vídeo suporta via VESA BIOS (VBE), talvez resoluções nativas do LCD não estão disponíveis.
Ex.1024x768

GRUB_GFXPAYLOAD_LINUX=keep
Permitir que o kernel use a mesma resolução usada pelo grub (GRUB_GFXMODE)

GRUB_DISABLE_LINUX_UUID=true
Aplicar no comando Kernel o formato "root=/dev/xxx" em vez de "root=/dev disco//by-uuid/xxx"

GRUB_DISABLE_RECOVERY=true
Desativar a geração de entradas do modo de recuperação (recovery mode)

GRUB_COLOR_NORMAL="light-blue/black"
GRUB_COLOR_HIGHLIGHT="light-cyan/blue"
Conjunto de cores do menu. Usado com ou sem papel de parede.
Entradas especificada como primeiro plano/segundo plano.

GRUB_THEME="/path/to/gfxtheme"
Definir imagem de fundo ou um tema gfx (gfxtheme)
Ex. /boot/grub/themes/Archxion/theme.txt

GRUB_INIT_TUNE="480 440 1"
Mais informação, use o comando: info grub --index-search play
Para obter um sinal sonoro no início do GRUB.
É particularmente útil para usuários que não conseguem ver a tela.

/etc/grub.d 
Nesta pasta estão os arquivos de configuração.
00_header- como próprio nome já diz é o cabeçalho da configuração.(captura as configurações do /etc/default/grub[)
20_linux_xen- 20_linux_xen, contendo todos Kernels do Xen
30_os-prober-Procura outros sistemas operacionais e insere no menu. Necessário o pacote os-prober.
41_custom-Método alternativo de configuração personalizada. (/boot/grub2/custom.cfg )
10_linux-Arquivo padrão:  Adiciona os kernel localmente e gera o menu .
20_memtest86 +- Se o pacote memtest86+ está instalado no sistema, o menu será automanticamente gerado.
40_custom- Usado para criar entradas personalizadas.

Nota: Caso o 40_custom não funcione, você pode usar 41_custom. Crie e edite o arquivo /boot/grub2/custom.cfg. Se o arquivo existir custom.cfg, então será aplicado. Uma vantagem de se ter o custom.cfg, é que não há necessidade de executar o grub2-mkconfig.

2- Adicionar e remover entradas de configurações no grub.cfg
Para adicionar: sudo chmod +x
Para remover: sudo chmod -x
Ex.
Removendo as entradas dos arquivos 10_linux 20_memtest86+ 30_os-prober

sudo chmod -x /etc/grub.d/10_linux /etc/grub.d/20_memtest86+ /etc/grub.d/30_os-prober

Nota:
Toda modificação, exceto do custom.cfg (41_custom), é necessário executar o comando de atualização do grub.
grub2-mkconfig -o /boot/grub/grub.cfg

3- Segurança
Se quiser proteger o GRUB2, não permitindo qualquer um mudar os parâmetros de inicialização ou usar a linha de comando, você pode adicionar uma combinação de usuário/senha nos arquivos.
Para isso execute o comando: grub-mkpasswd-pbkdf2
Digite uma senha e confirme-a.
A saída será paraecida com esta

PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.C8ABD3E93C4DFC83138B0C7A3D719BC650E6234310DA069E6FDB0DD4156313DA3D0D9BFFC2846C21D5A2DDA515114CF6378F8A064C94198D0618E70D23717E82.509BFA8A4217EAD0B33C87432524C0B6B64B34FBAD22D3E6E6874D9B101996C5F98AB1746FE7C7199147ECF4ABD8661C222EEEDB7D14A843261FFF2C07B12

Adicione no /etc/grub.d/00_header

cat << EOF

set superusers="username"
password_pbkdf2 username <password>

EOF

Onde <password> é a string gerada pelo grub-mkpasswd_pbkdf2.

Ex.
     set superusers="root"
     password_pbkdf2 root grub.pbkdf2.sha512.10000.*************

Sua linha de comando GRUB2, parâmetros de inicialização e todas as entradas de inicialização estão protegidos.

4- Módulos
Os módulos estão em /boot/grub/i386-pc
Para inserir módulos utilize insmod

Ex.

menuentry 'Linux core repo kernel' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-true-ff4ewwer56-49d6-4dfd-ba65-3aqqqwefa2e' {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_msdos
	insmod ext2
	set root='hd0,msdos6'
	echo	'Loading Linux core repo kernel ...'
	linux	/vmlinuz-linux root=UUID=ff4ewwer56-49d6-4dfd-ba65-3aqqqwefa2e ro  quiet
	echo	'Loading initial ramdisk ...'
	initrd	/initramfs-linux.img
}

Caso não seja necessário utilizar módulos (lvm,gzio,load_video...), fica mais rápido.

# (0)
menuentry "Arch Linux" {
    set root=(hd0,6)
    linux /vmlinuz-linux root=/dev/sda7 ro quiet
    initrd /initramfs-linux.img
}

Última edição por swatquest (26/09/2012 01:58:21)

Offline

Rodapé do site