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

How to flash BeagleBone Black eMMC with Debian 8.2 image?

This site,说...

To turn these images into eMMC flasher images, edit the /boot/uEnv.txt file on the Linux partition on the microSD card and remove the '#' on the line with 'cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh'. Enabling this will cause booting the microSD card to flash the eMMC.

uEnv.txt 文件中不存在这样的行。 我也没有在启动分区的任何地方看到 init-eMMC-flasher-v3.sh 文件,尽管它可能在隐藏分区(至少隐藏到 Windows)。

我试过按住 S2(这似乎是一种较旧的(也许?)闪烁方法)但没有成功。

虽然完全没有解释,但解决方案非常简单。

只需启动 Debian 8.2,使用 debian/temppwd

登录

导航到 /opt/scripts/tools/eMMC/

cd /opt/scripts/tools/eMMC/

和运行手动文件...

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

等待过程完成,关闭设备电源,取出 SD 卡,然后重新打开设备电源。它现在将启动 eMMC。

说明中提到的行是uEnv.txt的最后一行。我刚刚下载了 bone-debian-8.2-tester-2gb-armhf-2015-11-12-2gb.img.xz 的新副本,在我取消注释 eMMC flasher 命令后 /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 将显示 'back and forth' 模式,表示 eMMC 正在闪烁。

boot/uEnv.txt/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh 都在 Linux 分区上microSD 卡,这就是为什么您在 Windows.

中看不到它们的原因

如果将该卡插入 Linux 机器,除了 FAT32 BEAGLEBONE 分区。事实上,您可以将它插入已启动的 BeagleBone,它应该出现在 /media/rootfs.

在您自己的回答中,您发现了另一种方法,即启动 SD 卡本身以访问其 Linux 分区。这行得通,但可能风险更大,因为您 运行 在完全多任务处理 Linux 中使用闪光灯,而不是让它 运行 单独作为初始化进程。

对于 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 创建了一个美元文件。 (我还不得不敲打 uBoot,因为它有问题,sudo dd if=/dev/zero of=/dev/mmcblk1 bs=1M count=1。)

在美元上启动 然后 运行 /opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh 并升级了 uBoot 和 linux.