Instalación
Preparando el sistema
En primer lugar, es necesario dejar espacio libre para Linux. No he sido capaz de encontrar algún software
que me permitiese redimensionar la partición de Mac OS X, por lo que he optado por eliminar la partición
y crear unas nuevas. El procedimiento más sencillo es crear 2 particiones desde la instalación de Mac OS X
e instalarlo en la segunda, de manera que el OpenFirmware arranque YaBoot y nos permita seleccionar si
queremos iniciar Linux o Mac OS X.
Si instalamos Mac OS X delante, tendremos que seleccionar la partición de Linux usando el menú de
arranque de OpenFirmware, el cual es increiblemente lento.
Una vez que tengamos el disco duro preparado, el siguiente paso será descargar una imagen iso
para realizar la instalación. Al tratarse de un hardware aún muy nuevo, es recomendable utilizar
la última iso disponible. Desde mi punto de vista, lo mejor es bajarse la iso genérica, que no
contiene stages, y el tarball
de la stage 1. De esta manera conseguiremos una instalación más optimizada y personalizada desde
el principio. Tanto la iso como el tarball pueden descargarse desde cualquiera de los
mirrors de Gentoo.
Comenzando la instalación
El siguiente paso es arrancar el iBook con el cd que acabamos de grabar. Introducimos el cd, reiniciamos
y mantenemos pulsada la tecla "C". Si todo va bien, deberíamos ver el YaBoot. Con pulsar intro será
suficiente para que el live-cd arranque correctamente.
Configurando la red
Ahora configuraremos la red, que nos hará falta mas adelante:
- Configuración con dhcp
- dhcpcd eth0
- Configuración manual
- ifconfig eth0 dirección_ip
- route add default gw ip_del_gateway
- echo "nameserver ip_del_dns" >> /etc/resolv.conf
Particionando el disco duro
Ahora es el momento de particionar el disco duro:
Lo único que cabe resaltar del proceso de particionamiento, es que será necesario crear una partición de
bootstrap para el YaBoot (tecla b en el mac-fdisk). En cuanto al tamaño y al número de particiones,
lo considero algo muy subjetivo, así que cada cual opte por lo que más le guste ;-).
Una vez hayamos creado las particiones, debemos de formartearlas. Recomiendo el sistema de ficheros
ext3, ya que es un sistema de ficheros robusto y en cualquier momento podemos montarlo
como ext2 para ahorrar batería. Para ello ejecutamos:
Donde X es el número de cada particion[es] que queramos formatear.
- mac-fdisk /dev/hda
- mkfs.ext3 /dev/hdaX
La partición de bootstrap de YaBoot no debe ser formateada ni montada.
Preparando el entorno chroot
Ahora que ya hemos creado y formateado la[s] particion[es], vamos a montarla[s].
Evidentemente, si hemos hecho varias particiones repetimos el proceso con el resto de particiones
y sus respectivos puntos de montaje. Una vez montadas, descomprimimos el tarball con la
stage 1 (si hemos bajado un cd sin stages, podemos pasar el stage por red mediante sftp, links...):
- mount /dev/hda4 /mnt/gentoo
- tar xvvjpf stage1-ppc-YYYYMMDD.tar.bz2 -C /mnt/gentoo
El switch f es fundamental, ya que sin él no se conservarían
los permisos necesarios.
Lo último que tenemos que hacer antes de entrar en el chroot es montar /proc, copiar
/etc/resolv.conf y configurar el nombre de nuestra máquina.
- Montamos /proc
- mount --bind /proc /mnt/gentoo/proc
- Copiamos /etc/resolv.conf
- cp /etc/resolv.conf /mnt/gentoo/etc
- Configuramos el nombre de nuestra máquina
- echo "nombre" > /mnt/gentoo/etc/hostname
Entrando en el chroot
En este momento tenemos todo listo para adentrarnos en el chroot y comenzar con la construcción
de nuestro sistema. Para ello tecleamos:
Una vez dentro, tenemos que actualizar las variables de entorno. Tecleamos:
- Entrando en el chroot
- chroot /mnt/gentoo/
- Regenerando /etc/profile.env y /etc/ld.so.conf
- env-update
- Tomando las variables de /etc/profile
- source /etc/profile
Actualizando el árbol del Portage
El siguiente paso es actualizar el árbol del Portage:
Esto tardará un rato (dependiendo de nuestra conexión). En este momemento, sería una buena idea
irse a tomar un café.
- emerge sync
Configurando /etc/make.conf
Enseguida comenzaremos a compilar y construir el sistema, pero antes tenemos que realizar unos
ajustes que serán cruciales para ajustar el rendimiento y personalizar el sistema. Todos estos
parámetros se configuran en /etc/make.conf. Se trata del USE y las CFLAGS. Comenzaremos
por las CFLAGS:
Las CFLAGS son las flags que se le pasarán al compilador durante la construcción
de los paquetes que luego se instalarán en nuestro sistema. Las más recomendables para un procesador
G4 (que además coinciden con las mías) son:
Para configurar nuestro sistema con estas CFLAGS, podemos ejecutar el siguiente comando:
En el USE, "palabra" significa dar soporte a esa característica y "-palabra" significa eliminarlo.
El significado de cada una de las palabras clave puede encontrarse en /usr/portage/profiles/use.desc
y /usr/portage/profiles/use.local.desc.
- CFLAGS recomendadas para G4
- -O2 -pipe -mcpu=7450 -maltivec -mabi=altivec
- echo "CFLAGS=\"-O2 -pipe -mcpu=7450 -maltivec -mabi=altivec -mtune=7450\"" >> /etc/make.conf
Para aprovechar el soporte para altivec en las aplicaciones es necesario que el
kernel que estemos usando tenga dicho soporte.
El USE es una variable que contiene ciertas palabras clave que afectarán al soporte que
tendrán los paquetes compilados en nuestro sistema. Por ejemplo: si un paquete puede tener
soporte para KDE, se compilará con dicho soporte en caso de que nuestro USE contenga la palabra
clave "kde". Al contrario que las CFLAGS, el USE no depende del procesador, sino de las
preferencias del usuario; de manera que el valor de USE en mi sistema, sólo puede servir
a modo de ejemplo (aunque podría ser perfectamente válido para otra persona que use KDE). Veámos
ahora mi USE a modo de ejemplo:
- USE="altivec alsa crypt cscope dga encode fbcon flash gd gphoto2 imagemagick imap innodb ipv6 java javascript joystick lame lcms mad maildir mpeg ncurses net qtmt radeon ruby samba socks5 spell tiff usb vim-with-x xml xml2 xvid zlib -gnome -mozilla -esd"
El USE se puede definir en varios sitios y es heredable. Su valor final se puede ver ejecutando
emerge info.
Comenzando a construir el sistema
Por fin hemos llegado al momento de empezar a compilar. Durante la primera fase, un script se
encargará de todo:
Este proceso llevará bastante tiempo (más aún que emerge sync), así que sería recomendable irse
a tomar un café y una par de cervezas.
- Lanzado bootstrap.sh
- cd /usr/portage
- ./scripts/bootstrap.sh
Construyendo el sistema base
El siguiente paso también será bastante sencillo. Con esto tendremos compilado un sistema base y
casi listo para arrancar. Ejecutamos:
Una vez más, será un proceso largo (alrededor de 1.5 veces la duración del bootstrap). También
en este caso sería una buena idea irse a tomar algo, dos o incluso tres cervezas serían idóneas. No hay
que preocuparse por las dos cervezas del punto anterior, en el tiempo transcurrido nuestro cuerpo ya
habrá eliminado el alcohol que contenían.
- emerge system
Otros paquetes útiles
Cuando emerge system haya terminado es un buen momento para instalar varios paquetes
prácticamente indispensables: el cron, el logger y el gestor de arranque.
Recomiendo vixie-cron, metalog y YaBoot, aunque hay otras alternativas. Veamos como instalarlos:
- Instalando vixie-cron, metalog y YaBoot
- emerge vixie-cron metalog yaboot
Añadiendo servicios al arranque
Ahora añadiremos los servicios que necesitemos ejecutar en el inicio. Los siguientes deberían ser
suficientes para la mayoría de los usuarios:
- Añadiendo net.eth0, vixie-cron y metalog al arranque
- rc-update add net.eth0 default
- rc-update add vixie-cron default
- rc-update add metalog default
Últimos pasos
Ya casi tenemos un sistema listo para arrancar. Lo único que falta es compilar un kernel y configurar
el gestor de arranque. Estos pasos se explicarán en la sección dedicada a la configuración del
kernel.


