desde hace un buen tiempo me ha interesado el proceso de como compilar mi propio kernel y desde hace un par de meses estoy trabajando en un script para ayudar o guiar a usuarios nuevos para que puedan compilar su propio kernel de una manera mas fasil y mas eficiente sin la necesidad de leer tantos manuales.
Hoy en dia tengo un script que funciona hace el trabajo para el cual fue diseniado, sin embargo siento que tiene mucho potencial que no lo estoy aprovechando, entonces posteo aqui para buscar voluntarios, curiosos, personas que quieran aprender o cualquier persona interesada con la compilacion del kernel y que quieran contribuir de una manera u otra con el desarrollo de este script.
hasta ahorita el script hace:
.- valida que la distro en la que se esta trabajando sea Arch, Fedora u openSUSE (estas son las distro que he usado desde que empeze este proyecto y en donde lo he probado).
.- crea un archivo .config ya sea desde /proc/config.gz o desde "/boot/config-"$(uname -r) o con make defconfig
.- crea una carpeta en /tmp/kernel para no embasurar la carpeta donde estan las fuentes del kernel
.- tiene la opcion de usar un archivo .config ubicado donde el usuario diga
.- valida que el archivo .config sea real y valido
.- si el usuario carga su propio archivo .config el sistema lo actualiza con make silentoldconfig
.- nombra el kernel nuevo y la computadora con el nombre que el usuario diga (mas la version del kernel que esta compilando)
.- tiene la opcion de desactivar los modulos del kernel que no estan siendo usados con make localmodconfig(esto puede ser un arma de doble filo)
.- borra el kernels previos con el mismo nombre (esto es en el caso que el usuario compile varias veces para depurar las opciones en el kernel y asi pueda conseguir las opciones que mas se adapten al hardware del usuario).
.- ejecuta la pantalla para habilitar, desabilitar los modulos del kernel con make xconfig
.- compila el kernel e instala los archivos en las carpetas correspondientes
.- hace algunas validaciones en cada paso
lo que hace falta mejorar o agregar:
.- mejorar la barra de progreso cuando se esta compilando el kernel
.- mejorar como se maneja el stderr
.- agregar la opcion de ver cuanto tiempo se toma cada paso o cuanto tiempo se toma en el proceso completo
.- solo actualizar el archivo .config cuando sea una o mas versiones mayores usando make silentoldconfig.
.- descargar las fuentes mas actualizadas directamente de kernel.org
y cualquier otra cosa que ustedes me puedan recomendar

si tienen preguntas, sugerencias o comentarios adelante sientanse liebre de hacerlo
muchas gracias de antemano
