android kernel_modules
时间: 2023-02-06 07:37:11 浏览: 64
Android 中的 kernel_modules 是指可加载到内核空间的模块。它们在内核中执行,并且可以为系统提供新的功能或改进现有功能。kernel_modules 可以使用内核的函数和数据结构,并且可以访问系统的硬件和软件资源。它们通常用于扩展系统的驱动程序功能,或者为系统提供新的硬件或软件支持。
相关问题
BOARD_VENDOR_KERNEL_MODULES
`BOARD_VENDOR_KERNEL_MODULES` 是一个 Android make 变量,用于指定需要在编译 Android 系统内核时编译的第三方内核模块。
在 Android 系统编译过程中,通常会使用 `make` 命令进行编译,而 `make` 命令会根据 Android 源码树中的 `Makefile` 文件来执行编译操作。`BOARD_VENDOR_KERNEL_MODULES` 就是在 `Makefile` 文件中定义的一个变量,用于指定需要编译的第三方内核模块。
`BOARD_VENDOR_KERNEL_MODULES` 变量的值通常是一个空格分隔的模块列表,例如:
```
BOARD_VENDOR_KERNEL_MODULES := module1 module2 module3
```
上述代码中,我们指定了需要编译的三个内核模块,它们的名称分别为 `module1`、`module2` 和 `module3`。
需要注意的是,`BOARD_VENDOR_KERNEL_MODULES` 变量只会在编译 Android 系统内核时起作用,不会影响应用程序的编译。另外,它也只是一个建议,具体是否编译这些内核模块,还要根据系统配置和编译器支持情况来进行判断。
CONFIG_DEBUG_INFO已经启用,但是执行RECOMPILE_KERNEL=1 ./kernel_platform/build/android/prepare_vendor.sh gen3auto gki无法生成vmlinux.symvers
这个问题可能是由于缺少某些依赖项导致的。你可以尝试执行以下步骤来解决这个问题:
1. 确保已经安装了编译内核所需的所有依赖项。你可以通过运行以下命令来安装缺失的依赖项:
```
sudo apt-get install build-essential libssl-dev libncurses5-dev libelf-dev
```
2. 确保你的内核配置文件中已经启用了CONFIG_DEBUG_INFO选项。你可以通过运行以下命令来检查:
```
grep CONFIG_DEBUG_INFO /path/to/kernel/config
```
如果输出中没有CONFIG_DEBUG_INFO,则需要在内核配置文件中手动启用该选项。
3. 确保你的内核配置文件中已经启用了CONFIG_DEBUG_KERNEL选项。你可以通过运行以下命令来检查:
```
grep CONFIG_DEBUG_KERNEL /path/to/kernel/config
```
如果输出中没有CONFIG_DEBUG_KERNEL,则需要在内核配置文件中手动启用该选项。
4. 确保你的内核源代码中包含所需的vmlinux.symvers文件。如果没有,则需要重新编译内核以生成该文件。可以尝试运行以下命令:
```
make modules_prepare
```
然后再重新执行RECOMPILE_KERNEL=1 ./kernel_platform/build/android/prepare_vendor.sh gen3auto gki命令。
如果你遵循了上述步骤仍然无法生成vmlinux.symvers文件,那么可能需要更进一步的排查和调试来解决问题。