我正试图将the current Debian 8.4 SD card image放到我的Beaglebone Black的eMMC上。通过在/boot/uEnv.txt
文件中启用(取消注释)此行,闪烁本身可以完美地工作:
cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh
闪烁LED成功完成闪烁,如HowTo中所述。接下来,我将串行USB电缆连接到J1连接器,以便在Putty的串行控制台中查看启动过程。系统开始启动但随后停止并显示错误消息:
Begin: Waiting for root file system ... Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
[line above repeats multiple times]
Begin: Running /scripts/local-block ... done.
done.
Gave up waiting for root device. Common problems:
- Boot args (cat /proc/cmdline)
- Check rootdelay= (did the system wait long enough?)
- Check root= (did the system wait for the right device?)
- Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/mmcblk1p1 does not exist. Dropping to a shell!
然后我收到(initramfs)
提示。从那里,我发现mmcblk1p1
不是正确的分区,而应该是mmcblk0p1
。我认为这是因为移除SD卡时的枚举不同。
现在最大的问题是:我如何以及在哪里设置系统启动的分区?它必须在某处定义。我可以挂载根分区mmcblk0p1并从提示符编辑文件,所以我希望我只需要调整一个小的配置文件。我是否需要在/boot/uEnv.txt文件中添加内容? (当然,我已经在闪烁之后注释掉了闪光灯脚本。)
感谢您的帮助!
答案 0 :(得分:2)
它应该像编辑uEnv.txt
一样简单。
应该有一行包含:root=/dev/mmcblk1p1
- 只需编辑/dev/mmcblk0p1
。
答案 1 :(得分:1)
当前版本的Flasher脚本(2019年12月)在成功完成Flash之后会自动将启动名称更改为eMMC。