General Kernel

Compilación del Kernel de OpenBSD

Introducción

Completar

¿Que es el Kernel?

Completar

Compilación del Kernel de OpenBSD

Ya que nos va a ser necesario en la explicación de otros temas, ahora vamos a explicar brevemente la tarea de compilar el kernel http://es.wikipedia.org/wiki/N%C3%BAcleo_(inform%C3%A1tica) de un OpenBSD http://www.openbsd.org. Esta tarea generalmente causa rechazo por la impresión que tiene la gente de que es una tarea con mucha dificultad y puede causar muchos problemas, si bien esto es parcialmente así lo importante es tener el objetivo claro de porque vamos a compilar el kernel, ya que si no tenemos el objetivo en claro seguramente vamos a modificar parámetros de más y vamos a terminar con un dolor de cabeza (o reinstalando el sistema operativo) si no tenemos un buen skill para solucionarlo.

Bien, ahora vamos a realizar 2 pasos, primero vamos a obtener el archivo con el código fuente del kernel y segundo vamos a compilarlo, en este último paso vamos a ver 2 métodos, el cual uno no es el común y por esto mismo es muy interesante (luego en otro artículo vamos a verlo con mayor profundidad).

Empecemos ya a ver cuales son los pasos básicos e indispensables para realizar la compilación de un kernel personalizado!

1) Descargar o copiar el fuente del kernel

a) Copiamos el archivo que se encuentra en el cdrom desde el cual instalamos el sistema operativo y lo descomprimimos en la carpeta correspondiente:

# mkdir /mnt/cdrom
# mount /dev/cdrom /mnt/cdrom/4.1/sys.tar.gz
# cd /usr/src
# tar zxvf /mnt/cdrom/4.1/sys.tar.gz

b) Descargar el archivo desde la web oficial:

# pkg_add -v ftp://ftp.openbsd.org/pub/OpenBSD/4.1/packages/i386/wget-1.10.2p0.tgz
# wget ftp://ftp.openbsd.org/pub/OpenBSD/4.1/sys.tar.gz
# cd /usr/src
# tar zxvf ~/sys.tar.gz

2) Personalizando el kernel

a) Utilizando el método tradicional y el recomendado para la mayoría de las personalizaciones en las cuales tenemos nuestro objetivo claro:

# mkdir /kernels
# mv /bsd /kernels/bsd
# cd /usr/src/arch/i386/conf
# cp GENERIC MIKERNEL1
# vi MIKERNEL1

Realizamos las modificaciones y grabamos.

# config MIKERNELE1
# cd /usr/src/sys/arch/i386/compile/MIKERNEL1
# make depend > /dev/null && make > /dev/null
# cp /usr/src/sys/arch/i386/compile/MYKERNEL1/bsd /kernels/mikernel1
# ln -sf /kernels/mikernel1 /bsd

Donde MIKERNEL1 puede ser cualquier nombre que queramos. Cuando compilamos el kernel tenemos que comentar las líneas para que esos dispositivos no se incluyan en el kernel y descomentar los que queremos agregar.

b) Utilizando la aplicación dmassage http://www.sentia.org/projects/dmassage/ para optimizar el kernel con solo los dispositivos detectados en el dmesg http://www.openbsd.org/cgi-bin/man.cgi?query=dmesg&apropos=0&sektion=0&manpath=OpenBSD+Current&arch=i386&format=html:

# mkdir /kernels
# mv /bsd /kernels/bsd
# pkg_add -v  ftp://ftp.openbsd.org/pub/OpenBSD/4.1/packages/i386/dmassage-0.6.tgz
# cd /usr/src/arch/i386/conf
# dmassage -s GENERIC > MIKERNEL2
# vi MIKERNEL2
# config MIKERNEL2
# cd /usr/src/sys/arch/i386/compile/MIKERNEL2
# make depend > /dev/null && make > /dev/null
# cp /usr/src/sys/arch/i386/compile/MYKERNEL2/bsd /kernels/mikernel2
# ln -sf /kernels/mikernel2 /bsd

Donde MIKERNEL2 puede ser cualquier nombre que querramos.

En caso de error con nuestro kernel personalizado podemos bootear del anterior que resguardamos (/kernels/bsd). Para esto debemos tipear cuando esta booteando lo siguiente:

boot> boot /kernels/bsd

Bien con esto ya podemos comenzar a compilar nuestro kernel y comenzar a disfrutar de nuestra personalización. Más adelante, en otros artículos, vamos a explicar que parámetros debemos tocar en el fuente del kernel para, por ejemplo, poder leer las particiones NTFS http://es.wikipedia.org/wiki/New_Technology_File_System.

Saludos, y que lo disfruten.


Personal Tools