Buenas! esta vez intentare explicar a los amantes del software libre como se crea, modifica, y se compila un kernel de ubuntu.

Primero de todo, quiero decirles que si quieren crear un kernel adaptado tendran que tener mucha paciendia, y no desesperarse rapidamente.

Para compilar un kernel a medida vamos a necesitar 2 paquetes, los paquetes build-essential y kernel-package, asi que vamos a descargarlo (Por consola)

Primero Pulsamos Alt+F2 y se nos abrira la ventana de ejecucion, y escribimos

Gnome-Terminal

Se nos abrira la consola.


Y escribimos:

sudo apt-get install build-essential kernel-package

Voy a explicarles un poco de que se comopone el Kernel.

El kernel se compone de los paquetes antes instalados:

"build-essential" y de los "kernel-package"

Cual es la diferencia entre ellos?

Los archivos del kernel-package (Que son "kernel-source", provienen de Debian,
Y los linux-source, vienen de Ubuntu.(La empesa de distribución)

Para obtener la otra parte del kernel, en la consola deberemos escribir:

sudo apt-get install linux-source


El archivo que se baja tendra un nombre asi:

linux-source-nº_de_version.tar.bz2

En el directorio /usr/src/


-Ahora nos vamos a ese directorio, a través de la consola, escribimos:

cd /usr/src

una vez dentro, observamos lo que hay tecleando:

ls ("Ele y ese"

y se nos mostrara una lista con las carpetas y archivos del directorio.

Si vemos que hay un enlace (Acceso directo) llamado linux y esta enlazado a un kernel, lo eliminamos. poniendo:


sudo rm -R linux


Ahora vamos a descomprimir el Archivo de las fuentes, para ello escribimos:

sudo tar jxvf linux-source-nº_de_version.tar.bz2


Esto creara un directorio llamado linux-source-nº_de_version

Ahora en dentro del directorio /usr/src , haremos un enlaze al kernel llamado linux


sudo ln -s linux-source-nº_de_version linux


Listo, ahora paso a explciar las 2 maneras de editar un kernel con apariencia grafica.

Una puede ser a traves del comando "sudo make menuconfig" y la otra pueder ser a traves del comando "sudo make xconfig"

Para mi el mas comodo es el xconfig, y este tutorial lo he realizado con xconfig.

Para poder editarlo con el menuconfig, necesitaremos unas librerias, de tal manera que si lo van a editar utilizando "menuconfig" tendran que bajarse estas librerias:


sudo apt-get install libncurses5-dev


Y si por el contrario van a utilizar el "xconfig" deberan bajarse estas otras:


sudo apt-get install libqt3-dev


Una duda que siempre se nos pasa por la cabeza:

Para configurar el kernel, ¿puedo partir de una configuración conocida?.

Sí.

Si tenemos, por ejemplo, instalado el kernel que trae Ubuntu por defecto, en el directorio /boot nos encontraremos con un archivo llamado

config-nº-version,

y,¿qué es ese archivo?,
No es más que un archivo de texto con la configuración actual del kernel,

Por lo tanto, para partir de esa base y comenzar la configuración del nuevo kernel desde la actual,

Lo que tenemos que hacer es copiar dicho archivo al directorio

/usr/src/linux-source-nº-version, pero llamándolo .config, es decir:


Entramos al directorio /usr/src/linux:

cd /usr/src/linux

y copiamos el archivo de tal manera:


sudo cp /boot/config-nº-de-version.config


Y ahora ya podemos pasar a editar nuestro kernel,+

Para ello desde el directorio /usr/src/linux, tecleamos:


sudo make xconfig


Ahora atención que aqui si no sabemos lo que tocamos nos cagamos el kernel.
(basicamente el sistema operativo, no arrancaria)


Aqui se puede modificar lo que quieran ( o lo que pueden)


*Si no saben lo que es, o su función dejarla tal cual esta. El dicho es :

"No se, No toco"


Bueno para los que se animan, simplemente les explicare las 3 posibilidades de opcion que tienen.

En las casillas que tienen para marcar, habran observado que si le pulsamos encima, la casilla se puede marcar como:

Blanca: Eso significa "desahilitado"

Con una V: Aqui la tendriamos habilitada, y el sistema nos la cargaria por defecto.

Y si no esta marcada con un Punto: esta opcion es que la que se suele activar para optimizar el sistema, esta opcion es la modular, quiere decir que si por ejemplo tenemos soporte para dispositicos de memoria externa, tales como un PEN DRIVE, o un disco duro externo.

Si seleccionamos la opcion como modular, este se cargaria cuando sea necesitara.

Es decir que los modulos estan precargados para su uso, cuando el sistema necesite unos de estos modulos, los tendra preparados, (Pero no estaran cargados)

Asi no consumen memoria del sistema.

Es como una pequeña optimización.

Bueno, una vez que tengan el kernel listo, le dan al icono de arriba con forma de disquete, para guardarlo.

Una vez guardado cerramos la ventana de edición del kernel y en la consola escribimos:

sudo make-kpkg clean

Este proceso tarda un poco, el sistema se depura.

y luego escribimos:

sudo make-kpkg --append-to-version=.XXXX --initrd kernel_image

OJO AL DATO!

aqui en este ultimo comando deberemos modificar las 4 "X"

Escribiendo 4 caracteres alfanumericos. Osea de "A-Z" y de "1 al 9"

En mi caso es puesto:


sudo make-kpkg --append-to-version=.kede --initrd kernel_image

Ke= Kernel
De= Deeluxe XD


Un dia ya explicare la opción " --initrd" para que entiendan todo.

bueno pues una vez escrito esto, no se asusten, la consola empezara a sacar lineas por todas partes, si nos fijamos en las lineas que van saliendo, podremos ver como se esta compilando todo el kernel.

Intentar de adivinar todos los modulos que esta compilando, asi siempre se aprende algo mas.

Y tenienen para rato, por que el proceso de compilación puede ser lento....

Si se ha compilado bien, en el directorio /usr/src, deberia haber un archivo llamado:

kernel-image-nº-version.XXXX_10.00.Custom_i386.deb

Este es el archivo que contiene nuestro kernel, preparado para instalarlo.
Asi que teclearemos:

sudo dpkg -i kernel-image-nº-version.XXXX_10.00.Custom_i386.deb

Una vez instalado, lo que haremos sera borrar el enlaze que hicimos al principio, llamado linux, de tal manera:

sudo rm -R linux

Y ya esta!!!!

Ya tenemos nuestro kernel listo para usarlo, Para usarlo simplemente deberemos escojerlo en la pantalla del GRUB.

(NOTA: es posible que es si es la primera vez que hacen un kernel y tocaron mas de lo normal no les arranque el sistema, luego simplemente tendran que entrar con el kernel de ubuntu, y volver a modificar el suyo)

Espero que les haya gustado, que hayan disfrutado, y que hayan aprendido, nos veremos en el próximo post…

Comenten que no cueste nada….