gpt4 book ai didi

linux-kernel - 为 BeagleBone Black 构建可靠的 Linux 内核

转载 作者:行者123 更新时间:2023-12-03 07:34:14 25 4
gpt4 key购买 nike

是否有适用于 BeagleBone Black 平台的可靠 Linux 内核构建?我已按照说明 here ,以及许多其他地方,但它们都不起作用。要么模块没有构建(.ko 文件只是没有构建并且在上面的链接中找不到),或者内核缺少构建目标。我在 32 位 x86 Ubuntu 14.04 上使用 Linaro ARM 编译器 (arm-linux-gnueabihf-gcc) 交叉编译。

具体来说,我在 BeagleBone Git repository 上查看了源代码。 ,分支 3.8、3.11、3.12、3.13 和 3.14。我还检查了第 3 方 git clone here .我遇到的问题如下:

  • 3.8:内核将编译(有许多警告),但由于在分支中运行patch.sh的补丁过程中出现错误,模块无法编译。
  • 3.11:内核将编译(带有许多警告),但 uImage-dtb.am335x-boneblack Make 目标不会。编译模块失败,因为至少一个文件的补丁不正确,产生了不正确的 C 语法。
  • 3.12:内核将与模块一起编译(带有许多警告)。将内核和模块复制到板上成功。引导内核失败,并在 U-Boot 中的引导命令开始引导后立即卡住。
  • 3.13、3.14:内核编译失败,出现大量语法错误。
  • 来自 TowerTech 的 3.8.13+:内核编译成功(有许多警告),模块编译失败,同样是由于 patch.sh 的修补不正确。

  • 在我可以编译内核的情况下,我使用来自 U-Boot 的 TFTP 引导服务器将其复制到内存中的全新 Vanilla 板,并在内存中引导内核。但是,没有一个成功编译的内核可以正常工作,因为它们缺少模块/固件/dtbs。什么可能导致不正确的补丁?当然,编写代码和补丁的开发人员一定已经测试过了,所以我的工作空间可能有问题,尽管我现在无法想象会发生什么。我使用的命令与链接 1 中的命令相同.

    最佳答案

    我还按照您提到的链接进行了操作,并且能够启动 BBB。我正在使用 https://www.kernel.org/ 的主线内核.以下是我遵循的步骤

  • 下载最新的内核。我的版本是 3.18-rc4
  • 使用“omap2plus_defconfig”,这是 beaglebone black
  • 的默认配置
  • 使命令是

    使 ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-omap2plus_defconfig -j4

    使 ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-uImage dtbs LOADADDR=0x80008000 -j4。

    生成的图像存在于以下路径中。

    拱/臂/引导/uImage uImage

    拱/臂/引导/dts/am335x-boneblack.dtb
  • 在此之后编译模块。

    使 ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-modules -j4
  • 我使用busybox和NFS服务器作为root

  • 使用的编译器是 arm-linux-gnueabi-gcc。有了这个,我能够成功启动并运行模块。它的优点是我们使用的是可用的最新内核。

    关于linux-kernel - 为 BeagleBone Black 构建可靠的 Linux 内核,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23766354/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com