Método alternativo de instalación de Gentoo Linux (HOWTO)
1.
Acerca de este documento
Si el método estándar de arranque para la instalación por CD no es
posible desde su ordenador (o simplemente no es el que le gusta) ahora
tiene ayuda al respecto. Este documento servirá para proveerle de un
repositorio de técnicas y métodos alternativos para la instalación de
Gentoo Linux. O si lo prefiere, servirá como medio para publicar su
más novedoso método de instalación. Si posee alguna técnica de
instalación, la cual considera útil para sí mismo, o conoce de alguna
otra manera adecuada para instalar Gentoo Linux, por favor, no dude en
documentarla y enviarla a Bugzilla.
2.
Iniciando el CD de Instalación con Smart BootManager
Descargue Smart BootManager desde
http://btmgr.sourceforge.net/download.html. Las versiones
en código fuente para linux o formato binario y los .exe de windows
están disponibles, así como muchos packs de idiomas. Sin embargo, por
ahora, el método más adecuado sería utilizar el formato binario, ya
que el código no compila con las nuevas versiones de NASM.
Compile el programa desde el código o simplemente grabe el archivo
binario. Hay varias opciones que pueden utilizarse durante la creación
de su disco de arranque, como puede observar a continuación.
Listado de Código 2.1: Opciones de 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.
|
Listado de Código 2.2: Utilizando sbminst para crear el disco de arranque |
# sbminst -t us -d /dev/fd0
|
Nota:
Reemplace fd0 por el nombre de su dispositivo de
disquetes si fuera distinto.
|
Ahora simplemente sitúe el disquete en la disquetera del ordenador si
quiere cargar el CD de Instalación, así como el CD de Instalación
dentro del CD-ROM e inicie el ordenador.
Será recibido por el menú del Smart BootManager. Seleccione su CD-ROM
y presione ENTER para cargar el CD. Una vez cargado, continúe con las
instrucciones normales de instalación.
Puede encontrar más información sobre Smart BootManager en
http://btmgr.sourceforge.net/.
3.
Instalación con LiveCDs que no son de Gentoo
Introducción
Importante:
Los desarrolladores Gentoo no pueden dar soporte si algo ocurre al
usar un LiveCD que no sea de Gentoo ya que no hay como arreglarlo,
encontrar los problemas o documentar cada característica en cada
LiveCD existente. Oficialmente solo se brinda soporte para LiveCDs
Gentoo. Si encuentra algún problema con medios de instalación
alternativos, por favor visite los Foros Gentoo para asistencia de
parte de la comunidad.
|
Es posible iniciar algún otro LiveCD aparte de los que provee
Gentoo. Esto le permitirá un entorno funcional mientras compila e
instala Gentoo. Las instrucciones que proporcionamos aquí deben
funcionar en principio con cualquier otro LiveCD.
Existen demasiados LiveCDs para listar, pero puede
intentarlo con Knoppix. Proporciona un entorno
gráfico completo, con aplicaciones para la oficina, navegadores para
la red y juegos para mantenerlo ocupado. Knoppix está disponible solo
para usuarios de la plataforma x86, así que dependiendo de sus
necesidades, pueda que necesite hacer uso de un LiveCD diferente.
Aviso:
Sepa que si guarda cualquier cosa en el directorio de usuario del
LiveCD mientras espera a que se instale su sistema Gentoo, lo perderá
todo cuando reinicie a Gentoo. ¡Asegúrese de guardar los ficheros
importantes en el disco duro o en otro ordenador!
|
Instrucciones de instalación
Inicie desde el LiveCD. Abra una consola y ejecute su - para
poder cambiar la contraseña. Esto permitirá cambiar la contraseña del
usuario root para el CD. Ahora puede configurar sshd para hacer
login de manera remota, si esto hiciera falta. A continuación debe
crear el punto de montaje /mnt/gentoo.
Listado de Código 3.1: Creando el punto de montaje /mnt/gentoo |
# mkdir /mnt/gentoo
|
Llegados a este punto, puede seguir con la instalación normal en la
parte
4. Sin embargo, cuando tenga que montar el sistema proc,
sustituya la orden por:
Listado de Código 3.2: Montando el pseudo sistema de archivos /proc con bind |
# mount -o bind /proc /mnt/gentoo/proc
|
Cuando esté listo para desempacar el comprimido stage en la
parte 5, deberá usar una orden tar diferente para
asegurar que los IDs de grupo sean creados correctamente en el stage
desempacado:
Listado de Código 3.3: Desempacando el comprimido stage |
# tar --numeric-owner -xvjpf stage3-*.tar.bz2
|
Una vez que haya hecho chroot al entorno desempacado en la parte
6, necesitará usar una secuencia diferente de órdenes. Esto
asegurará que las variables de entorno se establezcan de manera
correcta.
Listado de Código 3.4: Haciendo chroot al nuevo entorno |
# chroot /mnt/gentoo /bin/bash
# chroot /mnt/gentoo /bin/env -i TERM=$TERM /bin/bash
# env-update
# source /etc/profile
# export PS1="(chroot) $PS1"
|
Finalmente, sepa que algunas FEATURES de Portage no funcionarán en el
LiveCD. Tenga especialmente cuidado con userpriv y
usersandbox. Si se encuentra con errores, puede ayudar
desactivar algunas, o todas, de los FEATURES opcionales.
4.
Instalación sin disco, usando el arranque PXE.
Requerimientos
Necesitará una tarjeta de red en la máquina cliente que use el
protocolo PXE para arrancar, como muchas tarjetas 3Com. Necesitará
también un BIOS que arranque desde PXE.
Configuración básica del servidor
Crear directorios: lo primero que hay que hacer es crear los
directorios donde su sistema sin disco será almacenado. Cree un
directorio llamado /diskless el cual acogerá un
directorio para cada cliente sin disco. De aquí en adelante
trabajaremos con un cliente llamado 'eta'.
Listado de Código 4.1: Configuración de directorios |
# mkdir /diskless
# mkdir /diskless/eta
# mkdir /diskless/eta/boot
|
Configurar DHCP y TFTP: el cliente dará información de arranque
utilizando DHCP y descargando todos los archivos requeridos usando
TFTP.
Para dhcpd, ejecute emerge dhcp (o cualquier otro servidor DHCP
de su elección). Asegúrese de que el interfaz correcto está
seleccionado en /etc/conf.d/dhcpd y configúrelo conforme
a sus necesidades. Después añada en /etc/dhcp/dhcpd.conf
lo siguiente:
Nota:
Esto proporciona una dirección IP estática para el cliente y la ruta
imagen de arranque PXE, aquí pxegrub. Tendrá que
reemplazar la dirección MAC de la tarjeta ethernet del cliente y el
directorio donde pondrá los archivos del cliente por los que vaya a
usar.
|
Listado de Código 4.2: dhcpd.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";
}
|
Luego configuremos el interfaz en /etc/conf.d/net de
manera que no pierda la configuración al arrancar. Vea el archivo
/usr/share/doc/openrc-*/net.example.bz2 para más
información.
Listado de Código 4.3: /etc/conf.d/net |
config_eth0=( "noop" )
|
Para TFTP, realice un emerge app-admin/tftp-hpa. En el archivo
/etc/conf.d/in.tftpd, ponga lo siguiente:
Listado de Código 4.4: in.tftpd |
INTFTPD_PATH="/diskless"
INTFTPD_USER="nobody"
INTFTPD_OPTS="-u ${INTFTPD_USER} -l -vvvvvv -p -c -s ${INTFTPD_PATH}"
|
Configurar GRUB: para habilitar arranques PXE utilizo GRUB. con el
parámetro USE netboot activado. Una vez que GRUB está
compilado, copio la imagen PXE al directorio de arranque del cliente
sin disco. A continuación edito el fichero de configuración
grub.lst.
Listado de Código 4.5: Configuración de Grub |
# echo "sys-boot/grub netboot" >> /etc/portage/package.use
# emerge -av grub
# cp /usr/lib/grub/pxegrub /diskless/eta/boot/pxegrub
# nano -w /diskless/eta/boot/grub.lst>
|
Listado de Código 4.6: grub.lst |
default 0
timeout 30
title=Diskless Gentoo
root (nd)
kernel /eta/bzImage ip=dhcp root=/dev/nfs nfsroot=ip.add.re.ss:/diskless/eta
|
Configurar NFS: NFS es bastante fácil de configurar. Lo único que debe
hacer es añadir una línea en el archivo de configuración
/etc/exports:
Listado de Código 4.7: /etc/exports |
# nano -w /etc/exports
# /etc/exports: NFS file systems being exported. See exports(5).
/diskless/eta eta(rw,sync,no_root_squash)
|
Actualice su archivo hosts: una cosa importante que hacer ahora, es
modificar su archivo /etc/hosts para ajustarlo a sus
necesidades.
Listado de Código 4.8: /etc/hosts |
127.0.0.1 localhost
192.168.1.10 eta.example.com eta
192.168.1.20 sigma.example.com sigma
|
Creando el sistema en el servidor
Quizá quiera reiniciar el servidor con un CD de Instalación Gentoo,
aunque también puede continuar perfectamente (sin reiniciar) si conoce
como proceder con las instrucciones de instalación de Gentoo desde una
instalación existente. Siga el procedimiento de instalación estándar
como se explica en el Manual de
Gentoo PERO con las siguientes diferencias. Cuando monte el
sistema de archivos, haga lo siguiente (donde sdaX es la
partición en la cual creó el directorio /diskless). No
necesita montar ninguna otra partición, ya que todos los archivos
residirán en el directorio /diskless/eta.
Listado de Código 4.9: Montando el sistema de ficheros |
# mount /dev/sdaX /mnt/gentoo
|
Tarballs stage y chroot: Este ejemplo utiliza el tarball de
stage3. Monte /proc en su directorio
/diskless y haga chroot para continuar con la
instalación. Después siga el manual de instalación hasta la
configuración del núcleo.
Aviso: Sea cuidadoso cuando extraiga su tarball stage. No quiere
terminar extrayéndolo sobre su instalación existente.
|
Listado de Código 4.10: Extrayendo el tarball stage |
# 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
|
Configuración del Núcleo: cuando haga el make menuconfig en su
configuración de núcleo, no olvide habilitar las siguientes opciones
junto a las otras recomendadas en el manual de instalación.
Listado de Código 4.11: Opciones de menuconfig |
- Your network card device support
- Bajo "Networking options" :
[*] TCP/IP networking
[*] IP: kernel level autoconfiguration
[*] IP: DHCP support
[*] IP: BOOTP support
- Bajo "File systems --> Network File Systems" :
<*> NFS file system support
[*] Provide NFSv3 client support
[*] Root file system on NFS
|
Guarde el núcleo en su / de chroot (no en
/boot) de acuerdo con las configuraciones de pxegrub
definidas anteriormente. A continuación, configure el archivo
/etc/fstab de su cliente sin disco.
Listado de Código 4.12: /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 defaults 0 0
|
También necesita prevenir al cliente de ejecutar un chequeo sobre el
sistema de archivos:
Listado de Código 4.13: Previniendo al cliente de la ejecución de un chequeo sobre el sistema de ficheros |
# touch /fastboot
# echo "touch /fastboot" >> /etc/conf.d/local.start
|
Instale nfs-utils ya que su cliente dependerá en gran parte de
ellas.
Listado de Código 4.14: Installing nfs-utils |
# emerge nfs-utils
|
Gestor de arranque. No instale otro gestor de arranque, porque ya
tenemos uno - pxegrub. Simplemente acabe la instalación y
reinicie el servidor. Inicie los servicios que necesitará para
arrancar el nuevo cliente: DHCP, TFTPD, y NFS.
Listado de Código 4.15: Iniciando los servicios |
# /etc/init.d/dhcp start
# /etc/init.d/tftpd start
# /etc/init.d/nfs start
|
Iniciando el nuevo cliente
Para que el nuevo cliente arranque adecuadamente, necesitará
configurar la BIOS y la tarjeta de red para que use PXE como primer
método de arranque - antes CD-ROM o floppy. Para ayudarle con esto,
consulte los manuales de su hardware o la página web de los
proveedores. La tarjeta de red debería conseguir una dirección IP
usando DHCP y descargar la imagen PXE del grub usando TFTP. Entonces,
debería ver un bonito menú de arranque del grub blanco y negro en el
que seleccionará el núcleo de arranque y presione intro. Si todo está
bien, el núcleo debería arrancar, montando el sistema de archivos del
root usando NFS y poniendo a su disposición el símbolo de sistema para
hacer el login. Disfrute.
5.
Instalando Gentoo desde una distribución Linux existente
Requerimientos
Para instalar Gentoo desde su distribución Linux, necesita tener la
orden chroot en su sistema, y tener una copia del tarball (o ISO)
de instalación de Gentoo que quiera instalar. Una conexión a la red
sería lo aconsejado, si desea más de lo que viene suministrado en su
tarball (de todas formas, un tarball es solo un archivo terminado en
.tbz o .tar.gz). El autor usó RedHat Linux 7.3 como sistema operativo
anfitrión, pero no importa mucho. ¡Empecemos!
Perspectiva general
Primero asignaremos una partición a Gentoo reajustando el tamaño de
nuestra partición Linux ya existente, montar la partición,
descomprimir el tarball en la partición montada, hacer chroot
dentro del pseudo-sistema y empezar a compilar. Una vez que la rutina
de arranque se ha llevado a cabo, haremos una configuración final en
el sistema para asegurarnos de que arranca, entonces estaremos
preparados para reiniciar y usar Gentoo.
¿Cómo deberíamos hacer espacio a Gentoo?
La partición de root es el sistema de fichero montado bajo
/. Una rápida ejecución de mount en mi sistema
muestra de qué estoy hablando. Usamos también df (disco libre)
para ver cuánto espacio nos queda y como reajustar su tamaño. ¡Tenga
en cuenta que no es obligatorio redistribuir la partición de su root!
Podría redistribuir cualquier cosa soportada por nuestro
redistribuidor, pero hablemos de eso más tarde.
Listado de Código 5.1: Información del sistema de ficheros |
# mount
/dev/sdb2 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)
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sdb2 4.0G 1.9G 2.4G 82% /
none 38M 0 38M 0% /dev/shm
|
Como se puede ver, la partición montada como / llamada
/dev/sdb2 tiene 2.4 gigabytes libres. En mi caso, creo
que lo redistribuiré para dejar 400 Mb de espacio libre, asignando 2
Gb para Gentoo. No está mal, tendría bastante material instalado. De
todas formas, creo que 1 gigabyte suele ser suficiente para la mayoría
de los usuarios. ¡Así que, vamos a particionarlo!
Instalando parted para redistribuir particiones.
Parted es una aplicación suministrada por la fundación GNU, un antiguo
y respetable gran proyecto cuyo software está usando en este mismo
momento. De todas formas, hay una herramienta que ahora nos es
extremadamente útil. Se llama parted, editor de particiones y
podemos conseguirlo en http://www.gnu.org/software/parted/.
Nota:
Hay otras herramientas para redistribuir particiones, pero el autor no
está seguro/interesado en que ni PartitionMagic(tm) ni ningún otro
software de ese tipo lo haga. Es trabajo del lector probarlos.
|
Busque en esta página el tipo de sistema de archivos cuyo tamaño desea
reajustar y vea si parted puede hacerlo. Si no, no ha tenido
suerte, tendrá que borrar alguna partición para hacerle espacio a
Gentoo, y volver a instalar. Adelante, descargue el software e
instálelo. Aquí encontramos un problema. Queremos reajustar el tamaño
de nuestra partición root de Linux, por tanto, debemos iniciar desde
un disquete un sistema linux mínimo y usar un parted
previamente compilado y copiado a un disquete para redimensionar
/. De todas formas, si puede desmontar la partición
estando aún en Linux, es afortunado, no necesitará hacer lo
siguiente. Solo compile parted y ejecútelo en una partición
desmontada que elija para reajustar su tamaño. Así es como yo lo hice
en mi sistema.
Importante:
¡Asegúrese de que las operaciones que desea hacer en su partición son
soportadas por parted!
|
Obtenga el disco de inicio mininux (una mini distribución de Linux
basada en un núcleo 2.4 y que cabe en un solo disquete, además de ser
gratuito) de http://mininux.free.fr/uk/, cree un disquete
como viene indicado en la documentación que acompaña el paquete de
software e inserte un nuevo disquete en la disquetera para el
siguiente paso.
Nota:
Observe de nuevo que Linux es sinónimo de "Hay más de una forma de
hacerlo". Su objetivo es ejecutar parted en una partición desmontada
para que pueda funcionar. Podría utilizar algún software de discos de
inicio diferente de mininux. No debería necesitar hacer este paso, es
solo desmontar el sistema de archivos que desea reparticionar en su
sesión de Linux y ejecutar parted en ella.
|
Listado de Código 5.2: Creación del disco de utilidad |
# mkfs.minix /dev/fd0
480 inodes
1440 blocks
Firstdatazone=19 (19)
Zonesize=1024
Maxsize=268966912
|
Ahora procederemos con la configuración e instalación de parted. Si no
está todavía descargado y descomprimido, hágalo ahora y cambie de
directorio al correspondiente (a parted). Ahora ejecute la siguiente
secuencia de órdenes para construir la aplicación y cópielo en su
disquete.
Listado de Código 5.3: Generando el disco de utilidad |
# mkdir /floppy; mount -t minix /dev/fd0 /floppy &&
export CFLAGS="-O3 -pipe -fomit-frame-pointer -static" && ./configure
&& make && cp parted/parted /floppy && umount /floppy
|
Enhorabuena, está preparado para reiniciar y redistribuir su
partición. Hágalo solo después de echarle un vistazo a la
documentación de parted en el website de GNU. El reajuste de tamaño
suele tardar unos 30 minutos para los discos duros más largos, sea
paciente. Reinicie su sistema con el disco de minuiux (solo déjelo
dentro), y una vez que se haya iniciado la sesión, sustituya el disco
de la unidad por el disco de utilidades que hemos creado arriba y
teclee mount /dev/fd0 /floppy para montar parted bajo
/floppy. Ejecute parted y podrá redimensionar su
partición. Una vez acabado este largo proceso, estaremos listos para
lo realmente divertido, instalar Gentoo. Vuelva a iniciar su sistema
linux anterior. La unidad en la que desea operar es la que contiene
la partición cuyo tamaño queremos reajustar. Por ejemplo, si queremos
reajustar /dev/sda3, el disco es /dev/sda.
Listado de Código 5.4: Órdenes a ejecutar una vez estemos dentro del sistema mininux |
# mount /dev/fd0 /floppy
# cd /floppy; ./parted [disco sobre el que se trabaja]
(parted) print
Disk geometry for /dev/sdb: 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:
¡Sea paciente! ¡El ordenador está trabajando! Revise el led en su cpu
para ver que realmente está funcionando. Esto llevará entre 2 y 30
minutos.
|
Una vez que haya reajustado el tamaño, inicie de nuevo su linux
antiguo como hemos descrito. Después vaya a El Gentoo
Handbook: Preparando los discos y siga las instrucciones. Cuando
haga el chroot, use la siguiente orden para limpiar su entorno:
Listado de Código 5.5: Limpiando el entorno durante chroot |
# env -i HOME=$HOME TERM=$TERM chroot /mnt/gentoo /bin/bash
# /usr/sbin/env-update
# source /etc/profile
|
¡Disfrute!
El contenido de este documento, a no ser que se especifique
expresamente, está registrado bajo los términos de la licencia
CC-BY-SA-2.5. Se aplican las
Pautas de
Utilización del logo y nombre de Gentoo.
|