Arm 我下面使用http://elinux.org/Building_BBB_Kernel 此链接

Arm 我下面使用http://elinux.org/Building_BBB_Kernel 此链接,arm,kernel,bootloader,beagleboneblack,Arm,Kernel,Bootloader,Beagleboneblack,我下面使用这个链接构建内核映像 当我从上面的链接引用“make ARCH=arm CROSS\u COMPILE=arm linux gnu-uImage-dtb.am335x-boneblack”执行此命令时 “目标uImage dtb.am335x boneblack没有规则”这是一个抛出错误。您可能正在使用您提到的过程,并将其用于另一个内核源代码树 您引用的过程应该应用于Arago Linux内核-直接创建zImage+dtb包作为make目标似乎是标准arch/arm/boot/Make

我下面使用这个链接构建内核映像

当我从上面的链接引用“make ARCH=arm CROSS\u COMPILE=arm linux gnu-uImage-dtb.am335x-boneblack”执行此命令时
“目标uImage dtb.am335x boneblack没有规则”这是一个抛出错误。

您可能正在使用您提到的过程,并将其用于另一个内核源代码树

您引用的过程应该应用于Arago Linux内核-直接创建zImage+dtb包作为make目标似乎是标准arch/arm/boot/Makefile的一部分,也就是说,此功能可能不是当前主线内核构建系统的一部分

通过手动执行修补程序正在执行的操作,即在要创建的uImage文件之前将dtb文件附加到zImage,可以获得相同的结果:

make ARCH=arm CROSS_COMPILE=arm-linux-gnu- zImage am335x-boneblack.dtb
cp arch/arm/boot/zImage arch/arm/boot/zImage.original

ls -l arch/arm/boot/zImage arch/arm/boot/dts/am335x-boneblack.dtb
-rw-rw-r-- 1 user user   29162 Oct 16 23:19 arch/arm/boot/dts/am335x-boneblack.dtb
-rwxrwxr-x 1 user user 2030848 Oct 16 23:21 arch/arm/boot/zImage

cat arch/arm/boot/zImage arch/arm/boot/dts/am335x-boneblack.dtb > arch/arm/boot/zImage-dtb
ls -l  arch/arm/boot/zImage-dtb
-rw-rw-r-- 1 user user 2060010 Oct 16 23:25 arch/arm/boot/zImage-dtb

cp  arch/arm/boot/zImage-dtb  arch/arm/boot/zImage
make ARCH=arm CROSS_COMPILE=arm-linux-gnu- uImage LOADADDR=0x80008000
ls -l  arch/arm/boot/uImage
-rw-rw-r-- 1 user user 2060074 Oct 16 23:27 arch/arm/boot/uImage
您会注意到uImage文件的长度比构建它的ZImage包的长度多64字节,ZImage包的长度与标准u-boot头的长度相对应

最后,我们可以将uImage bundle文件重命名为过程中使用的名称,并在需要时恢复原始的非bundle zImage:

mv arch/arm/boot/uImage arch/arm/boot/uImage-dtb.am335x-boneblack
mv arch/arm/boot/zImage.original arch/arm/boot/zImage
另一种解决方案是对arch/arm/boot/Makefile进行修补——在将其应用于我的3.17主线内核时,部分内核被拒绝,这意味着必须在Makefile中进行更改,并为3.17创建/保存一个新的修补程序以备将来使用


为了使bundle uImage可用,您需要在内核配置文件中启用CONFIG\u ARM\u added\u DTB-归功于。

替代方法

看一看。它提供了一个BB目标:

make beaglebone_defconfig
make

基本根文件系统和内核已经完成。然后,您可以选择要构建的U-Boot等。BR也将负责工具链。因此,在大多数情况下,您只需关闭BR repo,BR就会自动下载一个文件并编译其余的文件。

根据本指南尝试解决类似问题,从而找到此页面:

也有同样的问题,没有找到目标来制作uImage

我认为,如果git没有配置用户电子邮件地址,则patch.sh在git操作期间会过早停止。是的

git config--global user.email“你的。email@here.com" (信用证:)


并成功地重新尝试了构建序列。

我找到了一个适合我的解决方案

网址:

原因:git全局配置已完成


解决方案:

  • 对名称和电子邮件进行git全局配置
  • 然后根据./patch.sh的指令重新启动

  • 为了构建beaglebone black的内核,您必须从下载相应的工具链。正确导出工具链后,必须运行
    /build\u kernel.sh
    脚本,该脚本不仅下载适合BBB的内核版本的正确分支,而且还构建内核映像,以及模块和DTB(设备树二进制blob)

    我建议您点击以下链接:

    我们欢迎您提供一个指向潜在解决方案的链接,但请务必这样做,以便您的其他用户了解它是什么,以及它为什么会出现。始终引用重要链接中最相关的部分,以防无法访问目标站点或永久脱机。考虑到仅仅是一个指向外部站点的链接是一个可能的原因。