Red de conocimiento informático - Conocimiento informático - ¿Cómo crear archivos de encabezado del kernel de Linux para el desarrollo de módulos del kernel a partir del árbol de código fuente de Linux?

¿Cómo crear archivos de encabezado del kernel de Linux para el desarrollo de módulos del kernel a partir del árbol de código fuente de Linux?

Primero verifique la versión del kernel utilizada por su sistema operativo

shana@shana:~$ uname -r

2.6.22-14-generic

Si instala Cuando el sistema esté instalado, el código fuente se instalará automáticamente. Hay un directorio correspondiente a la versión utilizada en el directorio /usr/src. Por ejemplo (lo hice yo mismo)

shana@shana:/usr/src$ ls

linux-headers-2.6.22-14

linux- encabezados -2.6.22-14-generic

linux-source- 2.6.22

linux-source-2.6.22.tar.bz2

shana@ shana :/usr/src$

Si no tienes el código fuente. (Usualmente ubuntu no lo tiene).

Ver el paquete de código fuente descargable (no use este comando como superusuario, de lo contrario...

shana@shana:/usr /src$

Elegí linux-source-2.6.22: el código fuente del kernel de Linux de la versión 2.6.22, incluidos los parches de Ubuntu ~

Luego instálelo

shana@shana:/usr/src$ sudo apt-get install linux-source-2.6.22

Una vez completada la descarga, en /usr/src, el nombre del archivo es: linux-source- 2.6.22.tar.bz2, es un paquete comprimido Después de la descompresión, puede obtener el código fuente de todo el kernel:

Tenga en cuenta que ha cambiado al modo de superusuario

root@shana: /usr/src#tar jxvf linux-source-2.6.20.tar.bz2

Después de la descompresión, se creará un nuevo directorio /usr/src/linux-source-2.6.22 , todas las fuentes El código está en este directorio.

Ingrese al directorio

Comience a configurar el kernel y elija la forma más rápida de configurar el kernel original (predeterminado) (esto es lo que hice). )

root@shana:/usr/src/linux-source-2.6.22# make oldconfig

Por supuesto, también puedes configurar el kernel a tu manera, como menuconfig, menuconfig y menuconfig Por supuesto, también puedes usar tu configuración favorita, como menuconfig, xconfig (debes tener un entorno GTK, ¿verdad?) En resumen, no tienes que cortar nada, así que puedes configurarlo. como quieras.

Después de completar, comienza la producción. El tiempo de producción aquí suele ser relativamente largo, aproximadamente 1 hora (asegúrate de tener suficiente espacio. Usé 1.8G después de la compilación). 30G de espacio en el directorio /, pero no hay espacio. Este problema Yo no encontré este problema, pero mi amigo

shana@shana: /usr/src/linux-source-2.6. .22$ make

shana@shana:/usr/src/linux-source-2.6.22$ make bzImage

Por supuesto, no es necesario crear bzImage para primer tiempo.

Por supuesto, también puedes crear solo bzImage sin ejecutar la primera creación. Una vez completada la ejecución, puede ver que se crea un nuevo archivo en el directorio actual: vmlinux con el atributo -rwxr-xr-x.

Entonces:

root@shana:/usr/src/linux-source-2.6.22#make module

root@shana:/usr/src /linux-source-2.6.22#make module_install

Después de la ejecución, se creará un nuevo directorio /lib/modules/2.6 en /lib/modules -generic/

22. -14. El directorio de compilación bajo esta ruta se utilizará para la compilación de archivos de módulo posteriores. En este punto, se completa la compilación del kernel. Puede reiniciar el sistema.

El árbol del núcleo ya está construido.