[ << ]
[ < ]
[ Inicio ]
[ > ]
[ >> ]
7. Configurar el núcleo
Contenido:
7.a. Instalar las fuentes
Elegir un núcleo
El punto alrededor del cual están construidas todas las distribuciones
es el núcleo (kernel) Linux. Es la capa entre los programas de usuario
y el hardware del sistema. Gentoo proporciona a sus usuarios varias
fuentes posible para el núcleo. Una lista completa con descripciones
está disponible en la Guía
Gentoo del Núcleo.
Para los sistemas basados en SPARC tenemos
gentoo-sources (fuentes del núcleo parcheadas para
características extra).
Elija sus fuentes del núcleo e instálelas usando emerge:
Listado de Código 1.1: Instalar las fuentes del núcleo |
# emerge gentoo-sources
|
Cuando vea en /usr/src debería ver un enlace simbólico
llamado linux apuntando a las fuentes de su núcleo. En
este caso, las fuentes del núcleo instaladas apuntan a
linux-3.3.8. Su versión podría ser
distinta, por favor, téngalo presente:
Listado de Código 1.2: Ver 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-3.3.8
|
Ahora vamos a configurar y compilar las fuentes del núcleo.
7.b. Configuración manual
Introducción
La configuración manual de un núcleo frecuentemente se ve como el
procedimiento más difícil que tiene que realizar un usuario de
Linux. Nada más 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
cuando empiece a configurar su núcleo manualmente. Se puede recolectar
mucha información instalando pciutils (emerge pciutils) que
viene con lspci. Ahora podrá usar lspci dentro del
entorno enjaulado (chroot). Puede ignorar tranquilamente las
advertencias sobre pcilib (como pcilib: cannot open
/sys/bus/pci/devices) que lspci le muestre. Alternativamente,
puede ejecutar lspci desde un entorno no-enjaulado. Los
resultados son los mismos. También puede ejecutar lsmod para
ver qué módulos del núcleo usa el CD de instalación (puede servir como
consejo sobre qué habilitar).
Ahora vaya al directorio de fuentes del núcleo y ejecute make
menuconfig. Esto abrirá un menú de configuración basado en
ncurses.
Listado de Código 2.1: Invocar menuconfig |
# cd /usr/src/linux
# make menuconfig
|
Le saludarán varias secciones de configuración. Listaremos primero
algunas opciones obligatorias (de otro modo Gentoo no funcionará,
o no funcionará adecuadamente sin configuración adicional).
Activar las opciones necesarias
En primer lugar, realizaremos los ajustes adecuados de la compilación
cruzada para asegurarnos de que el núcleo Linux se construye para el
tipo de sistema correcto. Para hacer esto, defina
Cross-compiler tool prefix a sparc64-unknown-linux-gnu-
(incluyendo el guión final):
Listado de Código 2.2: Identificar la plataforma adecuada de compilación cruzada |
General setup --->
(sparc64-unknown-linux-gnu-) Cross-compiler tool prefix
|
A continuación vaya a File Systems y seleccione el soporte para
los sistemas de ficheros que vaya a utilizar.
No los compile como módulos, de otro modo su sistema Gentoo no
será capaz de montar sus particiones. También seleccione
Virtual memory y /proc file system.
Listado de Código 2.3: Seleccionar los sistemas de ficheros necesarios |
File systems --->
Pseudo Filesystems --->
[*] /proc file system support
[*] Virtual memory file system support (former shm fs)
<*> Ext3 journalling file system support
<*> Second extended fs support
|
Si está usando PPPoE para conectarse a Internet o está usando un módem
dial-up, necesitará las siguientes opciones en el núcleo:
Listado de Código 2.4: Seleccionar los drivers PPPoE necesarios |
Device Drivers --->
Networking device support --->
<*> PPP (point-to-point protocol) support
<*> PPP support for async serial ports
<*> PPP support for sync tty ports
|
Las dos opciones de compresión no hacen daño aunque no son necesarias,
así como la opción PPP over Ethernet, que podría ser usada por
ppp cuando esté configurado el modo PPPoE.
Ahora active el soporte de bus adecuado:
Listado de Código 2.5: Activar el SBUS/UPA |
Console drivers --->
Frame-buffer support --->
[*] SBUS and UPA framebuffers
[*] Creator/Creator3D support
[*] CGsix (GX,TurboGX) support
|
Desde luego, debe habilitar el soporte para el OBP:
Listado de Código 2.6: Activar el soporte del OBP |
Misc Linux/SPARC drivers --->
[*] /dev/openprom device support
|
También necesitará el soporte de dispositivos SCSI específicos:
Listado de Código 2.7: Activar el soporte de dispositivos SCSI específicos |
SCSI support --->
SCSI low-level drivers --->
<*> Sparc ESP Scsi Driver
<*> PTI Qlogic, ISP Driver
<*> SYM53C8XX Version 2 SCSI support
|
Para dar soporte a su tarjeta de red, seleccione una de las siguientes:
Listado de Código 2.8: Activar el soporte de red |
Network device support --->
Ethernet (10 or 100Mbit) --->
<*> Sun LANCE support
<*> Sun Happy Meal 10/100baseT support
<*> DECchip Tulip (dc21x4x) PCI support
Ethernet (1000Mbit) --->
<*> Broadcom Tigon3 support
|
Si tiene una máquina con 4 puertos Ethernet (10/100 ó 10/100/1000), el
orden de los puertos es diferente al de Solaris. Puede usar
sys-apps/ethtool para comprobar el estado del puerto.
Si usa un controlador de discos qla2xxx, necesitará un núcleo 2.6.27 o
más reciente y además instalar sys-block/qla-fc-firmware. Luego
ejecute make menuconfig y navegue a la sección de controladores
(Device Drivers). Debe añadir soporte para cargar firmware externo.
Listado de Código 2.9: Activar la carga de firmware externo |
Device Drivers --->
Generic Driver Options --->
() External firmware blobs to build into the kernel binary
() Firmware blobs root directory
|
En "External firmware blobs" coloque ql2200_fw.bin y en
"Firmware blobs root directory" coloque /lib/firmware.
Cuando haya terminado de configurar el núcleo, continúe con Compilar e instalar. Sin embargo, luego de
haber compilado el núcleo, revise su tamaño:
Listado de Código 2.10: Chequear el tamaño del núcleo |
# ls -lh vmlinux
-rw-r--r-- 1 root root 2.4M Oct 25 14:38 vmlinux
|
Si el fichero (descomprimido) es mayor que 7,5 MB, reconfigure el
núcleo hasta que no exceda estos límites. Una forma de lograrlo es
compilando la mayor parte de los controladores del núcleo como
módulos. El ignorar esto puede resultar en un núcleo que no arranque.
También, si el núcleo es apenas un poco más grande, intente
reducirlo con la orden strip:
Listado de Código 2.11: Reducir el tamaño del núcleo |
# strip -R .comment -R .note vmlinux
|
Compilar e instalar
Ahora que ya está configurado el núcleo, debemos compilar e
instalarlo. Salga de la configuración y comience el proceso de
compilación:
Listado de Código 2.12: Compilar el núcleo |
# make CROSS_COMPILE=sparc64-unknown-linux-gnu- && make CROSS_COMPILE=sparc64-unknown-linux-gnu- image modules_install
|
Cuando haya terminado de compilar el núcleo, copie la imagen del
núcleo a /boot.
Listado de Código 2.13: Instalar el núcleo |
# cp arch/sparc/boot/image /boot/kernel-3.3.8-gentoo
|
(Opcional) Construir un sistema de ficheros Initramfs
Si utiliza un esquema de particionamiento específico en el que las
localizaciones de ficheros de sistema importantes (como
/usr o /var) se encuentran en particiones
separadas, entonces necesitará configurar un sistema de ficheros
initramfs de modo que esta partición se pueda montar antes de que
se acceda a la misma.
Sin un sistema de ficheros initramfs, se corre el riesgo de que el
sistema no se inicie de forma correcta ya que las herramientas
responsables de montar los sistemas de ficheros necesitan información
que se encuentra en éstos. Un sistema de ficheros initramfs
obtendrá los ficheros necesarios en un archivo que se utiliza una
vez se inicie el núcleo, pero antes de que el control se ceda a la
herramienta init. Los guiones en el sistema de ficheros
initramfs se asegurará de que las particiones se han montado
correctamente antes de que el sistema continúe con su inicio.
Para instalar un sistema de ficheros initramfs, en primer lugar
instale genkernel, a continuación genere el sistema de ficheros
initramfs.
Listado de Código 2.14: Construir un sistema de ficheros initramfs |
# emerge genkernel
# genkernel --install initramfs
|
Si necesita soporte específico en el sistema de ficheros initramfs, tal
como lvm o raid, añada la opción apropiada a genkernel. Lea
genkernel --help para obtener más información. En el ejemplo
mostrado a continuación se habilita el soporte para LVM y el software
raid (mdadm):
Listado de Código 2.15: Construir un sistema de ficheros initramfs con soporte para LVM y software raid |
# genkernel --lvm --mdadm --install initramfs
|
El sistema de ficheros initramfs se almacenará en /boot.
Puede encontrar este fichero simplemente listando aquéllos ficheros
que comienzan por initramfs:
Listado de Código 2.16: Comprobar el nombre del fichero initramfs |
# ls /boot/initramfs*
|
Ahora continúe cono Los módulos del núcleo.
7.c. 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 3.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 3.2: Editar /etc/conf.d/modules |
# nano -w /etc/conf.d/modules
modules_2_6="3c59x"
|
Continúe la instalación con Configurar
su Sistema.
[ << ]
[ < ]
[ Inicio ]
[ > ]
[ >> ]
El contenido de este documento, a no ser que se especifique
expresamente, está registrado bajo los términos de la licencia
CC-BY-SA-2.5. Se aplican las
Pautas de
Utilización del logotipo y nombre de Gentoo.
|