Enviado por D1nam0 el Jue, 24/05/2018 - 02:05
kernel

Al día de hoy, la mayoría de los sistemas operativos, ya nos hicieron la gran tarea de compilar cada parte de nuestro sistema y esta bién, si lo único que deseamos es tener un sistema  que cumpla con nuestras expectativas diarias, ya sean académicas o laborales y que no requieren que hagamos cambios propios al sistema que operamos. En el mundo de Gnu-linux se nos ofrece la posibilidad de confeccionar cada rincón de nuestro sistema, las ventajas son muy significativas, al notar un mejor rendimiento de nuestro sistema y aprovechamiento de los recursos del equipo.

En este post expondremos como compilar una versión del kernel, ya sea LTS, stable o Rc.

Instalaremos algunos paquetes

$ sudo pacman -S ncurses make gcc bc openssl wet 

Crearemos una carpeta donde alojaremos nuestro kernel huésped que descargamos y lo descomprimimos, si eres un archero ortodoxo, el kernel deberá ir en /usr/src/

$ mkidir /Kernel/Rc

$ cd Kernel/Rc/ && wget -c https://git.kernel.org/torvalds/t/linux-4.17-rc5.tar.gz

$ tar xvf linux-4.17-rc5.tar.gz

$ cd linux-4.17-rc5

Ahora bien, tenemos que analizar, una opción que deseemos para la configuración de nuestro kernel.

1- Configuración actual del kernel anfitrión y por lo tanto no es necesario modificar nada.

$ zcat /proc/config.gz > .config

2-Configuración para usuarios más experimentados o más arriesgados y eligen los módulos que necesitan.

$ make mrproper && make clean

3. Configuración por arquitectura.

$ make defconfig 

4. Configuración de driver a partir de lsmod.

Se utiliza la configuración actual de kernel anfitrión

$ yes "" | make localmodconfig 

Se actualizan nuevas funcionalidades de drivers.

$ yes "" | make oldconfig 

Al escoger una de las cuatro opciones, revisamos como se ve nuestra configuración con :

$ make menuconfig

 

rc

 

Guardamos los cambios o asentimos que las opciones por defecto son las adecuadas, ahora bién para compilar debemos utilizar el comando make, al cual le añadiremos los cores totales de nuestro equipo, para agilizar el proceso.

Para ello podemos hacerlo de dos formas:

1- Utiliza todos los cores de forma simultánea, sin necesidad de especificar cuantos tenemos.

$ make -j `nproc`

2- En esta opción (?) es el número de cores más uno, es decir si tiene un dual core sería: (make -j3).

$ make -j(?)

Compilar los módulos

$ make modules

Instalar los módulos

$ sudo make modules_install

Para concluir, vamos a copiar algunos archivos y la imagen del kernel, para después cargarlo al GRUB y reiniciar.

$ sudo cp -v arch/x86_64/boot/bzImage /boot/vmlinuz-4.17-rc5

$ sudo mkinitcpio -k  4.17.0-rc5 -g /boot/initramfs-4.17.0-rc5.img

$ sudo cp -v System.map /boot/System.map-4.17-rc5

$ sudo ln -sf /boot/System.map-4.17-rc5 /boot/System.map

$ sudo grub-mkconfig -o /boot/grub/grub.cfg

$ reboot

* Nota: Sino carga mkinitcipio, revisa si la terminación del kernel 4.17.0-rc5 es con arch, zen o tls, esto depende si usaste una configuración del kernel por defecto anfitrión, por último, vuelve a cargarlo, listo.

Si todo te salio bién felicidades, de lo contrario escribe para poder auxiliarte.

Síguenos en FacebookTwitterunete a nuestra charla en Riotúnete a IRC o únete a Telegram y no olvides compartirnos en las redes sociales. También puede hacernos una donación o comprar nuestros servicios.

Etiquetas

Acerca del autor

Sociólogo de profesión y un fiel militante en tecnologías de la privacidad, también editor en la wiki de "Archlinux", el blog "El Binario" y para el portal "Security Hack Labs", me puedes contactar en Telegram como @D1nam0 o bien por mail d1nam0@cryptolab.net