如何在将Debian 8.4刷新到eMMC后更改Beaglebone Black的启动分区?

时间:2016-07-15 09:13:19

标签: linux boot beagleboneblack partition u-boot

我正试图将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文件中添加内容? (当然,我已经在闪烁之后注释掉了闪光灯脚本。)

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

它应该像编辑uEnv.txt一样简单。

应该有一行包含:root=/dev/mmcblk1p1 - 只需编辑/dev/mmcblk0p1

答案 1 :(得分:1)

当前版本的Flasher脚本(2019年12月)在成功完成Flash之后会自动将启动名称更改为eMMC。