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.