在 Beaglebone Black 上搜索 MLO 文件

Searching for the MLO file on the Beaglebone Black

我有一个 Beaglebone Black industrial(BBBI),我认为它与 Beaglebone Black 非常相似。

我想让BBBI默认启动到microSD卡,我发现这个guide,建议从启动分区删除MLO文件。这已经在一些基于 Google 的地方提到过,所以我认为值得尝试

为了重命名 MLO 文件,我尝试在没有 microSD 卡的情况下启动后使用 $locate 找到该文件,这大概是在 eMMC 上启动到 Debain。这会产生以下内容:

/opt/backup/uboot/MLO
/opt/source/pru-software-support-package/pru_cape/bin/MLO
/opt/source/pru-software-support-package/pru_cape/bin/MLO/beaglebone
/opt/source/pru-software-support-package/pru_cape/bin/MLO/beaglebone_black
/opt/source/pru-software-support-package/pru_cape/bin/MLO/beaglebone_black/MLO
/opt/source/pru-software-support-package/pru_cape/bin/MLO/beaglebone/MLO

我仔细检查过 /boot 没有 MLO。有没有人能分享 MLO 在哪里,或者我错过了一些非常明显的东西?

或者,有没有更简单的方法可以在不按 S2 按钮的情况下从 microSD 卡启动?

较新的图像将 MLO 置于文件系统之外,直接位于 eMMC/SD-card 上的几个 "magic" 偏移处。这记录在 AM335x 的 TRM 中。

如果你不关心当前的 eMMC 内容,像这样的东西将完成暴力工作:

dd if=/dev/zero of=/dev/mmcblk0 bs=1M count=1
(确保mmcblk0是eMMC,不是SD卡,从SD启动会变,可以是mmcblk 1 也)

它用零擦除 eMMC 的第一个兆字节。所以分区 table 和其他东西也不见了。基本上你得到一个空白的 eMMC。

如果你想更外科一点,请查看 /opt/scripts 中的 flashing scriptfunctions.sh 也很有趣。

请注意,MLO 也称为 SPL。

尝试编辑 uenv.txt 文件以始终从 SD 卡加载图像。