¿Cómo instalo los archivos de encabezado del núcleo?

85

quiero escribir un controlador de dispositivo pero no puedo encontrar el archivo de cabecera, ¿alguien puede ayudarme a encontrarlo? También si alguien puede señalar algunos enlaces importantes del sitio que serían realmente apreciados

descifrador
fuente

Respuestas:

118

Debería poder instalar los archivos de encabezado del núcleo para el núcleo actualmente en ejecución ejecutando lo siguiente en un terminal:

sudo apt-get install linux-headers-$(uname -r)

En general, los paquetes de encabezado del núcleo se denominan linux-header- * donde "*" indica la versión y la variante (genérico, servidor, etc.).

JanC
fuente
3
Hola, gracias, pero ¿podrías decirme qué significa genérico, servidor, etc. , que quiero escribir (controlador del kernel)
codificador
8
Esto no instalará los encabezados para futuras actualizaciones automáticamente y tendrá que volver a ejecutar este comando cada vez. Por lo tanto, se recomienda instalar el metapaquete, como se describe en otra respuesta .
gertvdijk
Nota: esto no los pone en la ruta de inclusión de GCC, todavía necesita -I.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
1
Nota: Para que esto funcione, la línea apropiada deb-srcdebe estar presente en /etc/apt/sources.list.
Vorac
87

Solo puedes escribir:

sudo apt-get install linux-headers-generic

si estás en una instalación de escritorio. El apt-get resolverá las dependencias e instalará la versión correcta de los encabezados del núcleo.

Alexandre Teles
fuente
15
y Ubuntu también los actualizará cuando salga una nueva versión
Csq
3
O linux-headers-virtualsi está ejecutando una VM en una instancia de Openstack ...
BSchlinker
1
En Debian Wheezy aparece
IQAndreas
44
@IQAndreas el linux-headers-genericpaquete es específico de ubuntu. En Debian deberías usarsudo apt-get install linux-headers-$(uname -r)
Alexandre Teles
14

Esto debería cubrir otro problema cuando: el núcleo en ejecución está obsoleto, lo que significa que ya no está en el repositorio ni sus encabezados. Entonces, lo mejor que puede hacer es actualizar el kernel a la última versión en el repositorio.

linux-generices un metapaquete para mantener la versión actual del núcleo y sus encabezados :

sudo apt-get update
sudo apt-get install linux-generic

Nota: Dependiendo de su edición de Ubuntu, vea si necesita linux-lowlatency(Ubuntu Studio), linux-signed-generico linux-virtual.

user.dz
fuente
1
Ninguna de las otras soluciones funcionó para mí al intentar instalar un controlador. Gracias.
Sopalajo de Arrierez
1
casi equivalente para debian se llama linux-headers-amd64(para sistemas AMD64, obviamente)
hanshenrik
1

O si tienes aptitude instalado: sudo aptitude install linux-headers-$(uname -r)

usuario1527227
fuente
55
Esencialmente lo mismo.
angulado
-1

Estos comandos deberían funcionar:

sudo apt-get dist-upgrade -y
systemctl reboot
sudo apt-get install linux-headers-$(uname -r)
sudo apt-get upgrade linux-headers-$(uname -r)

para una mejor instrucción vea este video

Zen Alex
fuente