Arm 我下面使用http://elinux.org/Building_BBB_Kernel 此链接
我下面使用这个链接构建内核映像 当我从上面的链接引用“make ARCH=arm CROSS\u COMPILE=arm linux gnu-uImage-dtb.am335x-boneblack”执行此命令时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
“目标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全局配置已完成
解决方案:
为了构建beaglebone black的内核,您必须从下载相应的工具链。正确导出工具链后,必须运行
/build\u kernel.sh
脚本,该脚本不仅下载适合BBB的内核版本的正确分支,而且还构建内核映像,以及模块和DTB(设备树二进制blob)
我建议您点击以下链接:
我们欢迎您提供一个指向潜在解决方案的链接,但请务必这样做,以便您的其他用户了解它是什么,以及它为什么会出现。始终引用重要链接中最相关的部分,以防无法访问目标站点或永久脱机。考虑到仅仅是一个指向外部站点的链接是一个可能的原因。