[FrontPage] [TitleIndex] [WordIndex

This is a read-only archived version of wiki.centos.org

Necesito los fuentes del núcleo

Created by JohnnyHughes. Currently maintained by AlanBartlett and AkemiYagi.

<<TableOfContents: execution failed [Argument "maxdepth" must be an integer value, not "[1]"] (see also the log)>>

1. Quizás usted no necesite los fuentes completos del núcleo

Si necesita compilar un módulo de driver del núcleo, es probable que en realidad no necesite el árbol de fuentes completo del núcleo. Quizás únicamente necesite el paquete kernel-devel. Sin embargo, si está seguro de que se requiere el árbol completo de fuentes, por favor siga las instrucciones en la Sección 2.

En CentOS-5, hay tres paquetes kernel-devel disponibles:

En CentOS-4, hay cuatro paquetes kernel-devel disponibles:

Si usted está corriendo el núcleo standard (por ejemplo), puede instalar el paquete kernel-devel haciendo:

[root@host]# yum install kernel-devel

Puede usar este comando para determinar la versión de su núcleo actualmente en ejecución:

[root@host]# uname -r

El resultado se verá parecido a esto:

2.6.18-164.15.1.el5xen

En este caso, está instalado el núcleo xen, y la forma de instalar este paquete kernel-devel específico es:

[root@host]# yum install kernel-xen-devel

<!> Verifique que ha instalado el paquete kernel-devel que coincide con su núcleo actualmente en ejecución. Ver esta FAQ para más detalles.

Para información más específica sobre los núcleos disponibles por favor diríjase a las siguientes notas de entrega (Release Notes):

Si su núcleo no aparece listado por yum porque está en un árbol más antiguo, puede descargarlo manualmente del CentOS Vault. Busque la versión de CentOS que le interesa y entonces, para la arquitectura deseada (arch), diríjase a los directorios os/arch/CentOS/RPMS/ o en updates/arch/RPMS/ y busque el archivo kernel[-type]-devel-version.arch.rpm

Una vez que tenga el archivo kernel[-type]-devel-version.arch.rpm instalado, trate de compilar su módulo. Debería funcionar de esta manera. Si no es así, por favor infórmelo al desarrollador del módulo, ya que ésta es la forma en que todos los nuevos módulos del núcleo deberían estar diseñados para funcionar.

2. Si realmente necesita los fuentes completos

Si realmente necesita tener el árbol de fuentes del núcleo, por el motivo que sea, es obtenible.

2.1. CentOS 4 y 5

Como root, instale los paquetes rpm-build, redhat-rpm-config y unifdef:

[root@host]# yum install rpm-build redhat-rpm-config unifdef

Como usuario ordinario, no root, cree un árbol de directorio basado en ~/rpmbuild:

[user@host]$ cd
[user@host]$ mkdir -p rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
[user@host]$ echo '%_topdir %(echo $HOME)/rpmbuild' > .rpmmacros

<!> Se le aconseja no compilar paquetes como root. (Ver: Building Source RPM as non-root under CentOS)

Busque el rpm de fuentes del núcleo en:

(Cambie el "5" por "4" si desea núcleos CentOS-4)

(Elija <version>/updates/SRPMS o <version>/os/SRPMS)

Cuando haya ubicado el archivo fuente, puede instalarlo ejecutando, por ejemplo:

[user@host]$ rpm -i http://mirror.centos.org/centos/5/updates/SRPMS/kernel-2.6.18-164.15.1.el5.src.rpm 2>&1 | grep -v mockb

(para CentOS 5)

- o bien -

[user@host]$ rpm -i http://mirror.centos.org/centos/4/updates/SRPMS/kernel-2.6.9-89.0.20.EL.src.rpm 2>&1 | grep -v mockb

(para CentOS 4)

Ahora que está instalado el rpm fuente, desempaquete y prepare los archivos fuente:

[user@host]$ cd ~/rpmbuild/SPECS
[user@host SPECS]$ rpmbuild -bp --target=`uname -m` kernel-2.6.spec 2> prep-err.log | tee prep-out.log

El valor de `uname -m` fija --target a la arquitectura de su núcleo actual. Esto está generalmente aceptado y la mayor parte de la gente tendrá i686 o x86_64. <!> Nótese que se trata de caracteres backtick o acentos graves, no comillas simples o apóstrofos. El árbol de fuentes del núcleo quedará ahora en el directorio ~/rpmbuild/BUILD/.

2.2. CentOS 3

Puede instalar los fuentes del núcleo así:

[root@host]# yum install kernel-source 

Si su núcleo no aparece listado por yum porque está en un árbol más antiguo, puede descargarlo manualmente del CentOS Vault. Busque la versión de CentOS que le interesa y entonces, para la arquitectura deseada (arch), diríjase a los directorios os/arch/CentOS/RPMS/ o en updates/arch/RPMS/ y busque el archivo kernel[-type]-devel-version.arch.rpm

Luego podrá instalarlo haciendo:

[root@host]# rpm -Uvh kernel-source-<version>.<arch>.rpm

2023-09-11 07:23