Instalar Gentoo 2007.0 en placa VIA EPIA VB7001
Contents
Preliminares
La placa base VIA EPIA VB 7001 es una placa Mini ITX especialmente diseñada para crear sistemas embebidos potentes. Gentoo es una distribución que se adapta particularmente a esta placa ya que nos permite sacar el maximo provecho del procesador de arquitectura x86 pero de fabricante Via Tecnologies (No es ni Intel, ni AMD, que son los procesadores por defectos de las distribuciones Linux habituales).
Arranque del instalador de Gentoo
Mi sistema embebido no dispone de unidad optica. Por lo tanto he decidido instalar el sistema a partir de un Pen Drive. Para crear el Pen Drive de instalación he seguido los pasos descritos en el documento de esta wiki.
Instalación de Gentoo
Una vez arrancado el sistema con el Live USB, el proceso de instalación es similar al de la instalación de un servidor explicado en este documento. Solo los detalles propios de esta placa base serán descritos en este documento para el resto de la instalación, nos referiremos al documento principal de instalación.
Particionado de disco
Por razones economicas, el disco es un disco IDE de 40GB de 2,5, y la máquina tiene 512MB de RAM. Las particiones son las siguientes:
hda1 32MB (Boot) ext2 hda2 512MB (Swap) swap hda3 10GB (ROOT) ext3
El resto del disco se deja libre para el uso de aplicaciones. Montamos /dev/hda3 en /mnt/gentoo y /dev/hda1 en /mnt/gentoo/boot.
Descarga de Stage y portage
Nos descargamos el Stage 1 para poder tener nuestro sistema optimizado para nuestro procesador. Una vez descargados los descomprimimos:
tar xvfjp stage1-x86-2007.0.tar.bz2 tar xvfj portage-latest.tar.bz2 -C /mnt/gentoo/usr/
Al final he cogido el stage1 2008.0-beta2, porque el 2007.0 me daba problemas entre el paquete portage bash y pycrypto.
Parametros procesador
La salida de /proc/cpuinfo es:
processor : 0 vendor_id : CentaurHauls cpu family : 6 model : 10 model name : VIA Esther processor 1500MHz stepping : 9 cpu MHz : 1496.279 cache size : 128 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge cmov pat clflush acpi mmx fxsr sse sse2 tm up pni tm2 rng rng_en ace ace_en ace2 ace2_en phe phe_en pmm pmm_en bogomips : 2995.44
Si vamos a la página de Safe Cflags vemos que los parametros a poner en el make.conf son:
CHOST="i686-pc-linux-gnu" CFLAGS="-march=i686 -mmmx -msse -msse2 -msse3 -O2 -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}" MAKEOPTS="-j2" GENTOO_MIRRORS="http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ " SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="acl via unichrome alsa gd hal mmx threads unicode usb vhosts -X -gnome -kde sse sse2 sse3 snmp apache2 -ipv6" VIDEO_CARDS="via"
Instalación de sistema base
He empezado desde el stage1. Me salto estos pasos en este documento, me he basado en las notas siguientes. Una vez acabado he verificado que todas las librerias eran consitentes, con revdep-rebuild.
emerge -av gentoolkit revdep-rebuild
Compilación del kernel
Lo primero que he hecho es poner el paquete pciutils y el paquete usbutils.
emerge -av pciutils emerge -av usbutils
La salida de lspci me da:
00:00.0 Host bridge: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host Bridge 00:00.1 Host bridge: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host Bridge 00:00.2 Host bridge: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host Bridge 00:00.3 Host bridge: VIA Technologies, Inc. PT890 Host Bridge 00:00.4 Host bridge: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host Bridge 00:00.7 Host bridge: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host Bridge 00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI Bridge 00:0f.0 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06) 00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81) 00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81) 00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81) 00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 86) 00:11.0 ISA bridge: VIA Technologies, Inc. VT8237 ISA bridge [KT600/K8T800/K8T890 South] 00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 78) 01:00.0 VGA compatible controller: VIA Technologies, Inc. UniChrome Pro IGP (rev 01)
Configuración del sistema
Aqui he seguido los siguientes pasos.
Grub
He tenido que poner acpi=force en el grub para que me cogiera los parametros correctos
default 0 timeout 2 title=Gentoo Linux 2.6.24-luniel root (hd0,0) kernel /boot/kernel-2.6.24-luniel root=/dev/hda3 acpi=force
Apagar correctamente con el botón
Hay que añadir acpi=force como parametro del kernel.
emerge -av acpid rc-update add acpid default
Creamos un fichero /etc/acpi/events/power
event=button/power.* action=/etc/acpi/onButtonPress-Power.sh
Creamos el fichero /etc/acpi/onButtonPress-Power.sh, y le damos permisos 750.
#!/bin/sh # /etc/acpi/onButtonPress-Power.sh # Shutdown when the power button is pressed logger "Power button pressed -- shutting system down" /sbin/shutdown -h now
Arracncamos el servicio
/etc/init.d/acpid start
Referencias
- Instalar Gentoo desde USB
- Instalar servidor dedicado con Gentoo
- Instalar Gentoo 2005.1 en Pavillion dv1000
- Safe Cflags
- HOWTO Shutdown headless server when power-button pressed
- HARDWARE Unichrome
- HARDWARE VIA
--Daniel Simao 17:10 7 jun 2008 (UTC)