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 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/pciutils

 

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 vritio:

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:08:44