【问题标题】:add similar header files in goldfish kernel在金鱼内核中添加类似的头文件
【发布时间】:2016-06-09 19:42:48
【问题描述】:

我写了可加载内核模块并在手机上测试它,但现在我想在模拟器上测试它。 我使用msm kernel 构建该模块,并在msm kernel 中使用一些标头,例如

msm_smd.h

但是模拟器使用金鱼内核并且不包含那个头文件。 有什么方法可以使用 msm 内核并在模拟器上启动它(我问 bcz 我构建它但 msm 内核不在模拟器上启动)? 或者我怎样才能找到金鱼内核的类似标题? 真的需要帮助

【问题讨论】:

  • 好问题,但很难回答,几个月前我完成了你的任务,我将在下面的单独答案中向你解释

标签: android c kernel-module


【解决方案1】:

将 msm 内核移植到金鱼板(即 Android 模拟器所基于的谷歌虚拟板)是一种繁琐的方法,需要专家。所以,我建议你找到你预先构建的金鱼内核的确切源代码,将你的模块集成到其中,重新编译并测试它。 但是,我仍然可以为您提供将 msm 内核(或任何其他内核)移植到金鱼板所需的所有步骤,如果确实需要

如果您使用的是金鱼内核 3.4(默认 SDK 模拟器上的内核版本),那么这里是 AOSP 上的源代码: https://android.googlesource.com/kernel/goldfish/+/android-goldfish-3.4

可以使用 adb 实用程序将内核版本转储到屏幕:

adb shell cat /proc/version

编译金鱼内核需要先安装arm eabi交叉编译工具链:

git 克隆 https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8

bin 目录添加到 PATH 变量中,因为它包含所需的编译器和链接器

导出 ARCH=arm

导出 SUBARCH=arm

export CROSS_COMPILE=arm-eabi-

制作 goldfish_armv7_defconfig

make -j4

编译成功后,可以在下面找到内核镜像: $KERNEL_SRC/arch/arm/boot/zImage

现在,备份您的默认 SDK 金鱼内核(即命名为 kernel-qemu),然后使用新构建的 zImage 代替它

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2017-02-10
    • 2014-09-28
    • 1970-01-01
    • 2016-06-28
    • 2013-10-21
    • 1970-01-01
    • 2019-01-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多