Se o método padrão de instalação carregando-a-partir-do-cd não funcionar para você (ou você simplesmente não gostar dele), a ajuda está aqui. Este documento serve para fornecer um repositório de técnicas de instalação alternativas do Gentoo Linux para aqueles que precisam delas. Ou, se você preferir, ele serve como um lugar para colocar seu métodos de instalação estranhos. Se você tem um método de instalação que você acha útil, ou inventou um jeito divertido de instalar o Gentoo, não hesite em escrevê-lo e relatá-lo no Bugzilla.
2. Carregando o CD de Instalação com o Smart BootManager
Baixe o Smart BootManager disponível em http://btmgr.sourceforge.net/download.html. A fonte ou binários de Linux e versões .exe de windows estão disponíveis junto com vários pacotes de línguas. No entanto, no momento, o método preferido é usar o formato binário, já que a fonte não irá compilar com versões mais novas do NASM.
Compile o pacote da fonte ou pegue o binário. Existem várias opções que podem ser utilizadas durante a criação de seu disquete de inicialização, como visto abaixo.
Listagem de código 2.1: Opções do Smart BootManager |
sbminst [-t theme] [-d drv] [-b backup_file] [-u backup_file]
-t theme select the theme to be used, in which the theme could be:
us = English theme de = German theme
hu = Hungarian theme zh = Chinese theme
ru = Russian theme cz = Czech theme
es = Spanish theme fr = French theme
pt = Portuguese theme
-d drv set the drive that you want to install Smart BootManager on;
for Linux:
/dev/fd0 is the first floppy driver,
/dev/hda is the first IDE harddisk driver.
/dev/sda is the first SCSI harddisk driver.
for DOS:
0 is the first floppy drive
128 is the first hard drive;
-c disable CD-ROM booting feature;
-b backup_file backup the data that will be overwritten for
future uninstallation;
-u backup_file uninstall Smart BootManager, should be used alone;
-y do not ask any question or warning.
|
Listagem de código 2.2: Usando o sbminst para construir o disquete de inicialização |
# sbminst -t us -d /dev/fd0
|
Nota: Troque fd0 com seu respectivo dispositivo de disquetes se o nome do seu for diferente. |
Agora coloque o disquete no dispositivo de disquetes do computador que você quer carregar o CD de Instalação, junto com o CD de Instalação no CD-ROM e ligue o computador.
Você verá o diálogo do Smart BootManager. Selecione CD-ROM e aperte ENTER para carregar o CD de Instalação. Uma vez carregado proceda com as instruções de instalação padrão.
Mais informações sobre o Smart BootManager podem ser encontradas em http://btmgr.sourceforge.net/
Nota: O Knoppix está apenas disponível para usuários de x86. |
Carregar do LiveCD do Knoppix é um jeito de ter um sistema totalmente funcional enquanto você estiver compilando o Gentoo. O Tux Racer ajudará a passar o tempo enquanto você espera e você pode usar OpenOffice para trabalhar.
Aviso: Esteja avisado que se você salvar qualquer coisa no diretório de home do Knoppix enquanto estiver esperando o Gentoo instalar, não estará disponível quando você reiniciar o Gentoo. Certifique-se de salvar arquivos importantes no disco rígido ou em outro computador! |
Carregue o CD do Knoppix. Se você tiver Knoppix 3.6-3.8.2, você precisará especificar knoppix26 como opção de inicialização para carregar um kernel 2.6. Se você perder este passo, quando você fizer chroot receberá um erro dizendo que seu kernel é velho demais. Se, entretanto, você tiver Knoppix 3.9+, este passo é desnecessário, já que o kernel 2.6 é o padrão.
Por padrão o Knoppix carrega um desktop KDE. Abra um konsole e faça su - para poder mudar sua senha. Isto permite configurar a senha de administrador (root) para o Knoppix. Você pode agora configurar o sshd para logi remoto, de acordo com sua preferência.
Listagem de código 3.1: Criando o ponto de montagem /mnt/gentoo |
# mkdir /mnt/gentoo
|
Neste ponto, você pode continuar com o documento de instalação padrão na parte 4. No entanto, quando for pedido para montar o sistema de proc, faça o seguinte comando ao invés do enunciado:
Listagem de código 3.2: Fazendo bind-mount do pseudo sistema de arquivos proc |
# mount -o bind /proc /mnt/gentoo/proc
|
Também, esteja ciente de que algumas FEATURES (funções) do Portage não irão funcionar no Knoppix. Tenha cuidado especial com userpriv e usersandbox. Se você obtiver muitos erros, uma saída pode ser desativar algumas ou todas funções opcionais.
4. Instalando do stage1 sem acesso a rede
Grave uma iso de CD de Instalação.
Pegue o último snapshot do portage de http://distro.ibiblio.org/pub/linux/distributions/gentoo/snapshots/ (ou seu servidor favorito). Ou coloque a tarball em uma partição existente do computador em que você está instalando, ou grave-o em um CD.
Siga as instruções do Manual de instalação do Gentoo até chroot /mnt/gentoo no capítulo 6. Se você só tem um CD-ROM lembre-se de usar a opção docache durante a inicialização para que você possa desmontar o CD de Instalação e montar seu CD com o snapshot do portage.
Abra um novo console (Alt-F2), nós vamos continuar com o documento de instalação até rodar o script boostrap.sh.
Aviso: Lançamentos mais antigos do CD de Instalação pedem que você a senha usando o comando passwd, antes de fazer log-in manualmente. |
Volte ao primeiro console (Alt-F1, fora do chroot) e monte um segundo CD em /mnt/gentoo/mnt/cdrom2. Copie a tarball do portage do cdrom2 e extraia-a em /mnt/gentoo/usr.
Listagem de código 4.1: Monte o cd de snapshot |
# umount /mnt/cdrom # mkdir /mnt/gentoo/mnt/cdrom2 # mount /dev/cdroms/cdrom0 /mnt/gentoo/mnt/cdrom2 # cp /mnt/gentoo/mnt/cdrom2/portage-$date.tar.bz2 /mnt/gentoo/usr # cd /mnt/gentoo/usr # tar -xvjpf portage-$date.tar.bz2 |
Volte ao console F2. Agora se você tentar rodar bootstrap.sh ele irá falhar porque não consegue baixar os arquivos. Nós vamos baixar os arquivos em algum outro lugar e colocá-los em /usr/portage/distfiles (no console F2).
Você precisa de uma lista de pacotes de stage1: glibc, baselayout, texinfo, gettext, zlib, binutils, gcc, ncurses mais suas dependências.
Nota: Note que você precisa das versões de cada pacote sincronizadas com sua árvore do portage. |
Listagem de código 4.2: Pegando uma lista de pacotes |
(Não se esqueça do 2 na frente do >) # emerge -fp glibc baselayout texinfo gettext zlib binutils gcc ncurses 2> stage1.list # mount -t vfat /dev/fd0 /mnt/floppy # cp /mnt/gentoo/stage1.list /mnt/floppy # umount /mnt/floppy |
Leve o disquete ao computador que tem acesso rápido. Se você olhar o arquivo stage1.list, você verá que ele fornece várias URLs para baixar. Infelizmente, ele também lista várias URLs possíveis para cada pacote também, que não é o que você quer. Tire todas menos uma das URLs primeiro:
Listagem de código 4.3: Limpando as URLs |
(Este script depende do formato de saída dado pelo emerge que pode mudar no futuro sem aviso - use com cuidado!) # cut -f 1 -d ' ' stage1.list > stage1.download |
Agora use o wget para baixar todas fontes listadas:
Listagem de código 4.4: Usando o wget para baixar seus pacotes fonte |
# wget -N -i stage1.download
|
Quando você houver baixado todos os arquivos, coloque-os no computador e copie-os para /mnt/gentoo/usr/portage/distfiles. Você então poderá rodar bootstrap.sh. Repita o mesmo procedimento de pegar com o wget para o estágio 2 e 3.
5. Instalação sem disco usando inicialização de PXE
Você precisará de uma placa de rede no cliente sem disco que usa o protocolo PXE para iniciar, como muitas placas 3com. Você também precisará de uma BIOS que suporte inicialização de PXE.
Configuração de servidor de base
Crie os diretórios: a primeira coisa a fazer-se é criar os diretórios onde seu sistema sem disco será gravado. Crie um diretório chamado /diskless que contenha um diretório para cada cliente sem disco. Para o resto deste guia trabalharemos no cliente 'eta'.
Listagem de código 5.1: configuração de diretório |
# mkdir /diskless # mkdir /diskless/eta # mkdir /diskless/eta/boot |
Configuração de DHCP e TFTP: o cliente irá obter informações de inicialização usando DHCP e irá baixar todos arquivos necessários usando TFTP. Simplesmente faça emerge do DHCP e configure-o para suas necessidades básicas. Então, adicione o seguinte em /etc/dhcp/dhcpd.conf.
Nota: Isto fornece um endereço IP estático para o cliente e o caminho para a imagem de inicialização PXE, aqui pxegrub. Você tem que substituir o endereço de MAC com a placa de Ethernet do cliente e o diretório onde você irá colocar os arquivos de cliente com o que você irá usar. |
Para DHCPd, rode emerge dhcp (ou qualquer outro servidor de DHCP de sua escolha). Certifique-se de que a interface correta está selecionada em /etc/conf.d/dhcp.
Listagem de código 5.2: dhcp.conf |
option option-150 code 150 = text ;
ddns-update-style none ;
host eta {
hardware ethernet 00:00:00:00:00:00;
fixed-address ip.add.re.ss;
option option-150 "/eta/boot/grub.lst";
filename "/eta/boot/pxegrub";
}
|
Para o TFTP, faça emerge app-admin/tftp-hpa. No /etc/conf.d/in.tftpd, coloque o seguinte:
Listagem de código 5.3: in.tftpd |
INTFTPD_PATH="/diskless"
INTFTPD_USER="nobody"
INTFTPD_OPTS="-u ${INTFTPD_USER} -l -vvvvvv -p -c -s ${INTFTPD_PATH}"
|
Configure o GRUB: para fornecer inicialização de PXE eu uso GRUB. Você tem que compilá-lo você mesmo para ativar a compilação de imagem PXE ... mas isto é fácil. Primeiro, pegue a última versão do código fonte do GRUB (emerge -f grub irá colocar a tarball em /usr/portage/distfiles). Copie a tarball em /diskless e construa com capacidade de binário pxe. Uma vez que o binário estiver construído, copio-o para o diretório de inicialização do cliente sem disco. Então edite seu arquivo de configuração grub.lst.
Listagem de código 5.4: configuração do grub |
# tar zxvf grub-0.92.tar.gz # cd grub-0.92 # ./configure --help (Nas opções você verá uma lista de drivers de interface de rede. Selecione o driver compatível com a placa de rede seu cliente. Aqui em diante referenciado como $nic) # ./configure --enable-diskless --enable-$nic # make # cd stage2 # cp pxegrub /diskless/eta/boot/pxegrub # nano -w /diskless/eta/boot/grub.lst |
Listagem de código 5.5: grub.lst |
default 0 timeout 30 title=Gentoo sem disco root (nd) kernel /eta/bzImage ip=dhcp root=/dev/nfs nfsroot=end.ere.ço.ip:/diskless/eta # Para a opção nfsroot, o endereço IP é o do servidor e o diretório é aquele onde os arquivos do cliente sem disco estão localizados (no servidor). |
Configure o NFS: O NFS é fácil de configurar. A única coisa que você tem que fazer é adicionar uma linha no arquivo de configuração /etc/exports:
Listagem de código 5.6: /etc/exports |
# nano -w /etc/exports
# /etc/exports: arquivos de sistema NFS sendo exportados. Veja exports(5).
/diskless/eta eta(rw,sync,no_root_squash)
|
Atualize seu hosts: uma coisa importante a fazer agora é modificar seu arquivo /etc/hosts para assistir suas necessidades.
Listagem de código 5.7: /etc/hosts |
127.0.0.1 localhost 192.168.1.10 eta.example.com eta 192.168.1.20 sigma.example.com sigma |
Você deve reiniciar o servidor com um CD de Instalação do Gentoo, embora você possa muito bem continuar imediatamente se você sabe como proceder com as instruções de instalação do Gentoo de uma instalação existente. Siga o procedimento de instalação como explicado no guia de instalação do Gentoo MAS com as seguintes diferenças: Quando você montar o sistema de arquivos, faça o seguinte (onde hdaX é a partição onde você criou o diretório /diskless). Você não precisa montar quaisquer outras partições já que todos arquivos irão residir no diretório /diskless/eta.
Listagem de código 5.8: montando o sistema de arquivos |
# mount /dev/hda3 /mnt/gentoo
|
Tarballs de estágio e chroot: neste exemplo usamos uma tarball de stage3. Monte /proc em seu diretório sem disco e faça chroot nele para continuar com a instalação. Então siga o manual de instalação até a configuração do kernel.
Aviso: Tenha cuidado quando você extrair uma tarball de estágio. Você não quer extrair em cima de sua instalação existente. |
Listagem de código 5.9: extraindo a tarball de estágio |
# cd /mnt/gentoo/diskless/eta/ # tar -xvjpf /mnt/cdrom/gentoo/stage3-*.tar.bz2 # mount -t proc /proc /mnt/gentoo/diskless/eta/proc # cp /etc/resolv.conf /mnt/gentoo/diskless/eta/etc/resolv.conf # chroot /mnt/gentoo/diskless/eta/ /bin/bash # env-update # source /etc/profile |
Configuração do kernel: quando você fizer o make menuconfig de sua configuração de kernel, não se esqueça de ativar as seguintes opções com as outras recomendadas no guia de instalação.
Listagem de código 5.10: opções de menuconfig |
- Suporte a sua placa de rede
(No kernel, *não* como módulo!)
- Em "Networking options" :
[*] TCP/IP networking
[*] IP: kernel level autoconfiguration
[*] IP: DHCP support
[*] IP: BOOTP support
- Em "File systems --> Network File Systems" :
<*> NFS file system support
[*] Provide NFSv3 client support
[*] Root file system on NFS
|
Salve o kernel no seu / com chroot (não em /boot) de acordo com o ajuste de pxegrub definido anteriormente. A seguir configure o /etc/fstab de seu cliente sem rede.
Listagem de código 5.11: /etc/fstab |
# nano -w /etc/fstab
/dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0
proc /proc proc defaults 0 0
tmpfs /dev/shm tmpfs nodev,nosuid,noexec 0 0
|
Você também deve prevenir que o cliente rode uma verificação de sistema de arquivos:
Listagem de código 5.12: Prevenindo que o cliente rode uma verificação de sistema de arquivos |
# touch /fastboot # echo "touch /fastboot" >> /etc/conf.d/local.start |
Instale nfs-utils já que seu cliente depende muito dele:
Listagem de código 5.13: Instalando nfs-utils |
# emerge nfs-utils
|
Gerenciador de inicialização. Não instale outro gerenciador de inicialização porque já temos um - pxegrub. Simplesmente termine a instalação e reinicie o servidor. Inicie os serviços que você precisará para iniciar o novo cliente: DHCP, TFTPD e NFS.
Listagem de código 5.14: Iniciando os serviços |
# /etc/init.d/dhcp start # /etc/init.d/in.tftpd start # /etc/init.d/nfs start |
Para que o novo cliente carregue devidamente, você precisará configurar a bios e a placa de rede para usar PXE como o primeiro método de boot - antes do CD-ROM ou disquete. Para ajuste com isso consulte os manuais de seu hardware ou website do fabricante. A placa de rede deve obter um endereço IP usando DHCP e baixar a imagem de GRUB PXE usando TFTP. Então, você deve ver um belo menu de inicialização do GRUB em preto e branco onde você irá selecionar o kernel a carregar e apertar Enter. Se tudo estiver ok, então o kernel deverá carregar, montar o sistema de arquivos raiz (root) usando NFS e fornecê-lo com um prompt de log-in. Divirta-se.
6. Instalando o Gentoo de uma distribuição de Linux existente
Para instalar o Gentoo de sua distribuição de Linux existente você precisa do comando chroot instalado, e ter uma cópia de uma tarball de instalação do Gentoo ou ISO que você quer instalar. Uma conexão de rede é preferível se você quiser mais do que vem na sua tarball. (A propósito, uma tarball é apenas um arquivo terminando em .tbz ou .tar.gz). O autor usou o RedHat Linux 7.3 como o sistema operacional hóspede, mas isso não é muito importante. Vamos começar!
Nós iremos primeiro alocar uma partição para o Gentoo mudando o tamanho de nossa partição de Linux existente, montar a partição, descompactar a tarball na montagem, fazer chroot dentro do pseudo-sistema e começar a construir. Uma vez que o processo de bootstrap estiver completo, nós iremos fazer algumas configurações finais no seu sistema para ter certeza de que ele inicia, e então estamos prontos para reiniciar e usar o Gentoo.
Como devemos abrir espaço para o Gentoo?
A partição raiz (root) é o sistema de arquivos montado em /. Rodar mount rapidamente em meu sistema mostra do que estou falando. Nós também iremos usar df (disk free) para ver quanto espaço tenho restante e como mudarei seu tamanho. Note que não é obrigatório mudar o tamanho de sua partição raiz (root)! Você pode mudar o tamanho de qualquer outra coisa suportada pelo nosso modificador de partições, mas vamos falar disso mais adiante.
Listagem de código 6.1: Informação de sistema de arquivos |
# mount /dev/hdb2 on / type ext3 (rw) none on /proc type proc (rw) none on /dev/pts type devpts (rw,gid=5,mode=620) none on /dev/shm type tmpfs (rw,nodev,nosuid,noexec) # df -h Filesystem Size Used Avail Use% Mounted on /dev/hdb2 4.0G 1.9G 2.4G 82% / none 38M 0 38M 0% /dev/shm |
Como podemos ver, a partição montada como / chamada /dev/hdb2 tem 2.4 gigabytes livres. No meu caso, irei modificá-la para deixá-la com 400Megas de espaço livre, portanto alocando 2 gigabytes para o Gentoo. Nada mal, posso ter várias coisas instaladas. No entanto, penso que mesmo um gigabyte é suficiente para a maioria dos usuários. Bom, vamos particionar essa coisa!
Utilizando o parted para modificar a partição
O parted é um utilitário fornecido pela GNU foundation, um antigo e respeitável projeto grande cujo software você está usando neste momento. Existe uma ferramenta, no entanto, que é extremamente útil agora. É chamada parted, partition editor, e podemos obtê-la em http://www.gnu.org/software/parted/
Nota: Também existem outras ferramentas para modificar partições, mas o autor não tem certeza/interesse se o PartitionMagic(tm) ou outro software deste tipo fazem o que devem. É trabalho do leitor ver se funcionam. |
Veja na página o tipo de sistema de arquivos que você quer modificar e veja se o parted pode lidar com ele. Se não, você está com azar, você terá que destruir alguma partição para abrir espaço para o Gentoo, e reinstalar de novo. Vá em frente baixando o software, instale-o. Aqui nós temos um problema. Nós queremos redimensionar nossa partição raiz (root) do Linux, então devemos carregar de um disquete de inicialização um sistema linux minimalístico e usar o parted anteriormente copiado para um disquete para modificar /. No entanto, se você puder desmontar a partição dentro do Linux você tem sorte, você não precisa fazer o seguinte. Simplesmente compile o parted e rode-o em uma partição desmontada que você escolher redimensionar. Aqui está como eu fiz em meu sistema.
Importante: Certifique-se que as operações que você quer fazer em sua partição são suportadas pelo parted! |
Pegue o disco de inicialização/raiz do mininux (uma mini distribuição de Linux 2.4 - grátis) em http://mininux.free.fr/uk/, crie um disquete como sugerido na documentação que acompanha o pacote de software e insira um novo disquete no dispositivo para o próximo passo.
Nota: Note novamente que o Linux é sinônimo de "Aqui há mais um jeito de fazer isso". Seu objetivo é rodar o parted em uma partição desmontada para que ela possa fazer seu trabalho. Você pode usar outro disco de inicialização/raiz diferente do mininux. Você pode até não precisar fazer este passo, isto é, somente desmontar o sistema de arquivos que você quer reparticionar em sua sessão do Linux e rodar o parted nela. |
Listagem de código 6.2: Utilitário de criação de disco |
# mkfs.minix /dev/fd0
480 inodes
1440 blocks
Firstdatazone=19 (19)
Zonesize=1024
Maxsize=268966912
|
Nós iremos agora proceder com a construção do parted. Se não estiver já baixado e descompactado, faça-o agora e faça cd no diretório correspondente. Agora rode os seguintes comandos para construir o utilitário e copiá-lo para seu disquete.
Listagem de código 6.3: Construindo o disquete de utilitários |
# mkdir /floppy; mount -t minix /dev/fd0 /floppy &&
export CFLAGS="-O3 -pipe -fomit-frame-pointer -static" && ./configure
&& make && cp parted/parted /floppy && umount /floppy
|
Parabéns, você está pronto para reiniciar e redimensionar sua partição. Faça isso somente depois de olhar rapidamente a documentação do parted no website do GNU. A modificação deve durar menos de 30 minutos para os maiores discos-rígidos, tenha paciência. Reinicie seu sistema com o disco de inicialização do mininux (só coloque ele dentro), e uma vez que você fizer log-in, troque o disco no dispositivo com seu disco de utilitários que criamos acima e digite /dev/fd0 /floppy para ter o parted em /floppy. Aí vamos. Rode parted e você poderá redimensionar sua partição. Uma vez que este longo processo terminar, nós estamos prontos para nos divertir realmente, instalando o Gentoo. Reinicie de volta ao seu antigo sistema Linuxa agora. Faça a operação no dispositivo contendo a partição que queremos redimensionar. Por exemplo, se nós quisermos redimensionar /dev/hda3, o dispositivo é /dev/hda.
Listagem de código 6.4: Comandos para rodar uma vez logados no sistema do mininux |
# mount /dev/fd0 /floppy # cd /floppy; ./parted [drive you wish to operate on] (parted) print Disk geometry for /dev/hdb: 0.000-9787.148 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 2953.125 primary ntfs 3 2953.125 3133.265 primary linux-swap 2 3133.266 5633.085 primary ext3 4 5633.086 9787.148 extended 5 5633.117 6633.210 logical 6 6633.242 9787.148 logical ext3 (parted) help resize resize MINOR START END resize filesystem on partition MINOR MINOR is the partition number used by Linux. On msdos disk labels, the primary partitions number from 1-4, and logical partitions are 5 onwards. START and END are in megabytes (parted) resize 2 3133.266 4000.000 |
Importante: Seja paciente! O computador está trabalhando! Veja o LED de seu gabinete para ver que ele realmente está trabalhando. Isto deve levar entre 2 e 30 minutos. |
Uma vez que você tenha redimensionado, carregue seu sistema linux antigo como descrito. Então volte para O Manual do Gentoo: Preparando os discos e siga as instruções. Quando fizer chroot, use os seguintes comandos para limpar seu ambiente:
Listagem de código 6.5: Limpando o ambiente durante o chroot |
# env -i HOME=$HOME TERM=$TERM chroot /mnt/gentoo /bin/bash # /usr/sbin/env-update # source /etc/profile |
Divirta-se!
O conteúdo deste documento está licenciado pela licença Creative Commons - Attribution / Share Alike.