Popular channels

Compilacion de kernel en arch siendo novato

Hola a todos!! Como dice el titulo, siendo todavia bastante principiante en el mundo GNU/Linux (poco mas de un año) me decidi a compilar un kernel para mi equipo de escritorio usando arch linux.

Luego de buscar info en la wiki y en un par de temas en foros, me decidi a comenzar el proceso, y tras un par de pruebas fallidas donde el kernel no compilaba o luego no booteaba, aca les describo el proceso que me dio resultado para tener un kernel compilado por mi, liviano, agil y con los modulos justos que necesito.

Empece por bajar la fuente de http://www.kernel.org
(la ultima version estable es la 2.6.36)

$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.tar.bz2

Luego, cree el directorio "kernelbuild" por consejo de la Wiki, descomprimi la fuente alli y me posisione en ese directorio:

$ mkdir kernelbuild
$ cd kernelbuild
$ tar -xvjf linux-2.6.36.tar.bz2
$ cd linux-2.6.36


Alli corri un comando para asegurarme de tener limpio el arbol de directorios de la fuente:

$ make mrproper

Ahora llego el momento de generar el archivo ".config" que es donde esta toda la informacion para que el kernel sepa que tiene que contener y que no al momento de compilar... aca es donde dice que modulos se cargan y cuales no, por ej...

Y entonces comenzo la historia... como generar el archivo ".config" ideal para mi equipo?? Probe varias opciones, usando $ make menuconfig para hacerlo a mano, pero no entendia casi nada... demasiado tecnico para mi gusto y decidi dejarlo para mas adelante.

Entonces, vi en la wiki que se podia usar un script que detectaba los modulos que estaba usando el sistema en ese momento y preparaba la configuracion del kernel de acuerdo a eso, asi que conecte un par de pendrives para que me los reconozca como activos y lo probe:

# ln -s /bin/lsmod /sbin/lsmod
$ make localmodconfig


Tuve que crear ese enlace simbolico para que el script pueda usar sin problema lsmod y poder detectar los modulos... pero al crear el archivo ".config" decidi darle una mirada a la cantidad de modulos que tenia:

$ cat .config | grep =m | wc -l

Y me dio mas de 200, cuando los modulos activos que tenia eran 63... asi que tenia modulos de mas todavia, y buscando di con otro script incluido en la fuente del kernel que reduce aun mas ese numero, dejando exactamente los modulos que tenia en funcionamiento y decidi probarlo, tomando como base el archivo .config que ya tenia generado:

$ ~/kernelbuild/linux-2.6.36/scripts/kconfig /streamline_config.pl > config_new
$ mv config_new .config


Asi tuve un archivo .config con los 63 modulos que tenia en funcionamiento en ese momento, teniendo todo lo que uso conectado para que los reconozca el script (internet, pendrives, etc)

Ya llego el momento de compilar, solo tenia que generar un par de archivos (PKGBUILD y kernel26.install) segun la wiki y darle a crear el paquete:

$ makepkg -ci

Luego de esperar unos 10 minutos que compile y se instale el kernel, solo tuve que agregar la entrada nueva al GRUB sin borrar la anterior por cualquier cosa, con los paquetes nuevos que me genero la instalacion y listo!! Al reiniciar ya podia elegir y disfrutar de un kernel compilado por mi, al menos de forma principiante... mas adelante y con mas tiempo ire profundizando el proceso!!

Si a alguien le interesa el dato, el paquete del kernel termino pesando 3,8 MB, cuando el que se baja de los repositorios de arch suele andar alrededor de los 21 MB!!

Saludos!!

PD: Perdon por lo largo del texto, tal vez para la mayoria sea medio pesado, pero seguro que a alguno le puede resultar interesante
PD: Perdon tambien por la falta de imagenes, me gusta que sea asi cuando se habla puramente de procesos de consola
0
0
0
0No comments yet