Compilar un kernel para Mageia Linux
Paso 1: Obtener las fuentes del kernel,
En nuestro caso nada más fácil:
[root@zape ~]# urpmi kernel-source-latest Para satisfacer las dependencias, se instalaran los paquetes siguientes: Paquete Version Revision Arq. (soporte «Core Release») binutils 2.20.51.0.11 2.mga1 x86_64 gcc 4.5.2 4.mga1 x86_64 glibc-devel 2.12.1 11.mga1 x86_64 lib64ncurses-devel 5.7 6.20100925.1> x86_64 linux-userspace-headers 6.38.7 1.mga1 x86_64 make 3.82 4.mga1 x86_64 (soporte «Core Updates») kernel-source-2.6.38.8-4.mga 1 1.mga1 x86_64 kernel-source-latest 2.6.38.8 4.mga1 x86_64 se utilizaran 390MB de espacio de disco adicional. se descargaran 70MB de paquetes. ¿Efectuar la instalación de los 8 paquetes? (S/n)
Una vez instalado verificamos que todo está correcto:
Las fuentes están en /usr/src/ linux-2.6.38.8-4.mga y hay un enlace simbólico desde /usr/src/linux
[root@zape src]# ls -la
total 12
drwxr-xr-x 3 root root 4096 ago 5 18:21 ./
drwxr-xr-x 16 root root 4096 jun 7 19:53 ../
lrwxrwxrwx 1 root root 20 ago 5 18:21 linux -> linux-2.6.38.8-4.mga/
drwxr-xr-x 24 root root 4096 ago 5 18:21 linux-2.6.38.8-4.mga/
Paso 2: Configurar el kernel
En nuestro caso ”make oldconfig” como no tenemos ningún fichero .config lo busca en /boot/ y gentilmente nos lo trae.
Hacemos una copia por si las moscas
[root@zape linux]# make oldconfig
scripts/kconfig/conf –oldconfig Kconfig
#
# using defaults found in /boot/config-2.6.38.8-server-4.mga
#
#
# configuration written to .config
#
[[root@zape linux]# ls -al .config
-rw-r–r– 1 root root 121606 ago 5 18:53 .config
Si queremos modificar la configuración actual ejecutaremos “make menuconfig” que nos ayudara a configurar nuestro kernel usando una bonita interfaz basada en ncurses. Usar “make config” está reservado sólo para hombres (configura cada uno de los item en modo texto) y el uso de “make xconfig” para los que tengan una interfaz gráfica.
Paso 3 – Compilar el kernel
Parece que “make” ha sustituido al viejo “make dep && make clean && make bzImage “
“make modules_install ”compilará e instalará los módulos
Paso 4 – Instalar el kernel
“make install” instalará el kernel dejando en nuestro caso en /boot:
- System.map-2.6.38.8-server-4.mga
- config-2.6.38.8-server-4.mga
- vmlinuz-2.6.38.8-server-4.mga
Paso 5: Crear una imagen initrd:
cd /boot
mkinitrd -o initrd.2.6.38.8-server-4.mga.img
Paso 6: Modificar grub añadiendo la nueva entrada, editando /boot/grub/menu.lst:
title 2.6.38.8-server-4.mga kernel (hd0,0)/vmlinuz-2.6.38.8-server-4.mga \ BOOT_IMAGE=2.6.38.8-server-4.mga root=/dev/vgsistema/5 \ resume=UUID=4c1ff47f-04ca-444e-803f-9c29249c2f27 splash=silent vga=788 initrd (hd0,0)/initrd-2.6.38.8-server-4.mga.img
Después ejecutar “grub-install”
Paso 7: Reinicia si te atreves ….
Nota:
Esto es un simple repaso para le tema del kernel para el examen LPI 201
http://www.andinux.org/drupal/compilarkernel
http://www.sindominio.net/quique/Textos/compilacion_nucleo_linux.html
http://www.cyberciti.biz/tips/compiling-linux-kernel-26.html
Nota2: La ejecución de make se ha comido los 3,1 Gb libres que tenia en /usr …