miércoles, mayo 31, 2006

Compilar kernel de Debian o Ubuntu



PROGRAMAS NECESARIO PARA COMPILAR EL KERNEL DEBIAN O UBUNTU
$apt-get install kernel-package gcc flex autoconf libncurses5-dev
$apt-get install libqt3-mt-dev

Descargamos las fuentes del kernel en /usr/src
cd /usr/src
tar -zxvf /tmp/linux.2.X.XX.tar.gz
ln -fs linux-2.X.XX linux

COMPILAR EL KERNEL
estando en el directorio /usr/src/linux hacer lo siguiente.

cp /boot/config-x.x.xx-x /usr/src/linux/.config
make oldconfig xconfig
Seleccionamos los modulos del kernel a usar y despues:
Ojo: Tener descomprimido el kernel en ese directorio

$ sudo make-kpkg clean
$fakeroot make-kpkg --initrd -append-to-version .240206 binary
Por este metodo se crea el kernel_image,kernel_headers,kernel_source, ojo en la version se pone lo que uno quiera

$fakeroot make-kpkg --initrd -append-to-version .240206 kernel_image
Por este metodo se crea el kernel_image

Para la configuración genérica antes es mejor comprobar que nuestro kernel arranca con el initrd creado. Si no arranca creamos la imagen a mano:

# cd /boot/
# mkinitrd -o /boot/initrd.img-2.6.5-2006-01-02 2.6.8-2006-01-02


COMO PARCHEAR EL KERNEL:
$ cd /usr/src/linux
$ patch -Np1 -i ../bootsplash-3.1.4-2.6.15.diff
Ojo: tener en cuenta la version del kernel, la de este ejemplo es la 2.6.15

Cambiar el logo de arranque de Linux

Para cambiar el Tux que nos aparece en el arranque cuando tenemos activo un modo vesa y poner la imagen que más nos guste.
Para todos aquellos que queráis saber más acerca del tema podéis visitar estas webs:

http://en.tldp.org/HOWTO/Framebuffer-HOWTO.html
http://es.tldp.org/COMO-INSFLUG/COMOs/Vesafb-Mini-Como/Vesafb-Mini-Como.html#toc3

Para poder empezar vamos a necesitar las fuentes del kernel,también necesitamos el paquete fblogo, disponible con el apt-get, para transformar el logo.png a logo.h.

Comenzamos.

Elegimos la nueva imagen:

Antes de seguir deciros que la imagen ha de tener menos de 224 colores, para hacer esto podemos usar cualquier software de retoque gráfico.

Abrimos una consola y ejecutamos:

$ fblogo sinuhfb.png linux_logo.h

donde sinuhfb.png es nuestro logo y linux_logo.h el logo final que copiaremos en:

/usr/src/linux/include/linux

suponiendo que tengamos descomprimido nuestro kernel-source en este directorio.

Si nuestro nuevo logo no es de 80x80 tendremos que especificar las nuevas dimensiones en el siguiente archivo:

/usr/src/drivers/video/fbcon.c

La parte del archivo a modificar está en las siguientes lineas:

#define LOGO_H 80
#define LOGO_W 80

Por último solo nos queda compilar el kernel y disfrutar del resultado.