这有点像 U-Boot 相关问题。我不太确定我应该发布到哪个站点,但是当我启动 Ubuntu 时,我将它发布到这里。
基本上,我用 Allwinner H3 SOC 购买了便宜的 Nanopi Neo Air。我正在使用官方的 ubuntu 20.04 映像。我使用提供的 eflasher 工具将系统刷新到板载 emmc 中。
板载 emmc 对我的用例来说太小了,但它比 sd 卡快。我希望我的系统从 emmc 启动,同时使用 sd 卡作为额外存储。所以我将我的 sd 卡格式化为一个大的 ext4 分区,然后重新启动我的系统。
启动时,我的 u-boot 对插入的 sd 卡不满意。它总是从 sd 卡启动,即使它是空的(所以它根本不会启动)。
我尝试了什么
我试图通过向其中写入零来清除我的 SD 卡中的所有数据。那没有帮助。
我想要什么
从 emmc 启动并插入 sd 卡
任何信息表示赞赏。
这当然是可能的,但一般无法回答,因为引导顺序和测试是在您的 U-Boot 环境中单独定义的。例如,可以有一些变量,比如
bootdevs
包含一个列表,比如说mmc emmc
首先尝试从 mmc 启动,如果失败,从 emmc 启动。在您的情况下,我怀疑对 mmc 引导实施了错误的测试。也许它只是检查 sdcard 是否存在。该测试必须扩展为首先测试是否存在卡,然后测试 ext4 文件系统,最后查找文件/boot/vmlinuz
或内核映像的路径。如果您没有对您的 U-Boot 配置的解释,那么对其进行逆向工程就不是火箭科学。在你
printenv boot
的 U-Boot 提示符下做,看看它做了什么。它可能会运行其他命令,您也可以printenv
. 也许某些命令将不存在,因为它是在执行期间生成的,因此请查看整个printenv
输出以了解它在何处以及如何生成。语法很容易学习。如果您无法自行管理,请
printenv
在此处发布您的输出,以便我们帮助您调试和扩展它。