如何使用Debian 8.2镜像刷写BeagleBone Black的eMMC?

8

这个网站说...

要将这些图像转换为eMMC闪存器映像,请编辑microSD卡上Linux分区上的/boot/uEnv.txt文件,并删除带有“cmdline = init = / opt / scripts / tools / eMMC / init-eMMC-flasher-v3.sh”的行上的'#'。启用此功能将导致引导microSD卡来刷新eMMC。

在uEnv.txt文件中不存在这样的行。我也没有看到boot分区上的init-eMMC-flasher-v3.sh文件,尽管它可能在隐藏分区上(至少对于Windows而言是隐藏的)。

我已经尝试按住S2(这似乎是一种旧的(也许?)刷写方法),但没有成功。

4个回答

5
解决方案很简单,但完全没有解释。
只需启动Debian 8.2,在debian/temppwd下登录。
导航到/opt/scripts/tools/eMMC/。
cd /opt/scripts/tools/eMMC/

并手动运行该文件...

sudo ./init-eMMC-flasher-v3.sh

等待进程完成,关闭设备,取出SD卡,然后重新开机。现在它将从eMMC启动。

4
说明书中提到的行是uEnv.txt的最后一行。我刚下载了一个新的bone-debian-8.2-tester-2gb-armhf-2015-11-12-2gb.img.xz文件,并取消注释了eMMC烧录命令后,/boot/uEnv.txt看起来像这样:
#Docs: http://elinux.org/Beagleboard:U-boot_partitioning_layout_2.0

uname_r=4.1.12-ti-r29
#uuid=
#dtb=

##BeagleBone Black/Green dtb's for v4.1.x (BeagleBone White just works..)

##BeagleBone Black: HDMI (Audio/Video) disabled:
#dtb=am335x-boneblack-emmc-overlay.dtb

##BeagleBone Black: eMMC disabled:
#dtb=am335x-boneblack-hdmi-overlay.dtb

##BeagleBone Black: HDMI Audio/eMMC disabled:
#dtb=am335x-boneblack-nhdmi-overlay.dtb

##BeagleBone Black: HDMI (Audio/Video)/eMMC disabled:
#dtb=am335x-boneblack-overlay.dtb

##BeagleBone Black: wl1835
#dtb=am335x-boneblack-wl1835mod.dtb

##BeagleBone Black: replicape
#dtb=am335x-boneblack-replicape.dtb

##BeagleBone Green: eMMC disabled
#dtb=am335x-bonegreen-overlay.dtb

cmdline=coherent_pool=1M quiet cape_universal=enable

#In the event of edid real failures, uncomment this next line:
#cmdline=coherent_pool=1M quiet cape_universal=enable video=HDMI-A-1:1024x768@60e

##Example v3.8.x
#cape_disable=capemgr.disable_partno=
#cape_enable=capemgr.enable_partno=

##Example v4.1.x
#cape_disable=bone_capemgr.disable_partno=
#cape_enable=bone_capemgr.enable_partno=

##Disable HDMI/eMMC (v3.8.x)
#cape_disable=capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN,BB-BONE-EMMC-2G

##Disable HDMI (v3.8.x)
#cape_disable=capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN

##Disable eMMC (v3.8.x)
#cape_disable=capemgr.disable_partno=BB-BONE-EMMC-2G

##Audio Cape (needs HDMI Audio disabled) (v3.8.x)
#cape_disable=capemgr.disable_partno=BB-BONELT-HDMI
#cape_enable=capemgr.enable_partno=BB-BONE-AUDI-02


##enable Generic eMMC Flasher:
##make sure, these tools are installed: dosfstools rsync
cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh

您需要寻找的是最后一行。如果某些原因导致该行不存在,请添加并保存文件。然后在从SD卡启动时,LED灯将显示“来回”模式,表示eMMC闪存正在进行中。


谢谢,真不敢相信我竟然错过了那个。 - Cody Smith

1

文件boot/uEnv.txt/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh都在microSD卡的Linux分区上,这就是为什么你在Windows上看不到它们的原因。

如果你将该卡插入Linux机器中,除了FAT32的BEAGLEBONE分区外,还会看到一个Linux格式的rootfs卷。实际上,你可以将其插入已启动的BeagleBone中,并且应该会出现在/media/rootfs下。

在你自己的回答中,你发现了另一种方法,即启动SD卡本身以访问其Linux分区。这样做是可行的,但可能更加危险,因为你是在完全多任务的Linux环境中运行flasher,而不是让它作为init进程单独运行。


0

对于一个Beagle Bone Wireless Linux beaglebone 4.4.30-ti-r64,它说

##enable Generic eMMC Flasher:
##make sure, these tools are installed: dosfstools rsync
#cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh

我找不到dosfstools,但好像也不需要它。 我使用Linux beaglebone 4.4.54-ti-r93创建了一个uSD文件。 (我还必须bang uBoot,因为它有问题,使用sudo dd if=/dev/zero of=/dev/mmcblk1 bs=1M count=1。)

在uSD上启动 然后运行 /opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh 它升级了uBoot和Linux。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接