安装模块后,使用交叉编译重新启动配置过程。

3

我正在使用我的笔记本电脑 Ubuntu 14.04 为我的 Beaglebone Black 交叉编译内核和模块。在输入make modules_install之后,配置过程重新启动。最后一步走错了。

以下是步骤:

1、cp arch/arm/configs/bb.org_defconfig defconfig_LQ

2、make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- menuconfig

`load defconfig_LQ` 

 do some modification based on your needs

`save defconfig_LQ`

`cp defconfig_LQ arch/arm/configs/beaglebone_defconfig`

3, 使用make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- beaglebone_defconfig命令生成.config文件。

4, 使用make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- uImage dtbs命令编译内核。

5, 使用make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- modules命令编译模块。

6, 使用sudo make modules_install命令将模块安装到默认路径。


缺少信息:您使用哪些步骤编译内核和模块。 - unixsmurf
@unixsmurf 现在怎么样了? - Zhang LongQI
好多了 :) 最后一句话 - 这对于编译内核来说并不重要,但是对于构建其他任何东西,你应该使用 arm-linux-gnueabihf- 来为 BeagleBone Black 进行编译。 - unixsmurf
@unixsmurf 我从这些网站获取了信息:http://wiki.beyondlogic.org/index.php/BeagleBoneBlack_Building_Kernel、http://elinux.org/Building_BBB_Kernel、https://eewiki.net/display/linuxonarm/BeagleBone+Black。我尝试了它们所有的方法,都有效。 - Zhang LongQI
1
正如我所说,对于内核来说并不重要,但是 gnueabihf 是将硬件浮点数暴露出来的版本。使用 gnueabi 工具链构建的二进制文件无法在 ARMv7 Linux 发行版(如 Ubuntu 或 Fedora,或 Debian armhf 版本)上正确执行。Ubuntu 中存在 gnueabi 和 gnueabihf 交叉编译器。 - unixsmurf
1个回答

4
如果您使用以下命令进行编译:make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- INSTALL_MOD_PATH=/path/to/target modules,则需要运行以下命令进行安装:make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- INSTALL_MOD_PATH=/path/to/target modules_install,而不是make modules_install。请注意保留HTML标记。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接