Esta web utiliza cookies, puedes ver nuestra política de cookies, aquí Si continuas navegando estás aceptándola

Instalación de Gentoo


Gentoo es una distribución de Linux muy especial, primero utiliza un sistema de portage para los ebuilds del estilo BSD y segundo nos permite configurar con que opciones de compilación vamos a compilar todos y cada uno de los programas a instalar, esto nos permitirá tener un SO totalmente optimizado a nuestro hardware y además optimizaremos los tiempos de carga de los programas al no cargar librerias que no vamos a utilizar. Todo esto se configura mediante una variable llamada USE, por ejemlo si vamos a utilizar Gnome pero no KDE nos interesa compilar con soporte para GTK pero no para QT, de este modo el binario final será de menor tamaño y además cargará mas rápido.

En este articulo vamos a explicar paso a paso como realizar la instalación de un sistema Gentoo desde cero, no se va a utilizar LVM para simplificar el proceso, lo que vamos a hacer es preparar un directorio con todo lo necesario para poder hacer un chroot en este.

Pedimos dirección IP en la red o nos la asignamos de forma manual:

  • dhcpcd INTERFAZ
  • ifconfig INTERFAZ IP

 

NOTA: Si queremos seguir la instalación por red debemos ejecutar:

passwd
/etc/init.d/sshd start

 

Configuramos los servidores DNS(los de Google??):

vi /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4

 

El esquema de particiones debe quedar del siguiente modo, podemos ajustarlo según necesidades:

sda1 --> boot 500M 83
sda2 --> Swap 2Gb  82
sda3 --> /       83

NOTA: Si se trata de una máquina virtual es recomendable dejar / al final del disco, de este modo luego si decidimos ampliar el disco nos será mucho mas fácil.

 

(echo n; echo p; echo 1; echo ; echo +500M; echo a; echo 1; echo n; echo p; echo 2; echo ; echo +2G; echo t; echo 2; echo 82; echo n; echo p; echo 3; echo ; echo ; echo w) | fdisk /dev/sda

fdisk -l /dev/sda

 

Formateamos las particiones creadas:

mkfs.ext2 /dev/sda1
mkfs.ext4 /dev/sda3

 

Generamos la Swap y la activamos:

mkswap /dev/sda2
swapon /dev/sda2

 

Montamos las particiones:

mount /dev/sda3 /mnt/gentoo
mkdir /mnt/gentoo/boot
mount /dev/sda1 /mnt/gentoo/boot

 

Configuramos la hora:

date MESDIAHORAMINUTOAÑO

 

En Gentoo se parte de un stage, este no es mas que un comprimido con la estructura inicial de /, nos lo bajamos de alguno de los mirrors disponibles en la web de Gentoo:

cd /mnt/gentoo
links http://www.gentoo.org/main/en/mirrors.xml
releases amd64
current-stage3
stage3
d
q
Yes

 

Descomprimimos el stage:

tar xvjpf stage3-*.tar.bz2

 

Configuramos las USEs, podemos ver las recomendadas en(indico las mias para un Core2Duo con gráfica Nvidia):

http://en.gentoo-wiki.com/wiki/Safe_Cflags/Intel

nano -w /mnt/gentoo/etc/portage/make.conf
CFLAGS="-march=core2 -O2 -pipe"
USE="mmx sse sse2 xvmc nvidia g3dvl X gpm truetype xft -ipv6"
MAKEOPTS="-j3"

INPUT_DEVICES="evdev"
VIDEO_CARDS="nvidia"

 

Indicamos desde donde bajar el código fuente de los ebuilds y desde donde sincronizar los indices de estos:

mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf
mirrorselect -i -r -o >> /mnt/gentoo/etc/portage/make.conf

 

Copiamos los servidores DNS al directorio de chroot:

cp -L /etc/resolv.conf /mnt/gentoo/etc/

 

Montamos los directorios de estructuras del kernel en el chroot:

mount -t proc none /mnt/gentoo/proc
mount --rbind /sys /mnt/gentoo/sys
mount --rbind /dev /mnt/gentoo/dev

 

Cambiamos al chroot:

chroot /mnt/gentoo /bin/bash
env-update
source /etc/profile
export PS1="(chroot) $PS1"

 

Actualizamos el arbol de portage(repos --> Ebuilds):

mkdir /usr/portage
emerge-webrsync
emerge --sync

 

Según nuestras necesidades utilizaremos un profile u otro:

eselect profile list
eselect profile set 3

 

Configuramos la zona geográfica:

cp /usr/share/zoneinfo/Europe/Madrid /etc/localtime
echo "Europe/Madrid" > /etc/timezone

 

Compilamos nuestro kernel:

emerge gentoo-sources
cd /usr/src/linux
make menuconfig

 

También podemos optar por dejar que gentoo autodetecte nuestro kernel y nos genere un kernel con lo que ha detectado:

emerge genkernel
genkernel all

 

En mi caso habilité las opciones siguientes necesarias para el controlador de la trajeta gráfica Nvidia:
Loadable module support --->
  [*] Enable loadable module support

Processor and Features --->
  [*] MTRR (Memory Type Range Register) support

Device Drivers --->
Graphics Support --->
-*- /dev/agpgart (AGP Support) --->

Device Drivers --->
Graphics Support --->
<*> Support for frame buffer devices --->
< >   nVidia Framebuffer Support
< >   nVidia Riva support

Device Drivers --->
Graphics Support --->
<*> Support for frame buffer devices --->
<*>   Userspace VESA VGA graphics support

Device Drivers --->
Graphics Support --->
<*> Support for frame buffer devices --->
[*]   VESA VGA graphics support

Device Drivers --->
Generic Driver Options --->
<*> Mantain a devtmpfs filesystem to munt at /dev
<*> Automount devtmpfs at /dev, after the kernel mounted the rootfs

File systems --->
Pseudo filesystems --->
<*> Tmpfs virtual memory file system support (former shm fs)
<*> Tmpfs POSIX Access Control Lists

 

Compilamos:

make && make modules_install
cp arch/x86_64/boot/bzImage /boot/kernel-3.4.9-gentoo

 

Configuramos el fstab según nuestro esquema de particiones:

nano -w /etc/fstab
/dev/ROOT             ext4

 

Configuramos el hostname:

nano -w /etc/conf.d/hostname
hostname="RX2"

 

Configuramos la interfaz de red por dhcp o de forma estática:

nano -w /etc/conf.d/net
config_eth0="dhcp"

config_eth0="IP/MASCARA"
routes_eth0="default via GW"

postup() {
    iptables-restore /etc/reglas_iptables
}

cd /etc/init.d
ln -s net.lo net.eth0
rc-update add net.eth0 default

 

Configuramos los hosts:

nano -w /etc/hosts

 

Cambiamos el pass de root:

passwd

 

Configuramos nuestra distribución de teclado y si es necesario los parámetros de nuestra zona horaria:

nano -w /etc/conf.d/keymaps
nano -w /etc/conf.d/hwclock

 

Generamos las locales apropiadas:

nano -w /etc/locale.gen
es_ES.utf8 UTF-8
[email protected] ISO-8859-15

locale-gen

nano -w /etc/env.d/02locale
LANG="es_ES.utf8"
LC_COLLATE="C"

env-update && source /etc/profile

 

Instalamos el sistema de log y tareas programadas:

emerge syslog-ng
rc-update add syslog-ng default

emerge vixie-cron
rc-update add vixie-cron default

 

Si vamos a seguir accediendo de forma remota metemos ssh en el nivel de arranque default:

rc-update add sshd default

 

Si utilizamos DHCP para obtener ip instalamos el cliente:

emerge dhcpcd

 

Instalamos y configuramos el gestor de arranque:

emerge grub

Si es grub 1.97:

nano -w /boot/grub/grub.conf
default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title Gentoo Linux 3.4.9
root (hd0,0)
kernel /boot/kernel-3.4.9-gentoo root=/dev/sda3

grep -v rootfs /proc/mounts > /etc/mtab

grub-install --no-floppy /dev/sda

NOTA: Si es una virtual con disco vritio:

vi /boot/grub/device.map
(fd0)   /dev/fd0
(hd0)   /dev/vda

grub-install --no-floppy /dev/vda

Si es grub2:

grub2-install /dev/sda
grub2-mkconfig -o /boot/grub/grub.cfg

Las nuevas versiones de udev utilizan el sistema de nombramiento de las intefaces tipo BSD, para deshabilitarlo:

echo "# Dummy comment to disable new udev naming schema, by Kr0m;)" > /etc/udev/rules.d/80-net-name-slot.rules

 

Recogemos el chiringuito:

exit
cd
umount -l /mnt/gentoo/dev/shm
umount -l /mnt/gentoo/dev/pts
umount -l /mnt/gentoo/boot
umount -l /mnt/gentoo/proc
reboot

 

Esto es cuestión de gustos, yo prefiero tener un fichero /etc/make.conf y un enlace en /etc/portage/make.conf para definir los parámetros del sistema:

mv /etc/portage/make.conf /etc/
ln -s /etc/make.conf /etc/portage/make.conf

 

Instalamos varias utilidades básicas:

emerge app-editors/vim sys-apps/iproute2 sys-apps/less sys-process/htop sys-process/lsof dev-util/strace app-portage/eix sys-process/iotop net-analyzer/tcpdump app-admin/sysstat dev-util/perf sys-fs/ncdu

 

Actualizamos el portage:

eix-sync

 

Para anadir un usuario:

useradd -m -G users,wheel,audio -s /bin/bash kr0m

 

Eliminamos el stage:

rm /stage3-*.tar.bz2*

 

Y con esto concluye la instalación base de Gentoo ;)


Autor: Kr0m -- 31/08/2013 20:08:15