Tales A. Mendonça

Instalando o Gentoo partindo do stage 3, passo a passo

02, jul, 2009

Para aqueles que desejam instalar o Gentoo Linux e não possuam uma experiência com o inglês ou mesmo não querem ler dezenas de páginas do handbook, escrevi este documento com o intuito de facilitar a instalação do Gentoo. O documento está mais para uma receita de bolo, com passo a passo de como instalar o sistema básico e, caso queira, o servidor X. Não entrei em muitos detalhes sobre cada item, fazendo apenas alguns comentários, para que o documento não ficasse muito extenso.
Aguardo críticas e sugestões para manter o documento atualizado, uma vez que o handbook em nossa língua não sofre mais atualizações.

*Para aqueles que desejarem, baixem este documento no formado PDF clicando aqui.

v. 1/7/2009
Por Tales A. Mendonça
Agradecimentos ao jmbsvicetto, desenvolvedor do Gentoo.

obs.: Para quem for utilizar ~arch, use o guia(http://www.gentoo.org/doc/en/openrc-migration.xml) para fazer a atualização/migração para Baselayout2 e OpenRC. Os itens deste documento que serão alterados são: 15, 17.1 e 22.1.

1. Baixar o ISO mínimo de instalação

Link para download: http://gentoo.c3sl.ufpr.br/releases/ (Escolha a sua arquitetura e logo em seguida selecione current/install-*<arch>*-minimal-[versão].iso).
Após baixar o arquivo, verifique se a imagem(ISO) não está corrompida. Se estiver tudo OK, queime em um CD.

1.1. Carregando o LiveCD

Digite gentoo para carregar o sistema normalmente ou escolha outras opções(F1) disponíveis.

obs.: Digitando gentoo no boot do CD, o sistema será carregado com suporte para o kernel 2.6

2. Layout do teclado

Escolha o tipo de layout do teclado compatível com sua máquina. No nosso caso, a opção é 4(br-a), que representa o ABNT2.

3. Configurando a rede

Configure a rede para prosseguir com a instalação. O padrão é a rede iniciar utilizando DHCP, que já deverá estar configurada, caso não esteja, utilize o comado net-setup eth0 para configurá-la.

obs: Substitua eth0 pela sua interface de rede.
Para testar a rede, use o comando ping www.google.com, por exemplo.

4. Configurando os discos

Utilizar o cfdisk é uma boa escolha, ao invés do fdisk.
Partições que serão criadas:
EXT2   /boot   100MB                                  /dev/sda1
SWAP   swap    502MB (memória RAM atual é de 512MB)   /dev/sda1
EXT4   /       restante do disco                      /dev/sda2

obs.: Não é preciso criar uma partição /boot separada, a não ser que você esteja configurando um servidor(para obter mais segurança e não corromper o diretório de boot).

Nota.: Após criar as partições no cfdisk, será definido um nome+número das partições (sda1, sda2, sda3, sdb4, sdd…).

4.1. Criar os tipos de arquivos, EXT2, EXT4 e SWAP(área de troca)

(Criando o sistema de arquivos EXT2)
# mke2fs /dev/sda1

(Criando o sistema de arquivos EXT3)
# mke2fs -j /dev/sda3

(Criando o sistema de arquivos EXT4)

mkfs.ext4 /dev/sda2

(Criando e ativando a partição swap)

mkswap /dev/sda1
swapon /dev/sda1

4.2. Montando as partições criadas para instalar o stage e o portage

(Montando o sistema raiz(/))

mount /dev/sda2 /mnt/gentoo

(Criando a partição boot)
# mkdir /mnt/gentoo/boot

(Montando a partição boot dentro do raíz)
# mount /dev/sda1 /mnt/gentoo/boot

5. Instalando o stage 3

obs.: Configure a data, com o comando date, se a mesma estiver incorreta.

5.1. Baixando o stage 3 direto da internet

cd /mnt/gentoo
links http://gentoo.c3sl.ufpr.br/releases/

Navegue até ../<arquitetura>/current e baixe o arquivo stage3-i686-[versão].tar.bz2 com a versão mais nova. Aguarde, o arquivo tem ~119 MB.

obs.: Eu defini baixar e fazer todo o procedimento com o stage compilado para arquitetura i686. Fique avontade para escolher um mais adequado.

(Após baixar, verifique se o arquivo não está corrompido. O arquivo.DIGESTS também deve ser baixado)

md5sum -c stage3-i686-*.tar.bz2.DIGESTS

(Descompactando o stage3)

tar -xvjpf stage3-*.tar.bz2

(Removendo o source baixado. Você não irá mais precisar dele, talvez em outra instalação.)

rm -f stage3-*.tar.bz2*

6. Instalando o portage

(Entre no diretório raíz, caso não esteja)

cd /mnt/gentoo

(Baixe a versão mais recente do portage no link abaixo)

links http://gentoo.c3sl.ufpr.br/releases/snapshots/current/

(Verifique se o arquivo está corrompido. O arquivo.md5sum também deve ser baixado)

md5sum -c portage-latest.tar.bz2.md5sum

(Extraindo os arquivos do portage)

tar -xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr

(Removendo o source baixado. Você não irá mais precisar dele, talvez em outra instalação.)

rm -f portage-latest.tar.bz2*

7. Configurando as opções de compilação no “/etc/make.conf”

nano -w /mnt/gentoo/etc/make.conf
CHOST="i686-pc-linux-gnu" # Mais informações sobre a variável    CHOST(http://www.gentoo.org/doc/en/change-chost.xml).
CFLAGS="-march=native -O2 -pipe"
CXXFLAGS="${CFLAGS}"
LINGUAS="pt_BR"
ACCEPT_KEYWORDS="x86" # Troque x86 pela arquitetura que deseja usar.
ACCEPT_LICENSE="*" # Aceita automaticamente licença de programas como o java e o VirtualBox

obs.: A opção -march=native é válida apenas para versões do gcc 4.3 em diante. Caso o seu gcc seja uma versão anterior a 4.3, você deverá informar a arquitetura correta correspondente ao seu CPU. Se tiver em dúvida ou indeciso em qual utilizar, deixe como -march=i686 e todos os seus pacotes serão compilados para arquitetura i686.
Se for utilizar distcc(http://www.gentoo.org/doc/en/distcc.xml), não utilize -march=native.

(Configurando mirrors para a variável GENTOO_MIRRORS)

mirrorselect -i -o >> /mnt/gentoo/etc/make.conf

(Configurando um mirror para a variável SYNC)

mirrorselect -i -r -o >> /mnt/gentoo/etc/make.conf

8. Copiando o DNS do liveCD para a partição montada

cp -L /etc/resolv.conf /mnt/gentoo/etc/

9. Montando os sistemas de arquivos

(Montando o sistema de arquivos /proc)

mount -t proc none /mnt/gentoo/proc

(Montando o sistema de arquivos /dev)

mount -o bind /dev /mnt/gentoo/dev

10. Entrando no novo ambiente com chroot

chroot /mnt/gentoo /bin/bash

(Criando um novo ambiente com variáveis de ambiente)

env-update
>> Regenerating /etc/ld.so.cache...

(Carregando as variáveis de ambiente na memória)

source /etc/profile

(*Opcional. Apenas para indicar que está em um ambiente chroot)

export PS1="(chroot) $PS1"

11. Configurando o portage

(Atualiza a lista de pacotes do portage)

emerge --sync

12. Atualizando o perfil *Opcional

Atualiza ou troca de profile.

(Listando os profiles disponíveis)

eselect profile list

(Escolhendo um profile. n = número do profile)

eselect profile set n

13. Configurando a variável USE

(Aqui você pode encontrar todas as flags da variável USE disponíveis)

less /usr/portage/profiles/use.desc

(Segue um exemplo da USE que deve ser configurada no /etc/make.conf)

nano -w /etc/make.conf

(A variável USE abaixo irá construir um ambiente voltado para o ambiente kde)

USE="-gtk -gnome qt4 kde dvd alsa cdr"

(Mais um exemplo. O sistema será voltado tanto para kde como para o gnome)

USE="avi cdr crypt cups dvd dbus encode gnome gtk gtk2 hal jpeg kde mp3 mpeg ncurses nls opengl png qt4 sdl spell tcpd truetype X truetype unicode"

Dica: Configure apenas as USE globais no ‘/etc/make.conf’.

14. Configurar localidade no glibc *Opcional

nano -w /etc/locale.gen

(Configurando para o nosso idioma)

pt_BR ISO-8859-1
pt_BR.UTF-8 UTF-8

15. Configurando o timezone

(Procure por um timezone compatível com a sua localidade)

ls /usr/share/zoneinfo

(copiando o timezone Sao_Paulo para o “/etc/localtime”)

cp /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime

16. Instalando o fonte do kernel

emerge -av gentoo-sources

17. Utilizando o genkernel para compilar o kernel

obs.: O genkernel serve apenas para ajudar no processo de compilação e instalação do kernel, mas cabe a você configurá-lo manualmente de acordo com o hardware da sua máquina.
(Instalando o genkernel)

emerge -av genkernel

(Copiando a configuração do kernel usada no liveCD para onde o genkernel irá procurar a configuração do kernel padrão. arch = arquitetura, exemplo: x86)
# zcat /proc/config.gz > /usr/share/genkernel/*<arch>*/kernel-config-2.6

zcat /proc/config.gz > /usr/share/genkernel/arch/*<arch>*/kernel-config

(Compilando o kernel com o genkernel)

genkernel --menuconfig --oldconfig --splash --install all

obs.: Para a opção “–splash” funcionar, deve ser ativada no kernel.

17.1. Adicionando módulos no arranque do sistema

(*Opcional, Adicionar módulos para serem carregados na inicialização do sistema)

nano -w /etc/modules.autoload.d/kernel-2.6
# Módulos carregados durante o boot
nvidia
vboxdrv

18. Configurando as partições(fstab)

(Editando o fstab para configuração)

nano -w /etc/fstab

obs.: Opções como CD/DVD podem ser removidas pois o DBUS é responsável por gerenciar mídias removíveis.

# --- Início da Configuração --- #
/dev/sda1    /boot        ext2        defaults,noatime    1 2
/dev/sda1    none         swap        sw                  0 0
/dev/sda2    /            ext4        noatime             0 1
# --- Fim da Configuração --- #

19. Configurando o hostname(nome da máquina)

nano -w /etc/conf.d/hostname

20. Configurando a rede

(Editando o arquivo para configuração da rede)

nano -w /etc/conf.d/net
# --- Início da Configuração --- #
config_eth0=( "192.168.1.2 netmask 255.255.255.0 brd 192.168.0.255" )
routes_eth0=( "default via 192.168.1.254" )
 
#config_eth0=( "dhcp" ) # Para utilizar como dhcp é preciso instalar o cliente dhcp(emerge -av dhcpcd)
# --- Fim da Configuração --- #

obs.: Mais informações podem ser encontradas no arquivo ‘/etc/conf.d/net.example’.

20.1. Iniciando a rede no arranque

rc-update add net.eth0 default

21. Configurando os hosts *Opcional

nano -w /etc/hosts

22. Informações sobre o sistema

(Configura a senha do root)

passwd

(Configura informações como: gerenciador gráfico, editor, ambiente gráfico padrão)

nano -w /etc/rc.conf

(Configura o layout do teclado)

nano -w /etc/conf.d/keymaps
KEYMAP="-u br-abnt2"

22.1. Configura o relógio

(Configura o relógio buscando informações direto da internet)

nano -w /etc/conf.d/clock
CLOCK="UTC"
TIMEZONE="America/Sao_Paulo"
CLOCK_SYSTOHC="yes"

23. Instalando ferramentas necessárias para o sistema

23.1. Guarda informações do sistema; um registrador do sistema

(Instalando o syslog-ng)

emerge syslog-ng

(Carregando o syslog-ng no boot)

rc-update add syslog-ng default

23.2. Executando tarefas programadas

(Instalando o vixie-cron)

emerge vixie-cron

(Carregando o vixie-cron no boot)

rc-update add vixie-cron default

23.3. Encontrando qualquer arquivo no sistema de forma rápida

(Instalando o slocate)

emerge slocate

23.4. Instalando o PPP *Opcional

Instale apenas se você for utilizar conexão discada, exemplo o velox.

(Instalando o ppp)

emerge o ppp

24. Instalando o gerenciador de boot

(Instalando o gerenciador de boot grub)

emerge -av grub

Segue um exemplo da configuração do grub, comentado:

nano -w /boot/grub/grub.conf
#--- Início da Configuração---#
default 0 # Dispositivo padrão de carregamento
timeout 10 # Tempo de espera até que uma das opções de boot seja escolhida e carregada.
splashimage=(hd0,0)/boot/grub/splash.xpm.gz # Carrega a tela de splash
 
title Gentoo Linux 2.6.28-r5
root (hd0,1) # hd0,0 = /dev/sda1, hd0,1 = /dev/sda2
kernel /boot/kernel-genkernel-x86-2.6.28-gentoo-r5 real_root=/dev/sda3 # Opções opcionais relacionadas com a saida do genkernel # vga=791 splash=silent,theme:default console=tty1 quiet
#initrd /boot/initramfs-genkernel-x86-2.6.24-gentoo-r5 # *Opcional
 
# Use as opções abaixo caso tenha um dual-boot
#title Windows XP
#rootnoverify (hd0,5)
#makeactive
#chainloader +1
#--- Fim da Configuração ---#

(Criando um mtab no ambiente chroot)

grep -v rootfs /proc/mounts > /etc/mtab

(Instalando o grub)

grub-install --no-floppy /dev/sda

25. Recarregando o sistema
*Aqui você já terá o sistema básico do Gentoo instalado, ou seja, o mínimo do mínio para o sistema ser carregado. Sem Servidor X, claro, o mesmo nem foi instalado.

exit && reboot

livecd root # cd
livecd root # umount /mnt/gentoo/boot /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo
livecd root # reboot

** Resumindo, neste pondo você terá nada mais do que um sistema butável.

*** IMPORTANTE: Para manter o sistema limpo de pacotes desnecessários, rode os 3 comandos abaixo após a instalção e de preferência 1 vez por mês, para manter um sistema íntegro e atualizado.

(Atualiza todo o sistema)

emerge -NDuatv world

(Remove pacotes desnecessários. Cuidado com este comando, ele poderá remover o seu kernel se o mesmo não estiver atualizado)

emerge -av --depclean

(Reconstrói a estrutura do sistema, procurando por pacotes(bibliotecas) quebrados)

revdep-rebuild

Primeiras Configurações após o primeiro boot…

*Opcional – Instalando e configurando o ccahe

“O ccache é um cachê para compilações rápidas. Quando você compila um programa, ele fará cachê de resultados intermediários para que, quando você recompilar o mesmo programa, o tempo de compilação seja drasticamente reduzido. Em compilações comuns isso pode resultar em compilações de 5 a 10 vezes mais rápidas.”

emerge -av ccache

(Adicionar ccache na variável FEATURES no make.conf)

FEATURES="${FEATURES} ccache"

(Definir o tamanho do ccache no make.conf)

CCACHE_SIZE="2G"

(Definir o diretório que será utilizado para fazer cache)

CCACHE_DIR="/var/tmp/ccache"

(O local ‘/var/tmp/ccache’ é o diretório padrão do ccache no portage)

*Atualizar o GCC

emerge -uav1 gcc

(Lista os profiles do gcc disponíveis)

gcc-config -l

(Substituir “i686-pc-linux-gnu-4.3.2″ para a versão
do GCC e ajustes de CHOST para o que foi atualizado)

gcc-config i686-pc-linux-gnu-4.3.2
source /etc/profile

(Reconstruindo a biblioteca libtool)

emerge -av1 libtool

(Reconstruindo o sistema para usufruir do novo compilador)

emerge -NDuaetv world

26. Adicionando um usuário

useradd -m -G users,wheel,audio,video,usb,cdrom -c "Mari Mendonça" mari
passwd mari

27. Ajustando a linguagem padrão do sistema

(O arquivo 02locale não existe, mas será criado agora)

nano -w /etc/env.d/02locale

(Adicione o conteúdo abaixo)

LANG="pt_BR.UTF-8"
LC_COLLATE="C"

(exportando as variáveis para o sistema)

export LANG="pt_BR.UTF-8"
export LC_COLLATE="C"

(Carregando o sistema com as variáveis exportadas)

env-update && source /etc/profile

*Pacotes recomendáveis instalar

app-portage/gentoolkit
app-portage/eix
app-portage/autounmask

** Configurando o X

1. Coloque o hal para ser iniciado no boot

rc-update add hald default

2. Comece colocando algumas variáveis de ambiente no /etc/make.conf

(Configura os dispositivos. Configure de acordo com os seus dispositios)

INPUT_DEVICES="evdev keyboard mouse"

(Configura o driver de video, para utilizar mais de um, coloque com espaço)

VIDEO_CARDS="nv nvidia"

(Instalando o Xorg-server)

emerge -av xorg-server

2. Configurando o xorg.conf

(Gera o xorg.conf de forma automática)

Xorg -configure

ou
(Passo a passo para configurar o xorg já gerando um xorg.conf)

xorgconfig

(Testa para ver se está tudo funcionando bem, mouse e teclado)

X -config /root/xorg.conf.new

(Cuidado ao testa-lo de uma vez pois poderá travar o seu X e precisará reiniciar o computador)

(copia o arquivo do xorg.conf para o seu devido lugar)

cp /root/xorg.conf.new /etc/X11/xorg.conf

(Configure de acordo que achar melhor)

Fonte: Handbook do gentoo.org


2 Comentários para esta publicação

1 Trackback or Pingback for this entry

Deixe um comentário

Procurando algo?

Utilize o formulário abaixo para pesquisar no site:

Ainda não encontrou o que está procurando? Deixe um comentário no post ou entre em contato!

Visite sites interessantes!

Alguns sites altamente recomendados...