Esta web utiliza cookies, puedes ver nuestra política de cookies aquí. Si continuas navegando estás aceptándola

Compilación del kernel


La mayoría de gente piensa que la compilación del kernel es un proceso complicado y duro de llevar a cabo, pero si tenemos ciertos conceptos claros nos resultará mucho mas fácil:
- El kernel no es más que un recopilatorio de drivers para nuestro hardware.
- Con su compilación conseguiremos que no se carguen drivers innecesarios que no vamos a utilizar.
- Su compilación no es tan compleja si se sabe exactamente el hardware del que se dispone.

La mayoría de gente piensa que la compilación del kernel es un proceso complicado y duro de llevar a cabo, pero si tenemos ciertos conceptos claros nos resultará mucho mas fácil:

  • El kernel no es más que un conjunto de drivers y algoritmos que nos proveerán de la capacidad para realizar ciertas tareas.
  • Con su compilación conseguiremos que no se carguen drivers innecesarios que no vamos a utilizar.
  • Su compilación no es tan compleja si se sabe exactamente el hardware del que se dispone.

Después de estas aclaraciones ya estamos en condiciones de continuar, lo primero será averiguar que HW tenemos instalado en nuestra máquina, comandos útiles para este fin pueden ser:

  • dmesg --> imprime por pantalla todos los mensaje de arranque del sistema.
  • lspci --> nos muestra información referente a los dispositivos conectados a los puertos PCI.
emerge -av sys-apps/pciutil

Las fuente del kernel se pueden obtener de diferentes modos:

  • Sources de la distro: emerge -av gentoo-sources
  • Vanilla sources: http://www.kernel.org
bzip2 -dc KERNEL.tar.bz2 | tar -xv
ln -s /usr/src/KERNEL linux

Procedemos con la configuración:

cd /usr/src/linux
make menuconfig

Habrá opciones que no sepamos para que sirven, podemos leernos el help pero yo recomiendo meter en una primera compilación todo lo que no se sepa y luego ir depurándolo.

Las opciones se pueden compilar de dos formas distintas :

  • En el propio kernel --> Drivers necesarios para el arranque del SO
  • Como módulo --> Drivers que utilicemos sólo de forma esporádica

NOTA: Si sufres de paranoia extrema puedes decidir compilarlo todo dentro del kernel y deshabilitar la posibilidad de carga de módulos, de este modo ya no será posible la utilización de la mayoría de rootkis en nuestro sistema.

IMPORTANTE: Nunca, pero nunca poner como módulo drivers que le hagan falta al sistema para arrancar como por ejemplo el sistema de ficheros de la partición raíz del sistema o el driver IDE, SATA.............

Cuando se tenga todo listo se procederá a salir y guardar los cambios.

Compilamos e instalamos la imagen del kernel y los módulos:

make && make modules && make install && make modules_install

Configuramos GRUB para poder arrancar el kernel nuevo:


Si es grub 1.97:

vi /boot/grub/grub.conf
default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title Gentoo Linux 3.4.9
root (hd0,0)
kernel /boot/kernel-3.4.9-gentoo root=/dev/sda3

Cambiando las líneas:

  • root() --> Partición donde se tenga boot
  • root= --> Partición donde se tenga raíz
grep -v rootfs /proc/mounts > /etc/mtab
grub-install --no-floppy /dev/sda

Si es grub2:

grub2-install /dev/sda
grub2-mkconfig -o /boot/grub/grub.cfg

NOTA: Si es una máquina virtual con disco virtio:

vi /boot/grub/device.map
(fd0)   /dev/fd0
(hd0)   /dev/vda
grub-install --no-floppy /dev/vda

Reiniciamos y nos aparecerá una entrada nueva en el menú de arranque, seleccionamos esta y ya lo tenemos.
PD: El conocimienro humano pertenece al mundo ;)


Autor: Kr0m -- 15/08/2013 22:09:44