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 Knoppix
Nota:
Knoppix solamente está disponible para usuarios de arquitecturas x86.
|
Iniciar desde el LiveCD Knoppix es una manera de tener un
sistema completamente funcional mientras está compilando Gentoo. Tux
Racer le ayudará a pasar el rato mientras espera, además de poder
utilizar OpenOffice para trabajar.
Aviso:
Sepa que si guarda cualquier cosa en el directorio de usuario de
Knoppix 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!
|
Inicie desde el CD de Knoppix. Si tiene Knoppix 3.6-3.8.2, necesitará
especificar knoppix26 como opción de inicio para cargar un
kernel 2.6. Si omite este paso, cuando haga chroot, recibirá
un error diciendo que su kernel es deasiado antiguo. Si, por el
contrario, tiene Knoppix 3.9+, este paso es innecesario, desde que el
kernel 2.6 es el predeterminado.
Por defecto, Knoppix carga un escritorio KDE. Abra konsole y teclee
su - para así poder cambiar su contraseña. Esto le permite poner la
contraseña de root para Knoppix. Ahora puede configurar sshd para
acceder remotamente al sistema, como prefiera.
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 el comando por:
Listado de Código 3.2: Montando el pseudo sistema de archivos /proc con bind |
# mount -o bind /proc /mnt/gentoo/proc
|
También, sepa que algunas de las características de Portage no
funcionarán en knoppix. Tenga especialmente cuidado con
userpriv y usersandbox. Si se encuentra con errores,
puede ser acertado desactivar algunas, o todas, de las características
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 una BIOS que soporte el 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
/etc/conf.d/net.example 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 hdaX 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/hdaX /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 kernel.
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 Kernel: cuando haga el make menuconfig en su
configuración kernel, 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 kernel 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 kernel de arranque y presione intro. Si todo está
bien, el kernel 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 el
comando chroot instalado, 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 sólo 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/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)
# 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 se puede ver, la partición montada como / llamada
/dev/hdb2 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. Sólo 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 kernel 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
sólo 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 comandos 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 sólo 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 (sólo 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/hda3, el disco es /dev/hda.
Listado de Código 5.4: Comandos 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/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:
¡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 el siguiente comando 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 está registrado bajo los términos de
la licencia
Creative Commons - Reconocimiento / Compartir Igual
|