Posts com Tag ‘Grub’

Neste post vamos registrar um pequeno roteiro com o objetivo de descrever a instalação do Debian através de um pendrive, conectado na porta USB do computador.

1. Obter as imagens para o pendrive

Será necessário baixar dois arquivos e disponibilizá-los no pendrive. Através do endereço http://www.debian.org/distrib/netinst tem-se acesso aos dois arquivos necessários:

a) Imagem de boot, necessário para fazer a carga inicial através do pendrive
Esta imagem será obtida clicando na opção “CDs minúsculos, pendrives, etc -> amd64” (para máquinas 64 bits, ou fazendo uso da opção i386 para máquinas 32 bits). Uma página será mostrada e que conterá uma coluna chamada “Directory”. Nesta coluna, deve-se clicar em “hd-media” e baixar o arquivo “boot.img.gz”. Este é um arquivo comprimido de 35 MB, com os arquivos de boot para cartão de memória USB (pendrive), e será o responsável por realizar o boot no pendrive. Após descompactado, será gerado o arquivo “boot.img” de aproximadamente 1GB.

b) Imagem ISO do Debian
Esta imagem será obtida clicando na opção “CDs Pequenos -> amd64” (para máquinas 64 bits, ou fazendo uso da opção i386 para máquinas 32 bits). Ao ser clicado, fornecerá o download direto da imagem de instalação do Debian (modalidade NetInst). Como dispunha de um pendrive de 2GB, utilizei a versão de arquivo de imagem de 230MB. No caso, para a versão Debian disponível no momento em que escrevera este post, o arquivo disponível era “debian-6.0.4-amd64-netinst.iso” . Para pendrives menores, utilize a opção da versão até 40MB de imagem (imagem businesscard).

Como optamos por utilizar uma imagem com uma parte do Debian (exigido para começar o processo de instalação), será necessário uma conexão com a internet para complementar a instalação.

2. Transferir os arquivos para o pendrive

a) Considerando o arquivo “boot.img.gz”
Descompacte o arquivo “boot.img.gz” através do comando a seguir:

$ gunzip boot.img.gz

Instale a imagem no pendrive. O pendrive deverá estar montado. Considerando que o pendrive seja o dispositivo /dev/sdb (cuidado: isso irá variar de computador para computador), os comandos a serem emitidos serão os seguintes:

$ dd if=boot.img of=/dev/sdb
$ sync

OBS: Para certificar-se para qual dispositivo foi o ‘pendrive’ USB mapeado, pode-se recorrer ao comando dmesg ou mount depois de ter inserido o pendrive:

$ mount
/dev/sdb on /media/Debian Inst type vfat (rw,nosuid,nodev,uhelper=udisks,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush)

No caso, observa-se que existe um pendrive, formatado com vfat, montado (/dev/sdb).
Agora é uma boa idéia para remover o pendrive e voltar a reconectá-lo ao dispositivo USB para que a nova partição e sua estrutura seja reconhecida pelo sistema Linux. Isso atualiza a tabela de partição das unidades armazenadas pelo udev.

b) Considerando o arquivo “debian-6.0.4-amd64-netinst.iso”
Simplesmente copie este arquivo para a pasta raiz do pendrive.

Após isto, desmonte e remova o pendrive. Ele está pronto para ser utilizado. A pasta raiz do pendrive deverá conter os seguintes arquivos:

$ tree
.
|-- adgtk.cfg
|-- adtxt.cfg
|-- debian-6.0.4-amd64-netinst.iso
|-- disk.lbl
|-- exithelp.cfg
|-- f10.txt
|-- f1.txt
|-- f2.txt
|-- f3.txt
|-- f4.txt
|-- f5.txt
|-- f6.txt
|-- f7.txt
|-- f8.txt
|-- f9.txt
|-- g2ldr
|-- g2ldr.mbr
|-- gtk.cfg
|-- initrdg.gz
|-- initrd.gz
|-- ldlinux.sys
|-- linux
|-- menu.cfg
|-- prompt.cfg
|-- rqgtk.cfg
|-- rqtxt.cfg
|-- setup.exe
|-- splash.png
|-- stdmenu.cfg
|-- syslinux.cfg
|-- txt.cfg
|-- vesamenu.c32
`-- win32-loader.ini

3. Executar o boot pelo pendrive e instalar o Debian
Com o computador desligado, insira o pendrive na interface USB e ligue a máquina. Através da BIOS, configure para que a sequência de boot tenha como primeira opção a interface USB-pendrive (os termos utilizados nas BIOS para designar o boot a partir do dispositivo USB não são padronizados: as vezes “Removable Drive”, “USB-ZIP” e outros).
OBS: algumas BIOS mais antigas não permitem fazer esta configuração.

Para entrar na BIOS e configurá-la, deve-se quando o computador iniciar apertar a tecla “Delete” (na maior parte das vezes, mas isto pode variar de computador para computador. Consulte a documentação de hardware para saber a combinação de teclas exata).

Referências
1- Preparar Ficheiros para iniciar a partir de USB Memory Stick
2- Seleção de Dispositivo Para Boot
3- Como instalar o Debian a partir de pendrive

Personalizar o GRUB

Publicado: 30/07/2011 em Linux, Programação
Tags:,

1. Introdução
O GRUB possui inúmeros recursos. Quando o GRUB é inicializado, um menu de escolha para boot é apresentado ao usuário a partir do que está em sua configuração. Acontece que a forma de configurar o GRUB é diferente entre sua versão legada e o GRUB2. logo, a primeira coisa é verificar a versão do GRUB em uso. Faça isto assim:
# grub-install --version
grub-install (GRUB) 2.02~beta2-22

Pela exemplo da resposta acima, vemos que está instalado a versão 2.02 do GRUB. Portanto, trata-se do GRUB-2, pois o GRUB legado vai até a versão 0.97.

2. Versão legada do GRUB
No GRUB legado, quando este é inicializado um menu de escolha para boot é apresentado ao usuário a partir do que está configurado através do arquivo /boot/grub/menu.lst.

Há uma série de imagens prontas que podem ser utilizadas para personalizar a tela do Grub. No site Debian Art, por exemplo, pode-se baixar diversas destas imagens. Outra opção, é construir sua própria tela, atentando para as seguintes características:

  • imagem no tamanho de 640×480;
  • imagem para 14 cores no máximo;

De uma forma ou de outra, siga os seguintes procedimentos:
2.1 Gerar a imagem desejada
Assumindo que você tenha uma imagem no formato PNG, converte-a para XPM, deixe-a no tamanho certo e faça sua compressão. Para isso abra o terminal e digite:

$ convert -resize 640x480 -colors 14 wallpaper.png image.xpm && gzip image.xpm

Com isto será gerado automaticamente o arquivo image.xpm.gz.
OBS: o comando “convert” faz parte do pacote “imagemagick”. Se não estiver instalado na máquina este pacote, deve-se fazer a sua instalação.

2.2 Copiar o arquivo gerado para o lugar correto

# cp image.xpm.gz /boot/grub/.

2.3 Configurar o GRUB legado
Para configurar o Splash Screen no Grub, edite o arquivo /boot/grub/menu.lst, adicionando as seguintes linhas:

# Define a cor de primeiro plano. A cor deve ser definida em notação hexadecimal.
foreground = ffffff
# Define a cor de segundo plano (fundo)
background = 13C3F3
splashimage=/boot/grub/image.xpm.gz

e reiniciar a máquina, onde a nova tela do GRUB já deve ser visualizada:
# reboot

3. Versão GRUB2
3.1 Introdução
A configuração manual do GRUB2 é feita através do arquivo /etc/default/grub e dos scripts presentes no diretório /etc/grub.d/. O arquivo /boot/grub/grub.cfg apesar de ser o principal arquivo de configuração, este NÃO deve ser alterado manualmente. Ele será configurado dinamicamente pelo comando “update-grub” a partir do conteúdo dos outros arquivos. Ou seja, grub.cfg é automaticamente gerado quando o comando “update-grub” for executado. Por padrão, e sempre que o comando “update-grub” for executado, este arquivo é feito “read-only”. Isto está de acordo com a intenção de que o arquivo NÃO deve ser editado manualmente.

Os arquivos do diretorio /etc/grub.d/ são scripts responsáveis por montar o arquivo /boot/grub/grub.cfg. Esses scripts serão executados pelo comando “update-grub” e devem ter permissão de execução. A ordem de execução desses arquivos segue a ordem alfabética de seus nomes, por exemplo: o arquivo “05_debian_theme” é executado antes do “10_linux”.

Veja para que serve cada arquivo de script do GRUB:

  • 00_header: é o script que carrega as configurações que estão no arquivo “/etc/default/grub”, por exemplo: o tempo de espera e a entrada de boot padrão.
  • 05_debian_theme: define a aparência do Grub2 (onfigura splash image, cor do texto, cor de realce e tema).
    10_linux: localiza os kernels do sistema operacional e cria suas entradas no menu.
  • 20_memtest86+: cria as entradas do memtest.
  • 30_os-prober: busca outros sistemas operacionais e cria as suas entradas no menu.
  • 40_custom: é apenas um modelo para se criar entradas adicionais no menu do Grub2.

3.2 Imagem de background do GRUB
a) Instalar “splash images”
# apt-get install grub2-splashimages
Uma vez instalado, as imagens estarão localizadas na pasta /usr/share/images/grub .

Para colocar uma imagem de background no GRUB2, a maneira mais fácil é editar o arquivo de configuração /etc/default/grub, adicionado o seguinte parâmetro:
GRUB_BACKGROUND=”coloque aqui o caminho até a imagem”

Exemplo:
GRUB_BACKGROUND="/usr/share/images/grub/Apollo_17_The_Last_Moon_Shot_Edit1.tga"

b) Atualizar o arquivo boot/grub/grub.cfg executando o seguinte comando:
# update-grub
e em seguida reiniciar o sistema, onde a nova imagem de background do GRUB já deve ser visualizada.

3.3 Cores do menu do GRUB
A forma de se configurar as cores do menu do GRUB é através de pares cor1/cor2. Atente ao fato de que o GRUB2 considera a cor preta, quando usada como a segunda entrada de cor, como indicação de transparência. Será visto a imagem de fundo quando o preto for a segunda entrada (por exemplo green/black = texto verde com fundo transparente).

cor1/cor2 = a cor1 representa a cor do texto. A cor2 representa a cor de background (ou transparente, quando for “black”). As cores podem ser designadas como HTML-style (#000000), RGB comma-separated (128,255,255), e SVG 1.0 com nomes de cores em minúsculos. Exemplos de designações:
black blue brown cyan dark-gray green light-cyan light-blue light-green light-gray light-magenta light-red magenta red white yellow

Há duas condições (normal e em destaque) e dois locais possíveis (menu ou não especificado) quando da configuração do GRUB:
a) condições
– texto em destaque ou selecionado: a linha selecionada é destacada totalmente até seu final, na forma de uma “barra”. A cor1 determina a cor da fonte. A cor2 determina a cor da barra.
– texto não realçado ou texto não selecionado: a cor1 determina a cor da fonte. A cor2 determina a cor de fundo ou transparência (se for “black”) de todas as áreas não destacadas.

b) locais
– menu_color_: a área dentro da fronteira do menu.
– color_: a área fora das fronteiras do menu. Também controlará itens dentro da fronteira se menu_color_ não for especificado.

Para se configurar as cores do GRUB pode-se editar o arquivo /etc/grub.d/05_debian_theme ou, talvez de forma muito mais fácil, criando um novo arquivo chamado /boot/grub/custom.cfg e colocar as configurações de cores nele. Por exemplo:
set color_normal=yellow/black
set color_highlight=red/black
set menu_color_normal=white/black
set menu_color_highlight=red/yellow

3.4 Outras facilidades com o GRUB2
a) Mudar a resolução do video para o GRUB
Editar o parâmetro do arquivo /etc/default/grub conforme abaixo:
De: GRUB_GFXMODE=640x480 (que é o valor padrão)
Para: GRUB_GFXMODE=auto

Atualizar o arquivo de configuração boot/grub/grub.cfg executando o comando abaixo:
# update-grub
e em seguida reiniciar o sistema.
OBS:
– se desejar fixar um outro valor para a resolução do vídeo, veja antes quais as resoluções suportadas por sua controladora de vídeo. Isso pode ser feito pelo seguinte comando:
# hwinfo --framebuffer
– se necessitar, consulte aqui na wikipedia a lista das resoluções de vídeo mais comuns.

b) Help para o arquivo de configuração /etc/default/grub
Instalar o aplicativo de leitura de documentos:
# apt-get install info
Agora basta executar o seguinte comando no terminal:
$ info -f grub -n 'Simple configuration'

Referências
GRUB legado:
1- Debian Art
2- Customizando Splash Screen do Grub
3- Gerenciadores de Boot – Configurando o Grub
4- Wiki-Grub
GRUB2
5- Configurando o Grub2 no Debian
6- GNU GRUB Manual 2.00
7- Grub2
GRUB – conceitos
8- Gerenciadores de partida (boot loaders)/GRUB

O processo de recuperar a senha do root é muito simples.

Reinicie a máquina. Quando entrar no grub, selecione a imagem do boot que você utiliza. Tecle “e” para editar.

Apague tudo que estiver depois da partição do root. Insira “rw init=/bin/bash”;
Exemplo:

antes:
“kernel /boot/vmlinuz-2.6.18.3 root=/dev/hda5 ro vga=791″
depois:
“kernel /boot/vmlinuz-2.6.18.3 root=/dev/hda5 rw init=/bin/bash”

Tecle Enter.
Obs: as alterações realizadas não serão salvas no arquivo de configuração do Grub, servirão apenas para este boot.
Tecle “b” para fazer o boot com as novas configurações.

O sistema irá iniciar em modo monousuário, não pedirá senha.
Após iniciar basta usar o comando “passwd” para escolher a nova senha para o root e reiniciar a máquina.

    Veja outras informações em…

Blog do Bueno

Com o passar do tempo vão surgindo novas atualizações de kernel fazendo uma ocupação de espaço desnecessário no HD, bem como deixando os kernels antigos ociosos e sem propósito no computador. Além disso, quando da iniciação do computador, o GRUB apresenta uma incômoda longa lista de kernels passíveis de serem utilizados.

A remoção dos kernels antigos pode ser realizada de duas maneiras básicas: pela interface gráfica, utilizando-se do Synaptic (Sistema > Administração > Gerenciador de Pacotes Synaptic), ou por comandos através da interface texto.

Antes de mais nada, pode ser interessante listar todas as versões do kernel que estão instaladas. Para isto basta utilizar o comando:

$ dpkg --get-selections | grep linux-image

Observe que os kernels mais ANTIGOS têm números menores.


1- Método 1: utilizando-se do Synaptic

Com o gerenciador de pacotes Synaptic, basta buscar por Linux-Image e dexar só o mais recente.

2- Método 2: utilizando-se do terminal de comandos textual

Após identificado as versões do Linux-Image que devem ser removidas, deve-se usar repetidamente o comando abaixo para desinstalar do HD cada imagem do kernel:

# aptitude purge nome_do_pacote

OBS: se desejar não desinstalar, mas só retirar da lista de inicialização do Grub, edite o /boot/grub/menu.lst e remova as imagens que que não se deseja que apareça no boot.

Referências:


Como apagar um kernel no Ubuntu

Há algum tempo não venho trabalhando tecnicamente com computadores, apesar de ser técnico por essência. Comprei um notebook e resolvi então instalar o Ubuntu 10.04 juntamente com o Windows 7 que veio junto com o aparelho (OEM).

Porém como não trabalhara tecnicamente a pelo menos 2 anos e meio fiz a primeira caca que foi apagar o Windows 7 original que veio com o note e instalar o Ubuntu 10.04 em uma parte do disco rígido, deixando uma outra parte sem formatação para instalação do Windows.

Até a finalização da instalação do Ubuntu nenhum problema, o problema é que depois desta instalação resolvi instalar o Windows na partição previamente separada e não formatada, após correr com a instalação do Windows 7 sem maiores problemas notei e lembrei que feito isto o sistema da Microsoft reescreve o MBR (Master Boot Record) e então passa a não reconhecer o sistema livre para que seja efetuado o boot.

Me atrevendo novamente na área técnica peguei a dica via Google como recuperar rapidamente o Grub, inclusive com reconhecimento da partição Windows e Linux.

Para isso basta fazer o seguinte:

Usando o CD de instalação do Ubuntu ou qualquer outra distro Linux ou mesmo o live CD inicie o sistema pelo unidade de CDROM, após finalização do boot, abra um terminal e faça como se segue:

$ sudo -i
# mount /dev/sda1 /mnt (Onde sda1 é a partição onde se encontra o sistema raiz (/) da sua instalação linux; O numero da unidade pode variar).

Caso em sua instalação inicial do sistema livre você tenha criado uma partição /boot separada a monte dentro da montagem anterior (raiz).

# mount /dev/sda2 /mnt (Onde sda2 é sua partição separada para /boot , caso você não tenha criado a partição /boot separadamente pule este passo. O número da unidade também pode variar).

Basta então digitar:

# grub-install –root-directory=/mnt/ /dev/sda

Pronto! Dê um boot no seu equipamento, entre novamente em seu linux e então basta digitar:

# grub-update

Feito isso você estará com os 2 sistemas operacionais a sua disposição na inicialização de sua máquina.