Un mecanismo de compilación del kernel que los ingenieros de controladores de Linux deben conocer

El proceso principal de compilación del kernel de Linux: configuración, compilación e instalación .

  • La configuración se realiza principalmente Kconfigproporcionando una interfaz gráfica
  • La compilación se basa principalmente en Kbuildel sistema de compilación, y la ejecución makecompleta la compilación.
  • La instalación se basa principalmente en Kbuildel script proporcionado y luego se ejecuta makepara completar la instalación.

Kconfig

KconfigPara la configuración del kernel, make menuconfigel menú desplegado proviene de Kconfig.

make menuconfigEl menú incluye múltiples capas, y cada capa se Kconfiggenera correspondientemente en cada directorio.Después de seleccionar la configuración, el resultado de la configuración se guardará en .configel archivo.

Al ejecutarse Makefile, la compilación del kernel Makefilese .configrealizará según el resultado de.

Sintaxis de Kconfig

Kconstruir

KbuildEs decir Kernel build, es un sistema de compilación para el kernel.

En términos simples, Kbuildes Makefileuna extensión de las funciones gramaticales.

Por ejemplo, kbuildse definen muchas variables útiles, como obj-m`` obj-y, -objsetc., siempre que el usuario asigne valores a estas variables, kbuildel código se compilará automáticamente en el kernel o se compilará en un módulo.

LinuxCuando se compila el kernel kbuild, escaneará dos veces Linux: Makefileprimero leerá el archivo de nivel superior y luego leerá el archivo kbuild por segunda vez para compilar el kernel Makefilede acuerdo con el contenido leído .MakefileLinux

El núcleo Makefileconsta de cinco partes:

 Información a través del tren: ruta de aprendizaje de la tecnología del código fuente del kernel de Linux + video tutorial del código fuente del kernel

Aprendizaje a través del entrenamiento: código fuente del kernel de Linux, ajuste de memoria, sistema de archivos, gestión de procesos, controlador de dispositivo/pila de protocolo de red

Makefile

El nivel superior Makefilees la entrada compilada, analicemos el Makefilearchivo de nivel superior.

El nivel superior Makefilepasará alguna información a cada subdirectorio Makefile, algunas variables, por ejemplo , no solo se definen y asignan vmlinux-dirsen el nivel superior , sino que también se expanden.Makefilearch/*/Makefile

 

 

Supongo que te gusta

Origin blog.csdn.net/youzhangjing_/article/details/132147531
Recomendado
Clasificación