HowTo:gentoo:MacMini:InstalarGentoo

De Luispa

Instalación de Gentoo


Boot con System Rescue LiveCD

  • Para instalar un servidor desde cero en modo 64 bits, hay que hacer boot con un DVD de 64 bits y realizar todos los pasos desde el principio en modo 64bits. Recomiendo usar el DVD de arranque de System Rescue que puedes descargar desde aquí. Se trata de un DVD (por cierto, basado en Gentoo) mucho más potente que el que ofrecen en los mirros de gentoo para hacer instalaciones, y además está probado que funciona en 64bits tanto para AMD como para Intel sin problemas.
  • Si prefieres seguir los manuales (handbook) de Gentoo que menciono antes, recuerda que el "System rescue CD" que yo uso lo has de considerar como si fuese el que llaman "CD de Instalación Mínima" en dichos manuales.
  • Bajar el Sys Rescue (use el 2.2) desde la página oficial de System Rescue CD
  • Una vez tengas el ISO, quémalo en un CD/DVD.
  • Con el Mac apagado, pulsa ALT y arranca el mac (botón trasero). Si no está ya, introduce el DVD.
  • Espera hasta que veas la pantalla gris mostrándote la opción de hacer boot desde Disco y un poco más tarde desde DVD.
  • El teclado inalámbrico funciona perfectamente, así que uso las flechas del teclado, selecciono el DVD (Windows, sí pone Windows) y hago boot pulsando intro.
Boot con rEFit



Instalación

  • Arrancamos en modo 64 bits
 Selecciono la opción 64bit kernel with default options
  • Selecciono el lenguaje del teclado para la instalación.
 Load keymap: 13 
  • Configuro la tarjeta de Red. Sigo las instrucciones para configurar vía DHCP y cable.
# net-setup eth0
  • Cambio la contraseña de root (para poder conectarme con el equipo vía ssh durante el proceso de instalación)
# passwd
New password: (Enter your new password)
Re-enter password: (Re-enter your password)
  • El daemon de SSH debería estar arrancado. Puedes comprobarlo con:
# /etc/init.d/sshd status
  • Una ventaja del DVD de Sytem Rescue es que permite activar el entorno gráfico durante el proceso de instalación, que siempre es más agradable. Dado que tenemos una tarjeta NVIDIA y el entorno HW donde estoy instalando está 100% soportado, es tan sencillo como ejecutar
# wizard 
Selecciona la primera opción Xorg-run 
  • Puedes seguir desde la shell gráfica o un equipo remoto con SSH.
  • Conecto con el nuevo sistema desde un Terminal de mi mac.
asterix:~ luis$ ssh -l root 192.168.1.14
:
Password:      <=== Uso la misma contraseña que puse antes a root.
:
#
  • Verifico que llego a internet
# ping -c 3 www.gentoo.org
  • Configuro los discos. Primero verifico que el sistema ha reconocido los discos.
% ls -al /dev/sd*
brw-rw---- 1 root disk 8, 0 Jul 13 18:45 /dev/sda
brw-rw---- 1 root disk 8, 1 Jul 13 18:45 /dev/sda1
brw-rw---- 1 root disk 8, 2 Jul 13 18:45 /dev/sda2
  • Voy a dedicar el Mac Mini por completo a Gentoo Linux.
Creo el MBR y las particiones usando el comando "gparted" 
Desde el entorno gráfico ejecuto gparte, borro todo el disco duro, creo el MBR (tipo msdos) y las particiones: 
  • Las particiones que he configurado han sido:
            Bootable  Tamaño  Tipo         Descripción
/dev/sda1   *         50MB    ext2         Montaré sobre /boot
/dev/sda2             1GB     Linux swap
/dev/sda3             109GB   ext4         /
  • Notar que conectaré un disco USB más tarde para montar /data. Al final quedarán estas particiones:
Disco interno del Mac Mini
Disco externo USB


  • Monto las particiones necesarias para empezar la instalación.
# mount /dev/sda3 /mnt/gentoo        <=== Tercera partición del disco 0, aquí vamos a instalar "root", 
# mkdir /mnt/gentoo/boot
# mount /dev/sda1 /mnt/gentoo/boot
  • A continuación ponemos la fecha
# date MMDDhhmmYYYY
  • Cambio al directorio root destino (mnt/gentoo)
# cd /mnt/gentoo
  • Vamos al Mirror más cercano (un ejemplo es la UPC)
NOTA: Usar Mozilla desde el entorno gráfico para acceder a estos repositorios
 http://www.gentoo.org/main/en/mirrors.xml   
 http://gentoo-euetib.upc.es/mirror/gentoo/ 
Ir al directorio
 releases/amd64/current-stage3
Bajarse los ficheros (bajarlos al directorio /mnt/gentoo): 
 stage3-amd64-20110708.tar.bz2           (Aprox. 153 MB) <=== NOTA!! AUNQUE PONE AMD64... ES CORRECTO, VALE PARA Core 2 Duo
 stage3-amd64-20110708.tar.bz2.DIGESTS
  • Verificar que al bajarlos no hubo errores:
# md5sum -c stage3-amd64-20110708.tar.bz2.DIGESTS
NOTA: Nos hemos bajado un conjunto de paquetes y aplicaciones básicas ya compiladas, por lo que no es óptimo.
Es decir, nos bajamos el Stage para empezar a andar por casa, pero en un momento dado tendremos que recompilar 
todo a 64bits optimizado para nuestro core 2 due, en breve.. 
  • Descomprimir el fichero.
# cd /mnt/gentoo
# tar xvjpf stage3-*.tar.bz2
  • Nos bajamos también Portage y lo instalamos
# cd /mnt/gentoo
Vamos al Mirror más cercano (usar mozilla desde el entorno gráfico y bajar sobre /mnt/gentoo)
  http://www.gentoo.org/main/en/mirrors.xml
  http://gentoo-euetib.upc.es/mirror/gentoo/ 
Ir al directorio
 snapshots/current
Bajarse los ficheros: 
 portage-latest.tar.bz2 (Aprox. 34MB)
 portage-latest.tar.bz2.md5sum
  • Verificar que al bajarlos no hubo errores:
# md5sum -c portage-latest.tar.bz2.md5sum
  • Extraemos el snapshot de Portage
# tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr
  • Editar el fichero /mnt/gentoo/etc/make.conf
CFLAGS="-march=nocona -O2 -pipe"
CXXFLAGS="${CFLAGS}"
CHOST="x86_64-pc-linux-gnu"
USE="mmx sse sse2"
MAKEOPTS="-j3"
ALSA_CARDS="hda-intel"
VIDEO_CARDS="nvidia nv vesa fbdev"
INPUT_DEVICES="evdev keyboard mouse"
LIRC_DEVICES="macmini" 
  • Copiamos el fichero resolv.conf
# cp -L /etc/resolv.conf /mnt/gentoo/etc/

  • Cambiamos el entorno (CHROOT)
  mount -t proc none /mnt/gentoo/proc
  mount -o bind /dev /mnt/gentoo/dev
  chroot /mnt/gentoo /bin/bash
  env-update
  source /etc/profile
  export PS1="(chroot) $PS1"
  • Sincronizar Portage
# emerge --sync
  • Actualizar Portage (sólo si lo pide)
# emerge portage
  • Seleccionar profile
# eselect profile list
# eselect profile set 1 (el de por defecto)
  • Pongo USE en /etc/make.conf
# USE from bolica
USE="unicode xcb -motif -mozilla -firefox xulrunner vhosts -font-server alsa esd pulseaudio mysql maildir sasl oggvorbis apache2 imap nvidia xvmc gnome jpeg kde ogg opengl png truetype type1 cleartype corefonts udev vorbis X xml xv ffmpeg snmp samba tiff java imagemagick exif x264 gtk zeroconf avahi lm_sensors lcms qt3support -hal fuse spell fontconfig jack"
  • Edito /etc/locale.gen
en_US ISO-8859-1
en_US.UTF-8 UTF-8
es_ES ISO-8859-1
es_ES@euro ISO-8859-15
es_ES.UTF-8 UTF-8 
en_US.UTF-8@euro UTF-8
es_ES.UTF-8@euro UTF-8
  • Ejecuto locale-gen
# locale-gen
  • Timezone
cp /usr/share/zoneinfo/Europe/Madrid /etc/localtime
  • Recompilo el toolchain
# emerge -v binutils gcc glibc libtool
  • Instalar herramientas importantes
# emerge -v genlop gentoolkit
# emerge -v v86d  (Lo voy a usar para el splash screen/framebuffer)
# emerge -v bluez (Para el teclado/ratón bluetooth)   NECESITA USE:   =sys-fs/udev-164-r2 extras

A partir de ahora echale un ojo al comando "genlop -l", está muy bien para ver lo que vas instalando. Además no dejes
de probar el comando "genlop -t  <nombre de paquete>" o "genlop -tc"; ambos para ver cuanto tardó en instalar un 
paquete o cuanto va a tardar el que se instala ahora...
  • Verifica que vas a poder "actualizar el sistema completo". En mi caso el siguiente comando me dijo que tenía bloqueos...
# emerge -pve system
  • Update completo
# emerge -e system
# emerge -DuvN world
  • HW Clock
# nano -w /etc/conf.d/hwclock
clock="local"
clock_systohc="YES"
clock_hctosys="YES"
  • Instalo el Kernel
# emerge -v gentoo-sources

  • Configurar y compilar el kernel
# cd /usr/src/linux
# make menuconfig     <== Aquí no describo mi kernel... pendiente
RATÓN Y TECLADO wireless de Apple
=================================
Networking -->
<*> Bluetooth subsystem support -->
<*> L2CAP protocol support
<*> RFCOMM protocol support
[*] RFCOMM TTY support
Bluetooth device drivers --->
<*> HCI USB driver


  • Compilar el kernel
# make && make modules_install
# cd /usr/src/linux
# cp arch/x86_64/boot/bzImage /boot/bzImage-2.6.38-gentoo-r6
# cp System.map /boot/System.map-2.6.38-gentoo-r6
  • /etc/fstab
/dev/sda1               /boot           ext2            noauto,noatime  1 2
/dev/sda3               /               ext4            noatime         0 1
/dev/sda2               none            swap            sw              0 0
proc                    /proc           proc            defaults        0 0
tmpfs                   /dev/shm        tmpfs           nodev,nosuid,noexec     0 0
  • Información de red
    • Nombre del equipo (MUY IMPORTANTE)
# nano -w /etc/conf.d/hostname
HOSTNAME="nene"       <== Pon el nombre que quieras...
    • Domain name
# nano -w /etc/conf.d/domainname 
OVERRIDE=1
DNSDOMAIN="parchis.org"
NISDOMAIN=""
    • Configurar la red
# emerge -v dhcpcd
# nano -w /etc/conf.d/net
modules="dhcpcd"
config_eth0="dhcp"

    • Inicio automático de la red en el próximo boot
(chroot) sysresccd init.d # cd /etc/init.d
(chroot) sysresccd init.d # ln -s net.lo net.eth0
(chroot) sysresccd init.d # rc-update add net.eth0 default
* service net.eth0 added to runlevel default
    • Editar /etc/hosts y modificar la linea de localhost
127.0.0.1       nene.parchis.org bolica localhost localhost.localdomain
    • Fichero /etc/conf.d/consolefont
consolefont="lat9w-16"
    • Fichero /etc/env.d/02locale
LC_ALL="es_ES.UTF-8"
LC_COLLATE="es_ES.UTF-8"
LC_CTYPE="es_ES.UTF-8"
LC_MESSAGES="es_ES.UTF-8"
LC_MONETARY="es_ES.UTF-8"
LC_NUMERIC="es_ES.UTF-8"
LC_PAPER="es_ES.UTF-8"
LANG="es_ES.UTF-8"
    • Keymaps
# nano -w /etc/conf.d/keymaps
KEYMAP="-u es"
SET_WINDOWKEYS="yes"
EXTENDED_KEYMAPS="backspace euro2"

  • Contraseña de root. Este es un paso MUY IMPORTANTE. NO OLVIDARLO :-)
# passwd

  • Instalar herramientas importantes
# emerge -v metalog vixie-cron mlocate pciutils 
# rc-update add metalog default
# rc-update add vixie-cron default
# rc-update add sshd default
# emerge -v e2fsprogs
  • Primero instalamos el programa
# emerge -v grub
  • Editamos el fichero de configuración
# nano -w /boot/grub/grub.conf
Fichero: /boot/grub/grub.conf (Ejemplo de configuración con sólo una partición Linux)
 timeout 10
 default 0
  
 # For linux with latest kernel
 title=Gentoo Linux 2.6.28-gentoo-r1
 root   (hd0,0)
 kernel (hd0,0)/bzImage-2.6.28-gentoo-r1 root=/dev/sda3
  • Instalación de GRUB (yo use la opción automática)
    • Opción Automática:
# grep -v rootfs /proc/mounts > /etc/mtab
# grub-install --no-floppy /dev/sda


Rearranque y boot

  • Una vez que tenemos el kernel y grub preparados, ya es el momento de arrancar el sistema.
NOTA: Salirse de las sesiones ssh clientes y chroot's 
# exit
# cd
# umount /mnt/gentoo/boot  /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo
# reboot
  • Mantén pulsado el MOUSE durante el boot the Mac mini para que se expulse el CD
  • Verás la pantalla gris y tras un rato la opción de arranque de linux. Haz boot con el kernel preparado.

Configuración del teclado Apple Wireless

En cuanto arranco el equipo, una vez que carga el kernel, el teclado deja obviamente de funcionar. A pesar de haber configurado bluetooth el kernel correctamente es neceasrio realizar varios pasos adicionales.

# emerge -v bluez
# /etc/init.d/bluetooth start
# rc-update add bluetooth default

Remove and reinsert the batteries from the keyboard. Turn the keyboard on. The light should be flashing.
# hcitool scan
Scanning ...
       11:22:33:44:55:66       Apple Wireless Keyboard
# simple-agent hci0 11:22:33:44:55:66
Type a PIN (any four numbers) followed by Enter on the keyboard. 
Enter the PIN into the simple-agent shell when prompted. The keyboard is paired now. Now trust and connect the device:
# bluez-test-device trusted 11:22:33:44:55:66 yes
# bluez-test-input connect 11:22:33:44:55:66

Configuraciones adicionales

  • Modifico el fichero USE /etc/portage/package.use
  • Instalo unos cuantos programas más, notar que esto fuerza la instalación de mucho más software
  • Recompilo todo lo necesario con los nuevos USE e instalo más cosas...
# emerge -DuvN system world
# emerge -v avahi
# emerge -v gparted
# emerge -v emacs font-adobe-100dpi font-adobe-75dpi font-adobe-utopia-100dpi font-adobe-utopia-75dpi font-adobe-utopia-type1
# emerge -v iptables iputils iproute2 tcpdump wireshark
:


Configurar teclado USB

usb 3-1: new low speed USB device using uhci_hcd and address 2
usb 3-1: New USB device found, idVendor=04d9, idProduct=1503
usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 3-1: Product: USB Keyboard
usb 3-1: Manufacturer:  
input:   USB Keyboard as /devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1:1.0/input/input4
generic-usb 0003:04D9:1503.0003: input: USB HID v1.10 Keyboard [  USB Keyboard] on usb-0000:00:1a.0-1/input0




  • Referencia: Cómo hacer chroot durante la instalación
  • Puede que lo necesites. Durante la instalación las cosas fallan y a veces es necesario volver a abrir una shell nueva o bien entrar en el chroot de nuevo. Aquí tienes cómo hacer ambos.

Aviso:

  chroot CAMBIA EL ENTORNO AL NUEVO LINUX QUE ESTÁS CONSTRUYENDO. 

 SI NECESITAS OTRA SHELL DURANTE LA INSTALACIÓN, EJECUTA LO SIGUIENTE
   chroot /mnt/gentoo /bin/bash
   env-update
   source /etc/profile
   export PS1="(chroot) $PS1"

 SI TERMINAS TODA LA INSTALACIÓN Y TU NUEVO SISTEMA NO HACE BOOT, ENTONCES TIENES QUE VOLVER 
 A ENTRAR CON EL CD DE SYSTEM RESCUE Y EJECUTAR LO SIGUIENTE PARA ARREGLAR LO QUE SEA NECESARIO

   mount /dev/sda3 /mnt/gentoo
   mount /dev/sda1 /mnt/gentoo/boot
   swapon /dev/sda2
   mount -t proc none /mnt/gentoo/proc
   mount -o bind /dev /mnt/gentoo/dev
   chroot /mnt/gentoo /bin/bash
   env-update
   source /etc/profile
   export PS1="(chroot) $PS1"




Volver a Gentoo en Mac Mini 3,1 (2009)

--Luis 07:50 14 jul 2011 (CEST)