¿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

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.).


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.


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.


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

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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.