|
1.
Instalar las fuentes
Elegir un núcleo
El eje alrededor del cual se construyen todas las distribuciones es el
núcleo de Linux. Es la capa entre los programas de usuario y el
hardware del sistema. Gentoo proporciona a sus usuarios varias fuentes
de núcleos. Una lista completa está disponible en la Guía del Núcleo de Gentoo.
Para los sistemas ARM, usaremos gentoo-sources (contiene
parches para incorporar características adicionales).
Ahora las instalaremos usando emerge.
Listado de Código 1.1: Instalar las fuentes del núcleo |
# emerge gentoo-sources
|
Cuando vea en /usr/src verá un enlace simbólico llamado
linux apuntando a las fuentes del núcleo. En este caso,
asumimos que la fuentes del núcleo instaladas apuntan a
gentoo-sources-${kernel-version}. Su versión podría
ser distinta, así que por favor tenga esto presente.
Listado de Código 1.1: Visualizar el enlace a las fuentes del núcleo |
# ls -l /usr/src/linux
lrwxrwxrwx 1 root root 12 Oct 13 11:04 /usr/src/linux -> linux-${kernel-version}
|
1.
Configuración manual
Introducción
Configurar manualmente un núcleo frecuentemente es visto como el
procedimiento más difícil que tiene que realizar un usuario de
Linux. Nada mas lejos de la verdad -- después de configurar un par de
núcleos no recordará si fue difícil ;)
Sin embargo, una cosa sí es cierta: debe conocer su sistema al
empezar a configurar el núcleo manualmente. Se puede recolectar mucha
información instalando pciutils (emerge pciutils), que contiene
lspci. Ahora podrá usar lspci en el entorno
chroot. Puede ignorar tranquilamente los avisos sobre pcilib
(como pcilib: cannot open /sys/bus/pci/devices) desplegado por
lspci. Alternativamente, puede ejecutar lspci desde un
entorno no-chroot. Los resultados son iguales. También puede
ejecutar lsmod para ver qué módulos del núcleo está usando el CD de
instalación (puede darle indicaciones acerca de qué activar).
Ahora vaya al directorio de sus fuentes y ejecute make
menuconfig. Esto producirá un menú de configuración basado en
ncurses.
Listado de Código 1.1: Invocar a menuconfig |
# cd /usr/src/linux
# make menuconfig
|
Aparecerá una pantalla con diversas secciones de
configuración. Primero listaremos algunas opciones que debe activar
(sino Gentoo no funcionará, o no funcionará bien sin configuración
adicional).
Activar las opciones necesarias
Dadas las características altamente específicas de los sistemas
empotrados, cubriremos algunas configuraciones de tarjetas aquí.
Si su equipo no aparece en la lista, entonces acuda a la comunidad
Web respectiva para buscar información acerca de cómo configurar
adecuadamente el núcleo.
Por favor seleccione su equipo de la lista a continuación para saltar
a la sección de configuración.
1.
Opciones de configuración para NetWinder
Recuerde que se requiere soporte para ext2 en la partición de
arranque, ya que es el único sistema de ficheros que se seguro se
puede leer . El otro sistema probado es ext3. Le invitamos a probar
suerte con los demás sistemas de ficheros ;).
Listado de Código 1.1: Opciones de configuración para NetWinder |
# make netwinder_defconfig
System Type --->
ARM system type (FootBridge) --->
(X) FootBridge
Footbridge Implementations --->
[*] NetWinder
Floating point emulation --->
[*] NWFPE math emulation
File systems --->
[*] Second extended fs support
Pseudo Filesystems --->
[*] /proc file system support
[*] Virtual memory file system support (former shm fs)
Device Drivers --->
ATA/ATAPI/MFM/RLL support --->
[*] ATA/ATAPI/MFM/RLL support
[*] Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
[*] Include IDE/ATA-2 DISK support
--- IDE chipset support/bugfixes
[*] PCI IDE chipset support
[*] Winbond SL82c105 support
[*] Generic PCI bus-master DMA support
Network device support --->
[*] Network device support
Ethernet (10 or 100Mbit) --->
[*] Ethernet (10 or 100Mbit)
Tulip family network device support --->
[*] "Tulip" family network device support
[*] DECchip Tulip (dc2114x) PCI support
[*] Use PCI shared mem for NIC registers
[*] Use NAPI RX polling
[*] EISA, VLB, PCI and on board controllers
[*] PCI NE2000 and clones support
Character devices --->
Serial drivers --->
[*] 8250/16550 and compatible serial support
[*] Console on 8250/16550 and compatible serial port
--- Non-8250 serial port support
[*] DC21285 serial port support
[*] Console on DC21285 serial port
Watchdog Cards --->
[*] Watchdog Timer Support
[*] NetWinder WB83C977 watchdog
[*] NetWinder thermometer support
[*] NetWinder Button
[*] Reboot Using Button
Kernel Features --->
[*] Preemptible Kernel
[*] Timer and CPU usage LEDs
[*] CPU usage LED
File systems --->
[*] Ext3 journalling file system support
Device Drivers --->
Input device support --->
[*] Keyboards --->
[*] AT keyboard
[*] Mouse --->
[*] PS/2 mouse
Graphics support --->
[*] Support for frame buffer devices
[*] Enable firmware EDID
[*] CyberPro 2000/2010/5000 support
Logo configuration --->
[*] Bootup logo
[*] Standard 224-color Linux logo
Sound --->
[*] Sound card support
Open Sound System --->
[*] Open Sound System
[*] OSS sound modules
[*] Yamaha FM synthesizer (YM3812/OPL-3) support
[*] Netwinder WaveArtist
Device Drivers --->
Character devices --->
[*] NetWinder flash support
|
Cuando haya terminado de configurar el núcleo, continúe con Compilar e Instalar.
1.
Compilar e instalar
Ahora que hemos configurado el núcleo, es hora de compilarlo e
instalarlo. Salga de la configuración y comience con el proceso de
compilación:
Listado de Código 1.1: Compilar el núcleo |
# make && make modules_install
|
Al terminar de compilar el núcleo, copie la imagen a
/boot. Use cualquier nombre que estime apropiado para el
núcleo y recuérdelo, ya que le hará falta más adelante al configurar
el gestor de arranque. Recuerde reemplazar ${kernel-name} con el nombre y versión del núcleo.
Listado de Código 1.1: Instalar el núcleo |
# cp vmlinux.gz /boot/${kernel-name}
|
Ahora continúe con Módulos del Núcleo.
1.
Módulos del núcleo
Configurar los Módulos
Debe listar los módulos que quiera cargar automáticamente en
/etc/conf.d/modules. Puede agregar opciones extra a los
módulos si así lo desea.
Para ver todos los módulos disponibles, ejecute el comando find.
No olvide sustituir "<kernel version>" por la versión
del kernel que acaba de compilar:
Listado de Código 1.1: Ver todos los módulos disponibles |
# find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko' | less
|
Por ejemplo, para cargar automáticamente el módulo 3c59x.ko (el
driver para una tarjeta de red específica de la familia 3Com), edite el
archivo /etc/conf.d/modules y escriba el nombre del módulo.
Listado de Código 1.1: Editar /etc/conf.d/modules |
# nano -w /etc/conf.d/modules
modules_2_6="3c59x"
|
Continúe la instalación con (Configurar
su Sistema).
|