Creación de kernels personalizados con el sistema de empaquetado de kernels de Debian | ||
---|---|---|
Anterior | Siguiente |
Ahora se debe echar un vistazo a las fuentes del kernel para asegurarse que se tienen instalados todos los programas que se necesitan. El código fuente del kernel se encuentra por defecto instalado en el directorioi /usr/src Normalmente se necesita ser el usuario root para realizar los cambios que se harán a partir de aquí. Puesto que siempre se debe evitar ser root, se hará un truco que permitirá a un usuario normal realizar los cambios que se necesiten. Abra un terminal y teclee la siguiente orden (en este momento si se debe ser root para ejecutar este comando):
bash# addgroup nombre_usuario src Adding user nombre_usuario to group src... Done. |
Asegúrese de sustituir su nombre de usuario por nombre_usuario. Esta orden añade nombre_usuario al grupo src. Para que esta orden tenga efecto se debe salir y entrar de nuevo en la shell. Hay tres maneras de hacer esto:
Si está dentro de una ventana de terminal en las X, debe salir de las X, luego salir (logout) de la consola y finalmente volver a entrar.
Si está usando un gestor de login gráfico como xdm, gdm o kdm, simplemente debería salir de las X y volver a entrar.
Si está en la consola, simplemente salga y vuelva a entrar.
Para asegurarse de que la orden funcionó, ejecute el siguiente comando (después de haber hecho uno de los pasos anteriores):
bash$ groups nombre_usuario src |
Debería ver el grupo src como se muestra en el ejemplo. A continuación se creará el directorio de los ficheros fuente.
El directorio del código fuente del núcleo contiene todos los ficheros necesarios para compilar el núcleo. Vaya al directorio /usr/src para ver si se tiene todo lo que se necesita. Escriba lo siguiente:
bash$ cd /usr/src |
En ese directorio verá el fichero (comprimido con tar y bzip2) que instaló usando el comando apt-get (o comprimido con tar y gzip dependiendo de si usó apt-get o no):
bash:/usr/src$ ls kernel-source-2.2.19.tar.bz2 |
![]() | Si no descargó el código fuente del kernel desde un sitio Debian necesita comprobar que no tiene un enlace simbólico llamado linux en su directorio /usr/src. Si lo tiene, debería eliminarlo antes de descomprimir el código fuente. Si no lo elimina sobreescribirá el anterior código fuente con el nuevo, y a lo mejor el nuevo kernel no se compilará correctamente. Vaya a la sección Creación del enlace simbólico. Puede ignorar este aviso si descargó el código usando el comando apt-get que se comentó en la sección "¿Qué instalar?". |
Para descomprimir el fichero .tar.bz2 haga como usuario normal:
bash:/usr/src$ tar -xIf kernel-source-2.2.19.tar.bz2 |
Para descomprimir el fichero .tar.gz haga como usuario normal:
bash:/usr/src$ tar -xzf kernel-source-2.2.19.tar.gz |
Al descomprimirse creará un directorio con el nombre kernel-source-2.2.19. Dentro de ese directorio se encuentra otro llamado Documentation. Vaya a ese directorio y busque un fichero llamado Changes. Edite ese fichero con su editor de textos favorito y busque una sección llamada Current Minimal Requirements. Este es el aspecto que tiene el mio:
Ejemplo 1. Contenido parcial de /usr/src/kernel-source-2.2.19/Documentation/Changes
Current Minimal Requirements **************************** Upgrade to at *least* these software revisions before thinking you've encountered a bug! If you're unsure what version you're currently running, the suggested command should tell you. - Kernel modutils 2.1.121 ; insmod -V - Gnu C 2.7.2.3 ; gcc --version - Binutils 2.8.1.0.23 ; ld -v - Linux libc5 C Library 5.4.46 ; ls -l /lib/libc* - Linux libc6 C Library 2.0.7pre6 ; ls -l /lib/libc* - Dynamic Linker (ld.so) 1.9.9 ; ldd --version or ldd -v - Linux C++ Library 2.7.2.8 ; ls -l /usr/lib/libg++.so.* - Procps 2.0.3 ; ps --version - Procinfo 16 ; procinfo -v - Psmisc 17 ; pstree -V - Net-tools 1.52 ; hostname -V - Loadlin 1.6a - Sh-utils 1.16 ; basename --v - Autofs 3.1.3 ; automount --version - NFS 2.2beta40 ; showmount --version - Bash 1.14.7 ; bash -version - Ncpfs 2.2.0 ; ncpmount -v - Pcmcia-cs 3.0.14 ; cardmgr -V - PPP 2.3.10 ; pppd --version - Util-linux 2.9z ; chsh -v - isdn4k-utils v3.1beta7 ; isdnctrl 2>&1|grep version |
En el listado se puede ver las versiones mínimas de los programas que tiene instalados para que el nuevo kernel funcione sin problemas. En la primera columna aparece el nombre, en la segunda la versión mínima que deben poseer, y en la última columna la forma de comprobar su versión. Tenga en cuenta que no necesita todos los paquetes listados si no se están utilizando en su sistema (p.e. no necesitará el paquete pcmcia-cs si no tiene ninguna tarjeta pcmcia).
![]() | Tenga que en cuenta que el que escribió ese archivo fue un desarrollador/a del kernel basándose en la distribución de GNU/Linux que tenía, por lo que algunos de los comandos para comprobar la versión puede que no funcione en su Debian. Si le ocurre esto, intente averiguar la versión del comando siguiendo el siguiente ejemplo. |
bash:/usr/src$ man nombre_programa |
Sustituyendo nombre_programa por el nombre del programa que desea.
Una vez que se ha comprobado que se tiene instalado todo lo que se necesita, ahora se debe pasar a crear un enlace simbólico en el directorio del código fuente del kernel.
bash:/usr/src$ cd /usr/src |
Antes de establecer el enlace simbólico, compruebe que no tiene ya uno en ese directorio llamado linux. En el Ejemplo 2 se le indica como hacerlo. Si ya tiene uno puede ser debido a que ya se ha instalado o compilado un kernel antes. Asegúrese de borrar el enlace antiguo y crear uno nuevo que apunte al directorio del código fuente que se quiere compilar.
Para crear el enlace simbólico debe colocarse en el directorio /usr/src y teclear lo siguiente:
bash:/usr/src$ ln -s kernel-source-2.2.19 linux |
El formato es ln -s directorio_con_el_código_del_kernel linux.
Debe sustituir directorio_con_el_código_del_kernel por el directorio que se creó al descomprimir.
Para cerciorarse de que se hizo el enlace correctamente haga un ls -l. Debería aparecer lo siguiente.
Ejemplo 2. Enlace simbólico
Ahora que se ha creado el enlace simbólico se podrá pasar a configurar el kernel.