HowTo:705es:Instalación

De Luispa

Instalación de Gentoo en Compaq Mini 705ES

En este artículo se describe el proceso de instalación de GNU/Linux, metadistribución Gentoo, en un equipo Compaq Mini 705ES.

Preparar Particiones para Dual Boot

El equipo tiene un disco duro de 60GB y viene preinstalado con Windows/XP con una única partición. Necesito mantener ese sistema operativo al menos durante una época hasta que compruebe que funciona correctamente VirtualBox en Linux en este HW, así que he decidido dividir el disco y utilizar la opción de Dual Boot.

  • Aunque en teoría no es necesario, voy a hacer un defrag en Windows. Hago boot en Windows/XP y utilizo el programa Vopt 9.21 para defragmentar el disco, es decir, colocar de forma secuencial todos los "fragmentos" desperdigados por la partición actual (60GB), de modo que me quede suficiente espacio al "final" del disco para estrechar la partición Windows y dejar espacio para Linux.
Arranco Vopt
CleanUp
Tools, close applications
Defrag disk.
  • Rearranco en Windows y lo siguiente lo hago 2 veces:
    • Boot en Windows, ejecuto chkdsk /f, reboot para que en el siguiente arranque repare el filesystem
  • Selecciono el lenguaje del teclado para la instalación.
 Load keymap: 13 
  • Configuro la tarjeta de Red
# net-setup eth0    (Seguir instrucciones)
  • Ejecuto gparted, reduzco la partición de Windows y creo dos particiones para linux (swap, root). He decidido dedicar 25GB a Windows (para cuatro cosas que se va a usar tiene más que de sobra :-)) y 35GB a Linux
wizard
gparted
  selecciono la partición /dev/sda
  Resize/move y la dejo a 25GB
Creo particińo SWAP (1GB) y elk resto para root (EXT4)
Las particiones quedan así:
 Partición 0: 25GB, Windows XP
 Partición 1: 1GB,  swap
 Partición 2: 34GB, root
 
% ls -al /dev/sda*
brw-r----- 1 root disk 8, 0 2009-09-15 09:28 /dev/sda
brw-r----- 1 root disk 8, 1 2009-09-15 09:28 /dev/sda1
brw-r----- 1 root disk 8, 2 2009-09-15 09:28 /dev/sda2
brw-r----- 1 root disk 8, 3 2009-09-15 09:29 /dev/sda3


Instalación

Descarga de SW

  • 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
  • A continuación ponemos la fecha
date MMDDhhmmYYYY
  • Cambio al directorio root destino (mnt/gentoo)
cd /mnt/gentoo
  • Recomiendo usar el entorno gráfico para bajarse el software desde internet.
 Vamos al Mirror más cercano (un ejemplo es la UPC)
 http://www.gentoo.org/main/en/mirrors.xml   
 http://gentoo-euetib.upc.es/mirror/gentoo/

Ir al directorio
 releases/x86/2008.0/stages
Bajarse los ficheros: 
 stage3-x86-2008.0.tar.bz2             
 stage3-x86-2008.0.tar.bz2.DIGESTS
 stage3-x86-2008.0.tar.bz2.CONTENTS
  • Verificar que al bajarlos no hubo errores:
md5sum -c stage3-x86-2008.0.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 optimizado para el Compaq Mini 705ES
  • Descomprimir el fichero.
cd /mnt/gentoo
tar xvjpf stage3-*.tar.bz2
  • Nos bajamos Portage y lo instalamos
cd /mnt/gentoo
Vamos al Mirror más cercano (usar mozilla)
  http://www.gentoo.org/main/en/mirrors.xml
  http://gentoo-euetib.upc.es/mirror/gentoo/

Ir al directorio
 snapshots/ 
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
  • A continuación preparo el equipo para seguir instalándolo en remoto (en mi caso) vía SSH
passwd  ((Cambio contraseña de root))
  • Conecto con el equipo vía ssh y sigo instalando desde ahí


make.conf

  • Veamos ahora la configuración inicial del fichero /etc/make.conf. De entrada te recomiendo este manual sobre los flags de la variable USE. La parte más importante es la variable CFLAGS optimizada para la CPU del equipo. Voy a seguir la recomendación de aquí.
  • Editar el fichero /mnt/gentoo/etc/make.conf
# Intel(R) Atom(TM) CPU N270 con GCC < 4.3 (actual durante install: GCC=4.2.4)
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

# una vez instalado y actualizado GCC >=4.3
# CHOST="i686-pc-linux-gnu"
# CFLAGS="-O2 -march=core2 -mtune=generic -fomit-frame-pointer -pipe"
# CXXFLAGS="${CFLAGS}"

# Poner procesadors +1 
MAKEOPTS="-j3"

# Flags USE, pocos, el resto via package.use
USE="xcb -motif -mozilla -firefox xulrunner alsa oggvorbis jpeg png truetype udev X ffmpeg imagemagick java exif x264 gtk lm_sensors"

# Lenguaje
LINGUAS="es en"
 
# Para xorg 7
VIDEO_CARDS="intel"
INPUT_DEVICES="keyboard synaptics mouse"


Chroot al nuevo Linux

  • Copiamos el fichero resolv.conf
cp -L /etc/resolv.conf /mnt/gentoo/etc/

  • Cambiamos el entorno
 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"

Aviso:

 Si necesito otra shell durante la instalación:
   chroot /mnt/gentoo /bin/bash
   env-update
   source /etc/profile
   export PS1="(chroot) $PS1"

 Si luego no hace boot y arranco con SystemRescue CD, para volver al chroot:
   mount /dev/sda3 /mnt/gentoo
   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"



Portage

  • Sincronizar Portage
emerge --sync
  • Actualizar Portage (sólo si lo pide)
emerge portage

Nota: Actualiza python, por lo que tendré que ejecutar "python-updater" más tarde


Localización

  • 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


Zona horaria

  • Timezone
cp /usr/share/zoneinfo/Europe/Madrid /etc/localtime


Actualizar GCC a 4.3.3

Para poder activar hacer uso de la opciones de optimización del compilador para la CPU Intel(R) Atom(TM) CPU N270, es necesario usar una versión >=4.3, por lo que a continuación hago el upgrade a la versión 4.3.2-r3 que es la última estable a fecha de hoy para x86 y que soporta -march=core2.

Actualizo a las siguientes versiones: 
   sys-devel/gcc-4.3.2-r3
   sys-libs/glibc-2.9_p20081201-r2

# emerge -v gcc glibc
  • Cambiar al nuevo GCC
gcc-config -l 
gcc-config i686-pc-linux-gnu-4.3.2
env-update 
source /etc/profile


Configuración FINAL del make.conf

  • Ahora modifico CFLAG optimizado para el Core 2 para Intel(R) Atom(TM) CPU N270
# Intel(R) Atom(TM) CPU N270 con GCC >= 4.3
# CHOST="i686-pc-linux-gnu"
# CFLAGS="-O2 -march=core2 -mtune=generic -fomit-frame-pointer -pipe"
# CXXFLAGS="${CFLAGS}"

# Poner procesadors +1 
MAKEOPTS="-j3"

# Flags USE, pocos, el resto via package.use
USE="xcb -motif -mozilla -firefox xulrunner alsa oggvorbis jpeg png truetype udev X ffmpeg imagemagick java exif x264 gtk lm_sensors"

# Lenguaje
LINGUAS="es en"
 
# Para xorg 7
VIDEO_CARDS="intel"
INPUT_DEVICES="keyboard synaptics mouse"

Toolchain

  • Ejecutar fix_libtool_files.sh
fix_libtool_files.sh 4.1.2
  • xz-utils va a terminar de sustituir lzma-utils, lo instalo ahora al principio para evitar la migración futura. Aunque está marcado como Beta, ha demostrado ser muy estable.
echo "=app-arch/xz-utils-4.999.9_beta ~x86" >> /etc/portage/package.keywords
emerge -v xz-utils
  • Recompilar el Toolchain
 gcc-config -l 
 gcc-config i686-pc-linux-gnu-4.3.2
 env-update 
 source /etc/profile

Verificamos que está activo el nuevo gcc
 gcc --version
 gcc (Gentoo 4.3.2-r3 p1.6, pie-10.1.5) 4.3.2

En mi caso no fue así, por lo que procedí a borrar el antiguo
  emerge -C sys-devel/gcc-4.1.2
  fix_libtool_files.sh 4.1.2
  emerge -1 libtool
  env-update && source /etc/profile
Ahora debería ser correcto
 gcc --version
 gcc (Gentoo 4.3.2-r3 p1.6, pie-10.1.5) 4.3.2

Finalmente ya podemos instalar el Toolchain
 emerge -v binutils gcc glibc libtool

genlop

  • Compilar herramientas de apoyo básicas
# emerge -v genlop gentoolkit

Nota: genlop es una herramienta muy útil para ver lo que vas instalando.

Usa "genlop -t  <nombre de paquete>" o "genlop -tc"; ambos para saber tiempos



Update completo

  • Borramos el compilador antiguo y hacemos una recompilación completa del sistema
# emerge -C sys-devel/gcc-4.1.2
# fix_libtool_files.sh 4.1.2
# emerge -1 libtool
# env-update && source /etc/profile
# emerge -e system && emerge -e world


Configurar el Kernel

  • Verificar que la Zona horaria es correcta
# nano -w /etc/conf.d/clock
CLOCK="local"
TIMEZONE="Europe/Madrid"
CLOCK_SYSTOHC="yes"
  • Descarga del Kernel 2.6.30-r6
# emerge -v gentoo-sources
Calculating dependencies... done!
[ebuild  N    ] sys-kernel/gentoo-sources-2.6.30-r6  USE="-build -symlink" 58,160 kB
:

  • Configurar el kernel
cd /usr/src/linux
make menuconfig

Nota: aquí tienes una copia de mi kernel para el 705es

  • Compilar el Kernel
make && make modules_install
  • Instalar el Kernel
cd /usr/src/linux
cp arch/x86/boot/bzImage /boot/bzImage-2.6.30-gentoo-r6
cp System.map /boot/System.map-2.6.30-gentoo-r6
  • Indicar que [M]ódulos del Kernel queremos que se cargen durante el boot
nano -w /etc/modules.autoload.d/kernel-2.6
NOTA: En mi caso de momento no voy a poner ninguno hasta que no lo necesite más adelante...

Configurar el sistema

  • Fichero /etc/fstab
/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="mini"       <== Pon el nombre que quieras...
    • Domain name
# nano -w /etc/conf.d/domainname 
OVERRIDE=1
DNSDOMAIN="parchis.org"
NISDOMAIN=""
    • Configurar la red
# nano -w /etc/conf.d/net
NOTA: No lo modifico, dado que voy a usar DHCP, se queda vacío
    • Inicio automático de la red en el próximo boot
# rc-update add net.eth0 default
    • Editar /etc/hosts y modificar la linea de localhost
127.0.0.1       mini.parchis.org mini localhost localhost.localdomain
    • Fiichero /etc/rc.conf
# nano -w /etc/rc.conf
UNICODE="yes"
    • 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"
    • Fichero /etc/conf.d/consolefont
CONSOLEFONT="lat9w-16"
    • Keymaps
# nano -w /etc/conf.d/keymaps
KEYMAP="-u es"
SET_WINDOWKEYS="yes"
EXTENDED_KEYMAPS="backspace euro2"
DUMPKEYS_CHARSET=""
    • El reloj
# nano -w /etc/conf.d/clock
CLOCK="local"
TIMEZONE="Europe/Madrid"
CLOCK_OPTS=""
CLOCK_SYSTOHC="yes"


Passwd de root

  • Este es un paso MUY IMPORTANTE. NO OLVIDARLO :-)
# passwd


Instalación herramientas necesarias

  • Sistema de bitácoras (registro o log)
# emerge -v metalog
# rc-update add metalog default

NOTA: El metalog es altamente configurable, ver man 5 metalog.conf

En mi caso he realizado modificaciones importantes, mira  mi copia del fichero /etc/metalog.conf 
  • Sistema de cron
# emerge -v vixie-cron
# rc-update add vixie-cron default
  • Indexación de archivos
# emerge -v slocate
NOTA: Para buscar "cualquier" fichero en cualquier disco, usar el comando "locate -i <nombre>"
  • Cliente DHCP
# emerge -v dhcpcd
  • Herramientas varias
# emerge -v pciutils
  • Programar el arranque de ssh en cada boot.
# rc-update add sshd default


No olvidar EXT4

Es importante que tengamos el siguiente paquete a la última versión, dado que Root (/) irá en formato EXT4.

# emerge -v e2fsprogs



El gestor de arranque (GRUB)

  • En este caso, con dual boot tenemos:
Partición 0:  Windows
Partición 1:  Swap
Partición 2:  Root (con el boot incluido)   EXT4
  • Primero instalamos el programa (para dual boot hace falta instalar al menos la versión -r9 de grub)
# emerge -v grub
  • Editamos el fichero de configuración
# nano -w /boot/grub/grub.conf
  • Utilizar un fichero como este:
Fichero: /boot/grub/grub.conf (Ejemplo típico de cómo sería cuando tienes una partición Windows)
default 0
timeout 10
  
# Windows en la Partición 0
title=Microsoft Windows
root   (hd0,0)
savedefault
makeactive
chainloader +1

# Linux en la Partición 2
title=Gentoo Linux 2.6.30-gentoo-r6
root   (hd0,2)
kernel (hd0,2)/boot/bzImage-2.6.30-gentoo-r6 root=/dev/sda3



Instalación del MBR

    • Opción manual (Para disco 0 con dual boot Windows en partición 0 y Linux en partición 2)
# grub --no-floppy
grub> root (hd0,2)          (Especifique donde tiene su partición /boot)
grub> setup (hd0)           (Instalamos GRUB en el MBR)
grub> quit                  (Salimos del intérprete de comandos de GRUB)


Reiniciar el sistema

  • Rearrancamos el equipo
NOTA: Salirse de las sesiones ssh clientes y chroot's 
# exit
cdimage ~# cd
cdimage ~# umount /mnt/gentoo/boot  /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo
cdimage ~# reboot


ATENCIÓN: EL PRIMER "BOOT" SIEMPRE ES UNA INCÓGNITA. PUEDE QUE TE FUNCIONE O PUEDE QUE NO. A MI ME FUNCIONÓ :-)

Aviso: Si no hace boot, tendrás que hacer boot de nuevo mediante la USB SystemRescue CD para volver a arrancar. Ejecuta lo siguiente para poder hacer las moficicaciones y arreglos necesarios.

 # mount /dev/sda3 /mnt/gentoo
 # 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"



Tras el primer boot

  • 'VERIFICAR LA HORA DEL EQUIPO.'
    • Según arranca verificar la hora HW
    • Cuando arranca verificar la hora Linux y cambiarla MANUALMENTE si hace falta
# date MMDDhhmmYYYY
    • Si tienes errores durante el arranque sobre ficheros con fecha en el futuro... en mi caso fueron los de /etc/conf.d
cd /etc
ls -alrt 

Los últimos tendrán fecha en el futuro y podrás corregirlos con el comando touch
touch fichero1.conf fichero2.conf ...



Siguientes pasos

  • Te recomiendo leer a partir de este artículo, que aunque se refiere a la instalación de otro ordenador, te va a valer como ejemplo. Ten en cuenta que los discos en su caso son diferentes.



Enlaces y Créditos

[1] http://www.vopt.com/ Un buen de-fragmentador de particiones.


Volver a Página inicial del Compaq Mini 705ES

--Luis 20:29 13 sep 2009 (CEST)