Quantcast
Channel: Fedora People
Viewing all articles
Browse latest Browse all 29900

Alvaro Castillo: Compilando nuestro propio kernel en Fedora

$
0
0
Hace ya un tiempo que no escribo, y ya estoy de vuelta, y de vuelta con un pequeño tutorial para compilar nuestro propio kernel Linux "vanilla" sin nada de "Debian way", "Fedora way", eso puede quedar en el trastero con los juguetes.

¿Para qué compilar nuestro kernel?, Hay muchas razones para hacerlo, entre ellas, aumentar el soporte de nuestro hardware, o reducirlo para que no sea más liviano, o bien para que aproveche mucho más nuestro PC y un largo etcétera.

A día de hoy, es muy fácil compilar un kernel de Linux (seguro en el pasado también), además de que, disponemos de una interfaz ncurses entre otras, que nos permite seleccionar las opciones, hardware soportado... que queremos para nuestro kernel, también hay otra de forma gráfica con xconfig, otra a modo texto y preguntas....en fin, nosotros nos decantaremos por ncurses, sencilla, fácil, intuitiva, sin necesidad de usar X.org y sin posibles fallos. Ok, ¡vamos allá!


Instalamos el soporte LSB y herramientas para compilar
$ su -c "gcc binutils akmods ncurses-devel rpmdevtools redhat-lsb redhat-lsb-core redhat-lsb-cxx redhat-lsb-desktop redhat-lsb-graphics redhat-lsb-languages redhat-lsb-printing redhat-lsb-submod-multimedia redhat-lsb-security redhat-lsb-trialuse"
Descargamos la última versión del kernel desde kernel.org, preferible que sea una versión estable, por supuesto. Actualmente es 3.5.2.*

Una vez descargada copiamos el linux*.tar.bz2 , y lo descomprimimos:
$ su -
# cp /directorio_donde_esté/el/linux*.tar.bz2 /usr/src/kernels
# cd /usr/src/kernels
# tar xvf linux*.tar.bz2
Configuramos las opciones, funciones... que tendrá nuestro futuro kernel.
$ su -
# cd /usr/src/kernels/linux-*
# make menuconfig
Saldrá una ventana como esta bien presentada y bonita.


Una vez terminada nuestro .config, guardamos los cambios y procedemos a compilar nuestro kernel.
  • Nota: Si dispones de muchos núcleos, puedes optimizar la compilación con la opción -jX, donde X= es un número que depende de los núcleos que tenga el procesador. Por ejemplo, si dispones de 1 núcleo, el número es 2, si son dos núcleos, el número que corresponde es 3, 4 núcleos el número es 6...et
¡ Compilamos! (Suponiendo que tienes dos núcleos)
# make -j3
¡Instalamos!
# make modules_install
# make install
Reiniciamos he iniciamos con nuestro kernel nuevo listado en nuestro GRUB. Una vez iniciado, (suponiendo que usamos drivers NVIDIA de RPM Fusion), nos daremos cuenta de que no disponemos del servidor X.org que no inicia nuestro KDE, GNOME... eso es porque estamos usando nuestro kernel, y debemos recompilar los módulos.

Pulsamos Alt+F2, y nos logueamos.

Después, ejecutamos:
$ su -
# init 3
# service akmods restart
# akmods
Si nos sale un mensaje como el siguiente (no sale FAILED, pero si AVISO)
Nos listará un mensaje como este:
Checking kmods exist for 3.5.2-AMD-Athlon                  [  OK  ]
Ignoring nvidia-kmod as it failed earlier                  [AVISO]

Hint: Some kmods were ignored or failed to build or install.
You can try to rebuild and install them by by calling
'/usr/sbin/akmods --force' as root.
Ejecutamos:
/usr/sbin/akmods --force
Nuevamente revisamos que todo esté OK:
# akmods
Checking kmods exist for 3.5.2-AMD-Athlon                  [  OK  ]
Ignoring nvidia-kmod as it failed earlier                  [  OK  ]
Iniciamos nuestro entorno gráfico
# init 5
Y listo, tendremos nuestro kernel.

Para que YUM no nos de "problemillas", o nos reemplace nuestro kernel por el suyo, añade en el fichero /etc/yum.conf
exclude=kernel-*
¡Saludos!
  • Nota: El ejemplo del driver gráfico es por si usamos NVIDIA, pero si por ejemplo tenemos VirtualBox-OSE, u otro programa que precise de un módulo para nuestro kernel, solo hay que obviar los "init X"
  • Curiosidad: Se pueden generar paquetes de nuestro kernel para exportarlo, para ello hay que usar el comando # make -jX rpm y los RPM se almacenarán en el directorio /root/rpmbuild/. Esto es gracias a que, Fedora y las distros basadas en .RPM respetan los estándares que nos ofrece la LSB, llamada Linux Standard Base. Si se fijan, no existe # make deb en Debian o distribuciones Linux basadas en .DEB

Viewing all articles
Browse latest Browse all 29900

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>