在 beaglebone black 上从 sd 卡启动使用 eMMC 的 u 启动而不是 sdcard 上的启动

Booting from sdcard on beaglebone black uses the uboot from eMMC instead of the one on sdcard

我正在按照以下 link 为 beaglebone black 制作可启动的 sdcard。唯一的变化是我正在尝试构建 3.14 版本的内核而不是 4.4 版本。 当我在打开 BBB 电源之前按下启动按钮时,我在串行终端上得到 "CCCCCCCCC..." 输出,表明 sdcard 上的引导加载程序有问题。在不按下启动按钮的情况下,BBB eMMC 上的 uboot 被调用,然后它成功地从 sdcard 启动内核。 我需要对 uEnv.txt 进行哪些更改(如果有的话)才能使其正常工作?

https://eewiki.net/display/linuxonarm/BeagleBone+Black#BeagleBoneBlack-LinuxKernel

如果您在终端上看到 'C' 个字符(在开机时按下按钮),则表示 CPU ROM 代码未在 microSD 上找到有效的加载程序 (MLO)。 ROM 代码在多个地址(0x0、0x20000、0x40000 和 0x60000)上搜索加载程序,您可以阅读它 here。尝试在地址 0x0 和 0x40000 写入 MLO 副本:

sudo dd if=./u-boot/MLO of=${DISK} count=1 bs=128k
sudo dd if=./u-boot/MLO of=${DISK} count=1 seek=2 bs=128k

检查您的 MLO 是否小于 128Kbytes。

你也可以把microSD卡格式化成FAT格式,把MLO和u-boot.img放在那里,也可以。