- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在全新的 Ubuntu 安装中,我已经安装了 build-essential 包,以及其他我用来为我的 PC 编译 Nvidia 驱动程序的包。意味着内核和模块编译在 PC 上运行。
现在在同一台 PC 上,我尝试使用基于 gcc 4.4.3 的 Google NDK 工具链交叉编译 Android linux 内核。
编译进行得很顺利,但是最后,它给出了以下输出:
CHK include/linux/version.h
CHK include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
Building modules, stage 2.
MODPOST 0 modules
在调用“make menuconfig”然后执行“make”之前,我已经完成了“make prepare”。
请注意,构建服务器上的同一个工具链可以处理从 git 存储库克隆的相同文件。简而言之,相同的内核源代码,相同的工具链,在服务器上构建模块,不在我的 PC 上构建任何模块。
.config 启用了“可加载模块支持”。
$cat modules.order
kernel/drivers/scsi/scsi_wait_scan.ko
kernel/drivers/net/wireless/bcmdhd/dhd.ko
kernel/drivers/net/wireless/btlock/btlock.ko
kernel/drivers/net/tun.ko
Makefile 具有正确的 obj-m 和 obj-$ 设置,这一点在一台 PC 上运行的事实中也很明显。
我很乐意了解为什么我无法让我的 PC 为我的 Android 内核编译模块。
最佳答案
经过大量搜索,我找到了答案。
我在这里分享它是因为几乎无法想象有人会认为这就是这个问题的原因!
我已将 GREP_OPTIONS 设置为自动提供颜色,并对结果进行编号。似乎构建模块的脚本依赖于 grep,而且似乎搞砸了。
取消设置 envt 变量使其成功执行 modpost。
所以解决方案是:
GREP_OPTIONS=
并从配置文件和 .bashrc 脚本中删除设置。
关于android - 无法在 Android 内核 : MODPOST 0 modules 上编译模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14011230/
我无法在我的机器上构建任何内核模块。每当我构建一个模块时,modpost 总是说有零个模块: MODPOST 0 modules 为了排查问题,我写了一个测试模块(hello.c): #include
我使用 git 克隆了 linux 存储库。从那里我分支并编辑了一个文件。现在尝试使用 进行构建时 make M=path/to/directory 我得到错误: Building modules,
在全新的 Ubuntu 安装中,我已经安装了 build-essential 包,以及其他我用来为我的 PC 编译 Nvidia 驱动程序的包。意味着内核和模块编译在 PC 上运行。 现在在同一台 P
我是一名优秀的程序员,十分优秀!