Compilar un nuevo kernel

Asumiendo que ya aprendiste como compilar un kernel Linux desde las fuentes disponibles en kernel.org, compilar un nuevo kernel para dyne:bolic es relativamente fácil.

Tan sólo hay que proceder como de costumbre después de desempaquetar el código fuente:

[d:b] ~ # make menuconfig [Enter]

Te regresará la configuración del kernel, la cual tu puedes adaptar como desees. En caso de que quieras tomar como configuración base para comenzar el kernel de dyne:bolic que se está ejecutando, desde el directorio kernel ejecuta:

[d:b] ~ # zcat /proc/config.gz > .config [Enter]
[d:b] ~ # make oldconfig [Enter]

En caso de que compiles un kernel mas reciente, tendrás que responder nuevas preguntas incluidas en esa nueva versión. Después de configurar tu kernel puedes compilarlo usando make:

[d:b] ~ # make bzImage && make modules [Enter]

Cuando termines con la compilación de tu kernel, para empaquetar un kernel dyne:bolic se utiliza un comando que está dentro del directorio de fuentes linux:

[d:b] ~ # dynesdk mkkern [Enter]

La función mkkern de dynesdk empaquetará el kernel y sus módulos dentro de SDK/cdrom/dyne. Un archivo comprimido conteniendo todos los módulos (usualmente con un tamaño menor a 20MB) será nombrado con la versión de linux y tendrá la extensión .kmods. El kernel en sí será nombrado con la versión de linux (reducida a 8.3 caracteres para la compatibilidad con algunos cargadores de arranque) y tendrá la extensión .krn.

La razón para este acomodo es que, teniendo todos los kernels y sus módulos en dos archivos facilmente reconocibles por su extensión, se vuelve muy fácil compartir kernels en un dock: tan sólo hay que poner el nuevo archivo dentro del directorio dyne/ y reconfigurar el cargador de arranque adecuadamente. Dado que los archivos .krn y .kmods están comprimidos, la distribución de nuevos kernels dyne:bolic se consigue tal cual, tan solo compartiendo los dos archivos.