已经在defcong里配置了编译drm_of.c,并且drm_of.c里已经配置了EXPORT_SYMBOL_GPL(drm_of_lvds_get_dual_link_pixel_order)但是通过RECOMPILE_KERNEL=1 ./kernel_platform/build/android/prepare_vendor.sh gen3auto gki编译后vmlinux.symvers并没更新drm_of_lvds_get_dual_link_pixel_order
时间: 2023-07-31 20:07:26 浏览: 140
如果你已经在drm_of.c中添加了EXPORT_SYMBOL_GPL(drm_of_lvds_get_dual_link_pixel_order)并且重新编译了内核,但是vmlinux.symvers并没有更新该符号,则可能是编译内核时使用的命令不正确。请尝试手动执行以下步骤:
1. 进入内核源码目录:
```
cd /path/to/kernel/source/
```
2. 清理之前的编译结果:
```
make clean
```
3. 配置内核编译选项:
```
make ARCH=arm64 O=out CROSS_COMPILE=aarch64-linux-android- defconfig <your_defconfig>
```
其中<your_defconfig>是你之前使用的内核配置文件。
4. 编译内核:
```
make ARCH=arm64 O=out CROSS_COMPILE=aarch64-linux-android- -j$(nproc)
```
其中-j$(nproc)表示使用所有可用的CPU核心来编译内核。
5. 生成vmlinux.symvers文件:
```
make ARCH=arm64 O=out CROSS_COMPILE=aarch64-linux-android- modules_prepare
```
6. 检查vmlinux.symvers文件是否包含drm_of_lvds_get_dual_link_pixel_order:
```
grep -w drm_of_lvds_get_dual_link_pixel_order ./vmlinux.symvers
```
如果该符号存在,则说明你的内核编译已经成功更新了该符号。如果该符号不存在,则说明你的内核编译可能存在问题,请仔细检查编译过程中的错误信息并进行修复。
阅读全文