Compilar tu propio Kernel para LMDE para muy, muy novatos
Compilar tu
propio Kernel para LMDE para muy, muy novatos, ( modo en que a mi me funciona )
Antes que nada decir que este tutorial el primero que hago, en realidad es una mezcla de muchos otros que hay en los foros, pero ,me he decidido ha realizar este tutorial, porque ninguno de los que hay por internet me funcionaba al 100% por que faltaban paquetes o librerias o por incompatibilidad con LMDE.
Así que he decidido hacer para mi, este manual y compartirlo con todos.
Lo primero que necesitamos para compilar nuestro kernel es tener los binarios y las herramientas necesarias:
- build-essential
- kernel-package
Comprobamos una ves descargados los paquetes anteriores que no nos falte las siguientes librerías de desarrollo:
- GCC - (4.7.2)
- Make - (3.82)
- Qt - (3.3.8b) - (si vamos a usar la interfaz gráfica Qt con make xconfig)
Si nos falta alguna podemos instalarlas desde Synaptic o con apt-install.
En terminal :
$ sudo apt-get install build-essential kernel-package make gcc qt4-dev-tools libqt4-dev libqt4-core libqt4-gui
Una vez preparado nuestro Linux, necesitamos descargar las fuentes del kernel de www.kernel.org y descargamos la versión de kernel que queremos compilar, yo para este caso he descargado la ultima versión estable 3.7.1. Cuando termine la descarga tendremos un fichero linux-3.7.1.tar.bz2.Copiamos este fichero en la ruta /usr/src desde el navegador de archivos como root o desde la terminal. Para abrir el navegador de archivos como root en terminal : sudo caja.
Para copiar el fichero directamente en la terminal con linea de comando:
$ sudo cp /home/usuario/Descargas/linux-3.7.1.tar.bz2 /usr/src/
Cambiar usuario por el nombre que uséis vosotros como usuario.
Una vez copiado el fichero linux-3.7.1.tar.bz2 en el directorio anterior vamos a descomprimirlo, como siempre con el navegador de fichero “caja” con privilegios de usuario o desde la terminal, primero vamos al directorio:
$ cd /usr/src
Una vez en el directorio lo descomprimimos:
$ sudo tar xvjf linux-3.7.1.tar.bz2
Bueno ya tenemos creada la carpeta linux-3.7.1 y aquí tenemos todo lo necesario para compilar nuestro kernel.
En este punto todos es conveniente crear un enlace simbólico al código fuente del kernel, no me pregunten porque, ya que en todos los tutoriales leídos todos lo recomiendan pero nadie explica el porque.
En la terminal escribimos:
$ sudo ln -s linux-3.7.1 linux
Ahora vamos al enlace simbólico:
$ cd linux
Ahora vamos a trabajas desde dentro del directorio linux, así en la terminal os aparcera toda esta linea:
javier@lmde:/usr/src/linux$
En al ventana terminal aparecerá así:
Desde el directorio corremos el siguiente comando para asegurarnos que el árbol de las fuentes este limpio ( muy recomendable si no es la primera vez que compiláis esta versión de kernel ).
$ sudo make mrporper
Ahora llega la hora de configurar nuestro kernel, y aquí todos los tutoriales que he leído eran muy difusos ya que te dan unas series de opciones pero no explican lo que va a pasar.
Vamos a conectar todos los dispositivos que queremos que entre en el núcleo a nuestra pc como ser pendrive impresora discos externos todo los dispositivos usb ya que si haces los siguientes comandos sin haber conectado estos dispositivos el kernel no los detectara.
Ejecutamos:
$ sudo make localmodconfig
Como ya trabaje con el comando solo me aparece esto pero la primera ves que lo activéis saldrán una serie de lineas preguntando sobre la implementación de controladores nuevos al kernel, aquí hay que tener cuidado con lo que contestamos Yes o No.
Yo lo que no esta claro le digo No. Luego desde la ventana de configuración gráfica se puede modificar.
Ahora ejecutamos este otro comando:
$ sudo make localyesconfig
Lo que hace esto es similar al anterior nada mas que esta vez no agrega como módulos sino como pertenecientes al núcleo. En esta ventana saldrán nuevamente lineas preguntando por que módulos cargar, en la captura no aparecen porque no es la primera vez que ejecuto el comando.
Ahora ya tenemos listo para ser compilado, pero vamos a utilizar la aplicación xconfig para verificar que nos ha cargado en el kernel estos módulos:
$ sudo make xconfig
Esto abrirá la consola gráfica para configuración del kernel, en ella repasamos todos los controladores que nos ha cargado el sistema predefinidamente, y cambiamos los que creamos conveniente:
Yo en este punto siempre quito o agrego lo siguiente:
En partition types: quito todo solo dejo el soporte para PC Bios y sus submenus. Y tambien dejo soporte para Sun el actual Solaris. Todas los otros soportes tipo amiga, machintos etc para que los quiero.
Otra caracteristica importante es el CPU Frecuency scaling, aquí lo que seleccionamos es el tipo de gobernador para nuestra CPU, el gobernador no es mas que un controlador que regula la velocidad de trabajo de la CPU, yo no lo suelo tocar, pero si tienes un pc portatil tal vez te interesa seleccionar ondemand o conservative para aumentar la duracion de la bateria.
Quito todo lo que no tiene mi PC de sobremesa, Amateur radio suport, IrDA ( es el puerto de infrarojos), Bluetooth, ya que no tengo, Wireless, Wimax, RF, vamos todos los modulos que se que no tengo y que te mete el kernel generico.
En grafic suport activo Nouveau (nVidia) cards, ninguna mas. Si tienes otro modelo activa el soporte para ella.
Activo el Bootsplash screen y Bootup logo. ( OJo para activar el BootSplash screen hay que aplicar un parche al kernel, pero eso es otro tema).
En el apartado de USB le presto mucha atencion a los modulos cargados, yo he pasado de 9 Mb/s de trasnferencia a 20Mb/s configurando las opciones. Son muchas y no puedo poner todas pero alguna que recuerdo es la USB Mass Storage verbose support.
MMC/SD/SDIO yo no lo teia activo pero es necesario activalo si quieres leer SD o MMC.
Legamos a el apartado File systems, aquí doy soporte a todo, aunque por desgracia el kernel sigue sin llevar el soposrte para ZFS, tiene el Fuse-zfs pero no detecta mi partcion de OpenIndiana.
En CD-ROM filesystem doy soporte a todos los sistemas de archivos para no tener lios.
En DOS/FAT/NT doy soporte a todo.
Kernel hacking doy soporte a todo dejando.
En Security options activo el Selinux ( buscar en wiki para saber somo instalar y configurar luego )
Como habreis podido observar en el menu grafico al pinchar en cada una de las diferentes opciones del kerne nos muestra una descripcio de la funcion que realiza.
Llegados a este punto salvamos el fichero y salimos.
Ahora de nuevo desde la terminal ejecutamos:
$ sudo make clean
Con lo que limpiaremos todos los modulos que no vayamos a usar.
Ahora solo nos queda compilar e instalar el Kernel, la duracion de la compilacion depende de la potencia de nuetro pc y de la cantidad de moculos a compilar.
En la termina ejecutamos el siguiente comano como root:
# make-kpkg --initrd –append-to-version=-kernel-3.7.1-1-amd64 --revision 3.7.1-1 kernel_image kernel_headers
--initrd da la orden de que genere el archivo initrd.img
--append-to-version=” colocamos como queremos que se llame nuestro kernel
--revision va a ser la revision de empaquetada
kernel_image generara el linux-image-xxxx.deb (nuestro kernel)
kernel_headers generara linux-headers-xxxx.deb (las cabeceras de nuestro kernel)
Ahora ya solo nos falta instalar el kernel con este comando:
# sudo cd .. && dpkg -i *.deb
Una vez instalado si no ha salido ningun, al reinicniar el pc arrancara con el nuevo kernel.
Las ventajas de compilar tu propio kernel son enormes ya que el tiempo de arranque es mucho menor, no consume tantos recursos en tu pc, etc...
Atencion los que drivers privativos, es recomendable desinstalar el driver y cuando arranques con el nuevo kernel volver a instalar el driver de Nvidia o ATI.
Si no te arranaca el kernel compilado no pasa nada, selecciona el que tenias antes de instalar tu nuevo kernel y arranaca con ese.
Para desinstalar el kernel es tan secillo como ir al Synaptic y buscar el nombre que le has dado al kernel y seleccionar para desinstalara.
Espero que este tutorial solucione los problemas iniciales que tube yo al intentar compilar el kernel, sobre todo porque soy muy novato en linux, pero si yo pude tu tambien.
Otra forma de terner simpre la ultima version del kernel en LMDE es añadiendo los repositorios siguientes al sources.list, pero piensa que el Kernel sera generico, es decir cargala muchos modulos que seguro no necesitas.
deb http://liquorix.net/debian sid main
deb-src http://liquorix.net/debian sid main
Para mas informacion sobre liquorix:
Comentarios
Publicar un comentario