Instalar Gentoo 2005.1
Contents
Obtener CD
Lo primero nos bajamos el CD de algún mirror de gentoo de la URI /releases/x86/2005.1/installcd/install-x86-minimal-2005.1.iso, y lo quemamos. Yo elegi, como no, el de ftp.belnet.be
Preparación Dispositivos
El instalador de Gentoo es un poco peculiar en el sentido que unicamente arranca un live-CD (util para recuperaciones posteriores de los sistemas).
Teclado español
Hay que presionar la tecla ALT + F1 durante el arranque para ver la pantalla de texto y elegir el teclado español (opción 13).
Configuración de la Red
Hay que deshabilitar el wireless para la detección de hardware porque sino no detecta la tarjeta de red (Unicamente la luz del Wireless tiene que estar apagada, sino presionamos el boton para deshabilitarla)
* Network device eth0 eth1 detected, DHCP broadcasting fot IP. ...
Para el instalador cosa curiosa eth0 es la tarjeta wireless y eth1 es la tarjeta de red.
modprobe 8139too
Se puede instalar Gentoo tanto desde Wireless como de wired. La tarjeta de red inalambrica es la eth0, la de red es la eth1. Para configurar la red hay que teclear el comando siguiente:
net-setup ethx (Donde ethx es eth0 o eth1) net-setup eth0 Aparece un dialogo que nos pregunta el SSID de la red inalabrica y la clave de encriptación si lo estuviera. Verificamos que hay red haciendo ifconfig y iwconfig.
Configuración del disco duro
Yo instalo la partición raiz en una partición de 500Mb (en mi caso hda2) y el LVM pongo el resto (en mi caso hda4). No hay que borrar la partición de 220Mb que permite la ejecución del QuickPlay. Mi tabla de partición es la siguiente:
hda1 NTFS 30G hda2 Linux 500M bootable hda3 Desconocido 220M hda4 Linux LVM 49G
Formateamos la partición raiz con el sistema de ficheros ext3
mkfs -t ext3 /dev/hda2
Si el modulo de LVM no esta cargado le cargamos con
modprobe dm_mod
Para evitar que cuando creemos los LVM intente acceder al CDROM
mkdir -p /etc/lvm echo 'devices { filter=["r/cdrom/"] }' >/etc/lvm/lvm.conf
Creamos el Physical Volume
pvcreate /dev/hda4
Creamos el Volume Group
vgcreate rootvg /dev/hda4 ignoramos el mensaje de error /etc/lvm/backup: fsync failed: Invalid argument
Creamos los Logical Volumes
lvcreate -n usr -L 5G rootvg ignoramos el mensaje de error /etc/lvm/backup: fsync failed: Invalid argument lvcreate -n usr -L 5G rootvg lvcreate -n var -L 5G rootvg lvcreate -n home -L 2G rootvg lvcreate -n tmp -L 2G rootvg lvcreate -n swap -L 1G rootvg
Damos formato a las particiones y activamos el espacio de paginación
mkfs -t ext3 /dev/rootvg/usr mkfs -t ext3 /dev/rootvg/var mkfs -t ext3 /dev/rootvg/home mkfs -t ext3 /dev/rootvg/tmp mkswap /dev/rootvg/swap swapon /dev/rootvg/swap
Creamos los puntos de montaje de las distintas particiones excepto la raiz
cd /mnt/gentoo mkdir usr mkdir var mkdir home mkdir tmp
A continuación montamos las particiones
mount /dev/rootvg/usr /mnt/gentoo/usr mount /dev/rootvg/var /mnt/gentoo/var mount /dev/rootvg/home /mnt/gentoo/home mount /dev/rootvg/tmp /mnt/gentoo/tmp
Una vez montado hay que cambiar los permisos de /mnt/gentoo/tmp y de /mnt/gentoo/var/tmp
chmod 1777 /mnt/gentoo/tmp cd /mnt/gentoo/var mkdir tmp chmod 1777 /mnt/gentoo/var/tmp
Preparación Instalación
Descarga del Stage
Dentro de nuestro mirror descargamos el archivo situado en la URI /releases/x86/2005.1/stages/x86/stage1-x86-2005.1.tar.bz2. Para elle utilizamos el navegador web en modo caracter links2
cd /mnt/gentoo links2 http://ftp.belnet.be/mirror/
Para descomprimir el fichero utilizamos el comando
tar xvfjp stage...bz2
Instalar Portage
Descargamos la ultima versión de portage de nuestro mirror en la URI snapshots/portage-latest.tar.bz2
cd /mnt/gentoo links2 http://ftp.belnet.be/mirror/
para descomprimir el fichero utilizamos el comando
tar xvfj portage-latest -C /mnt/gentoo/usr
Opciones de compilación
Editamos el fichero /mnt/gentoo/etc/make.conf Cambiamos las variables por
CHOST="i686-pc-linux-gnu" CFLAGS="-march=pentium3 -O2 -pipe -fomit-frame-pointer" MAKEOPTS="-j2"
Añadir los mirrors en make.conf
mirrorselect -i -o >> /mnt/gentoo/etc/make.conf mirrorselect -i -r -o >> /mnt/gentoo/etc/make.conf
Antes de entrar el nuevo entorno
Tenemos que copiar la información de los DNS y montar el sistema de ficheros /proc
cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf mount -t proc none /mnt/gentoo/proc
Entramos en el nuevo entorno
chroot /mnt/gentoo /bin/bash env-update source /etc/profile
Actualizamos el portage
emerge --sync
Actualizamos la variable USE
USE="-gtk -gnome acpi avi bluetooth qt kde dvd alsa cdr dvdr userlocales -emacs ethereal gpm hal informix oracle pcmcia radius ssl usb wifi win32codecs vorbis xmms"
Quitar la generación de las locales
Para que glibc, cuando se compile no vuelva a generar todas las locales añadimos esta linea al archivo /etc/portage/package.use
echo "sys-libs/glibc userlocales" >> /etc/portage/package.use
Y en el fichero /etc/locales.build dejamos lo siguiente
en_US/ISO-8859-1 en_US.UTF-8/UTF-8 fr_FR/ISO-8859-1 fr_FR@euro/ISO-8859-15 fr_FR.UTF-8/UTF-8 es_ES/ISO-8859-1 es_ES@euro/ISO-8859-15 es_ES.UTF-8/UTF-8
Stage 1
Creamos el bootstrap del sistema
cd /usr/portage scripts/bootstrap.sh
Y a encontrar un juego, dura bastante,...
Stage 2
Ejecutamos el comando
emerge --emptytree system
Y esto si que dura y dura,...
Compilación del Kernel
Elección de la zona horaria
Yo he elegido Madrid, para ello machacamos el archivo /etc/localtime
ln -sf /usr/share/zoneinfo/Europe/Madrid /etc/localtime
Descarga de los fuentes
Descargamos los fuentes con el comando
emerge gentoo-sources
Luego vamos al repertorio /usr/src
cd /usr/src/linux
Luego configuramos el kernel, o cogemos mi .config
make menuconfig
Y a continuación compilamos
make && make modules_install
A continuación en el archivo /etc/modules.autoload.d/kernel-2.6, añadimos los modulos siguientes
dm-mod 8139too
Para poder ver todos los modulos de nuestro kernel hacemos
find /lib/modules/<versión del kernel>/ -type f -iname '*.o' -or -iname '*.ko'
Configuración del sistema
Crear fstab
Rellenamos el fichero /etc/fstab
/dev/hda2 / ext3 defaults,noatime 1 2 /dev/rootvg/usr /usr ext3 defaults,noatime 0 1 /dev/rootvg/var /var ext3 defaults,noatime 0 1 /dev/rootvg/tmp /tmp ext3 defaults,noatime 0 1 /dev/rootvg/home /home ext3 defaults,noatime 0 1 /dev/rootvg/swap none swap sw 0 0 /dev/cdroms/cdrom0 /cdrom iso9660 noauto,ro 0 0 proc /proc proc defaults 0 0 shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
Configuramos nombre de máquina
El nombre de máquina se configura en el fichero /etc/conf.d/hostname y el nombre de dominio en /etc/conf.d/domainname
rc-update add domainname default
Esto es para añadir el script de arranque domainname para el level default En el fichero /etc/hosts
127.0.0.1 localhost bacterio.luniel.com bacterio
Configuración de la red
Si queremos una ip fija, en el fichero /etc/conf.d/net
config_eth0=( "192.168.0.2 netmask 255.255.255.0" ) routes_eth0=( "default gw 192.168.0.1" )
Si queremos que se configure por dhcp.
config_eth0=( "dhcp" ) dhcp_eth0="nontp nonis"
Si deseamos que eth0 se inicie automaticamente al arrancar
update-rc add net.eth0 default
En mi caso prefiero Arrancarlas a mano,... (o mas tarde con un demonio)
Seguridad
Cambiamos la contraseña de root passwd Y le damos permiso a root para conectarse a las consolas
echo "tts/0" >> /etc/securetty
Ficheros de configuración varios
/etc/rc.conf.d /etc/conf.d/keymaps /etc/conf.d/clock
Pcmcia
Para instalar las pcmcia
USE="-X" emerge pcmcia-cs rc-update pcmcia default
LVM
No hay que olvidar de instalar los programas para gestionar los lvm's
emerge lvm2
Syslog del sistema
emerge syslog-ng rc-update add syslog-ng default
Cron
emerge vixie-cron rc-update add vixie-cron default
Cliente dhcp
emerge dhcpcd
Instalar Gestor de arranque GRUB
emerge grub
Editamos /boot/grub/grub.conf
# Cual título arrancar por defecto. 0 es el primero, 1 el segundo, etc. default 0 # Cuantos segundos esperar antes de arrancar el título por defecto. timeout 30 # Una bella, hermosa imagen para ensalzar las cosas un poco :) # Coméntela si no tiene una tarjeta gráfica instalada splashimage=(hd0,0)/grub/splash.xpm.gz # Partición donde se encuentra la imagen del kernel (o sistema operativo) title=Gentoo Linux 2.6.13-r5 root (hd0,1) kernel /boot/kernel-2.6.13-gentoo-r5 root=/dev/hda2 vga=0x318 vesafb:mtrr,ywrap # Las siguientes cuatro líneas sólo se usan en caso de arranque dual con un sistema Windows. # En este caso, Windows reside en la partición /dev/hda6. title=Windows XP rootnoverify (hd0,0) makeactive chainloader +1
A continuacion instalamos el bootloader
grub grub> root (hd0,1) grub> setup (hd0) grub> quit
Post Instalación
Cambiar gcc 3.3.6 a 3.4.4
Primero hay que volver a sincronizar emerge emerge --sync Luego hay que desenmascar gcc3.4. Editamos el fichero /etc/portage/package.keywords y añadimos
sys-devel/gcc-config -x86 sys-devel/gcc-config ~x86 sys-libs/glibc -x86 sys-libs/libstdc++-v3 -x86
Instalación de Gcc 3.4.4
A continuación instalamos gcc, Y nos vamos a tomar un cafe,...
emerge -v gcc
A continuación si ejecutamos el comando gcc-config -l tenemos la salida siguiente
[1] i686-pc-linux-gnu-3.3.6 * [2] i686-pc-linux-gnu-3.3.6-hardened [3] i686-pc-linux-gnu-3.3.6-hardenednopie [4] i686-pc-linux-gnu-3.3.6-hardenednopiessp [5] i686-pc-linux-gnu-3.3.6-hardenednossp [6] i686-pc-linux-gnu-3.4.4 [7] i686-pc-linux-gnu-3.4.4-hardened [8] i686-pc-linux-gnu-3.4.4-hardenednopie [9] i686-pc-linux-gnu-3.4.4-hardenednopiessp [10] i686-pc-linux-gnu-3.4.4-hardenednossp
Para cambiar ejecutamos el comand
gcc-config i686-pc-linux-gnu-3.4.4 source /etc/profile
Para recompilar el sistema se tendria que utilizar el comando
emerge -e system
Si queremos recompilar el sistema y todos los otros programas (es buen momento porque todavia no hemos instalado programas gordos
emerge -e system && emerge -e world
Quitar Gcc 3.6.6
Primero Ejecutamos el comando siguiente
emerge -pv --update --deep world --tree
Que nos tendria que permitir verificar que no hay dependencias con el gcc anterior. Antes de quitarlo instalamos el paquete gentoolkit
emerge gentoolkit emerge -C =gcc-3.3.6 (para sacar el numero exacto de versión hacemos gcc-config -l) revdep-rebuild (Para arreglar las librerias que se hayan podido quedar huerfanas) revdep-rebuild (Hasta que diga que ya no hay ningun problema)
En este momento ya podemos cambiar el fichero /etc/make.conf a la arquitectura de nuestro Centrino
CFLAGS="-O2 -march=pentium-m -pipe -fomit-frame-pointer"
Y si lo deseamos volver a compilar todo con los parametros del centrino,ademas tambien se tendria que volver a compilar el kernel
emerge -e system && emerge -e world
Recompilar el kernel
Tenemos que recompilar el kernel con nuestro nuevo compilador para que sea compatible con los modulos externos que luego compilaremos.
cd /usr/src/linux make clean make && make modules_install modules-update cp /usr/src/linux/arch/i386/boot/bzImage /boot/kernel-2.6.13-gentoo-r5
Instalar ifplugd
ifplugd es un demonio que permite configurar y desconfigurar de una manera automatica las interfaces de red. En este caso lo utilizaremos para configurar de forma automatica eth0 (la interfaz de red) cuando se la pinche a una red.
emerge ifplugd rc-update add ifplugd default
El fichero de configuración esta localizado en /etc/conf.d/ifplugd.conf. De momento no he conseguido hacer funcionar ifplugd con la interfaz inalambrica y el WEP
Instalar Wireless
Hay que desmascar, los 3 paquetes:
echo "net-wireless/ipw2200-firmware ~x86" >> /etc/portage/package.keywords echo "net-wireless/ieee80211 ~x86" >> /etc/portage/package.keywords echo "net-wireless/ipw2200 ~x86" >> /etc/portage/package.keywords emerge ipw2200-firmware ieee80211 ipw2200
Nos va a decir que ejecutemos un script par cambiar los fuentes del kernel. Luego repetimos el ultimo comando.
luego con los comandos iwconfig y ifconfig configuramos el enlace inalambrico
En el archivo /etc/modules.autoload.d/kernel-2.6 añadimos la linea
ipw2200 led=1
Nota: En caso de cambio de kernel hay que volver a reinstalar el modulo ipw2200, por lo que se tendria que hacer una vez arrancada la máquina con el nuevo kernel.
rmmod ipw2200 rmmod ipw2200-firmware rmmod ieee80211 emerge -C ipw2200-firmware ieee80211 ipw2200 emerge ipw2200-firmware ieee80211 ipw2200 modprobe ipw2200 led=1
XWindows
Hay que instalar las X para empezar.
emerge xorg-x11
Nota: En mi caso como anteriormente habia hecho un emerge -e world, y el modulo pcmcia tenia que volverse a compilar, ya estaban compiladas. El comando siguiente nos permitira ver si ya tenemos el servidor X Compilado.
emerge -pv xorg-x11
Para intentar configurar las X tenemos una herramienta, automatica que permite generar el archivo xorg.conf
Xorg -configure X -config /root/xorg.conf.new
En este punto podemos variar el fichero hasta que X-Server arranque correctamente con la resolución que esperamos,... Una vez safisfecho podemos poner la configuración del servidor X. El fichero tiene que estar localizado en /etc/X11/xorg.conf. Aqui esta el mío.
Referencias
- Manual de Gentoo
- Instalación de LVM en Gentoo
- CFLAGS
- Migrar Gcc
- Gentoo en dv1067
- ifplugd en gentoo
- X server Howto
--Daniel Simao 20:50, 2 Nov 2005 (CET)