Estoy planeando escribir algunos controladores de dispositivo y necesito obtener la fuente del kernel de Linux. Mi versión de kernel de Linux es 3.2.0-23-generic-pae y descargué la imagen de esto . En muchos de los artículos que he leído, me dice que necesito tener todo el árbol del kernel para comenzar a insertar nuevos módulos.
¿Es suficiente si descargo esta imagen y la pego en la usr/src/
carpeta o tengo que hacer otra cosa?
Respuestas:
Esto obtendrá la fuente del núcleo de valores:
Puede verificar qué versión del núcleo se ejecuta de esta manera:
Lo cual imprimirá algo como:
Puede encontrar una lista de las versiones actuales del paquete fuente disponibles en su sistema a través de:
Para obtener la versión anterior del kernel:
En el enlace de arriba, 'confiable' es el nombre en clave para la versión de Ubuntu. Puede encontrar el nombre en clave de la versión de Ubuntu que ha instalado a través de:
fuente
apt-get source
noapt-get install
. Que el árbol de origen terminará en su ruta actual .Es la forma más fácil. Descargará la fuente de su repositorio, y será la misma que la versión que está ejecutando (suponiendo que aún no la haya personalizado).
Pero si desea encontrar dónde se mantiene la fuente, puede ejecutar:
Busque el atributo 'Vcs-' (Sistema de control de versiones). Por lo general, será un repositorio git (Vcs-Git) o mercurial.
Nota: estos comandos funcionan con cualquier paquete. Simplemente sustituya 'linux' con el paquete que le interesa. Y también tenga en cuenta que 'apt-get source' no necesita acceso a sudo y volcará la fuente en su directorio actual.
fuente
/usr/src
- no la fuente completa del núcleo - en Ubuntu 16.04Descargar fuente directamente desde Launchpad
Por extraño que parezca, todo el mundo recomienda
apt-get source
lo que no funciona la mayor parte del tiempo si está buscando una versión de kernel específica:Supongamos que necesita la fuente del núcleo para 3.19.0-58:
apt-get source linux-image-3.19.0-58-generic
obtendrá la fuente del último núcleo de la serie: 3.19.0-80 en este caso, que no es lo que solicitó.Así que tienes dos opciones:
1) Renunciar, instalar el kernel 3.19.0-80 y usar
apt-get source
2) Obtenga la fuente directamente desde la plataforma de lanzamiento:
Sitio de Google : launchpad.net "linux-image-3.19.0-58-generic"
Eso debería darte la página del paquete Launchpad para esa versión.
Desplácese hacia abajo, haga clic en el enlace "Fuente:", ahora está en la página Fuente del paquete .
Desplazamiento hacia abajo y descarga
.tar.gz
,.diff.gz
,.dsc
archivos:dpkg-source -x *.dsc
Notas:
fuente
Solo elige uno de:
Si le dicen que proporcione algunas URL de 'fuentes' en su
sources.list
, vaya a editar su/etc/apt/sources.list
archivo y elimine el comentario de ladeb-src
línea deseada , por ejemplo (si está ejecutando Xenial):La eliminación
#
de esta última línea habilita los repositorios de fuentes para descargar, incluidas las fuentes del núcleo.Observaciones:
apt-get
.4.4.0-75-generic
por ejemplo)./usr/src/linux-source-4.4.0/
(por ejemplo).fuente