在构建Android自定义ROM时构建可加载的内核模块

时间:2014-05-04 06:03:53

标签: android linux-kernel makefile

  1. 成功构建了金鱼内核。
  2. 使用预先构建的Goldfish内核成功构建了Android自定义ROM。
  3. 将模块源代码(例如Hello-Proc)和Makefile添加到自定义ROM中的一个文件夹。我可以通过在文件夹中发出“make”来手动成功构建 Hello-Proc.ko
  4. 构建ROM时,哪个makefile以及如何更改触发构建此模块以便 Hello-Proc.ko 将自动构建

    注意:金鱼内核代码不在Android自定义ROM中,而Android自定义ROM也不会构建金鱼内核。文件树看起来像这样。

    ├── android_AOSP
    │   ├── device
    │       ├── vendor_A 
    │           ├── product_A
    │           │   ├── AndroidBoard.mk
    │           │   ├── AndroidProducts.mk
    │           │   ├── BoardConfig.mk
    │           │   ├── device.mk
    │           │   ├── product_a.mk
    │           │   ├── system.prop
    │           │   └── vendorsetup.sh
    │           ├── modules
    │               ├── Android.mk
    │               ├── hello_proc
    │                  ├── Android.mk
    │                  ├── hello_proc.c
    │                  ├── Kbuild
    │                  ├── Makefile
    ├── goldfish
    

2 个答案:

答案 0 :(得分:0)

.ko是内核模块。它必须在Linux内核中构建和加载(在您的情况下是Goldfish)。你把它放在AOSP中是不正确的。 AOSP定义Android堆栈的用户空间及以上。

答案 1 :(得分:0)

事实上,AOSP构建配方不包括构建内核。它必须使用提供的工具链单独构建。如果您没有(http://source.android.com/source/building-kernels.html),请查看本指南。

要构建可加载的内核模块,请将代码添加到内核源代码(在上面的链接中找到repo)。