无法从 SD 卡 BeagleBone Black 闪存 eMMC

Unable to Flash eMMC from SD Card BeagleBone Black

我正在开发 BeagleBone Black 和 Debian 运行。我想在我的主板上刷新最新的 Debian 映像。为此,我从 link:BeagleBone Image 下载了最新的 Debian 映像,并使用 WinDisk 映像编写器准备了一张 SD 卡。

按照教程,我已将 SD 卡插入 BeagleBone Black,按下启动按钮并接通电源。 SD 卡映像已启动。根据教程,刷入 eMMC 大约需要 30-40 分钟,所以我等了大约 2 个小时(只是为了确定)。然后我从我的板上取出一张 SD 卡并打开它。它启动了我以前的图像(eMMC 没有被 SD 卡图像刷新)。对于闪烁的 eMMC,我遵循 link:Flashing beagleBone Balck eMMC.

我不明白我哪里出错了,也不知道如何解决。

假设您已准备好带有用于 BBB 的 emmc 闪存映像的 SD 卡,请按照以下步骤操作,

使用 SD 卡镜像刷入 BBB

您应该在仅将一个 5V 2A 电源插入直流插孔 的情况下执行此过程。或者,您可以使用 USB 适配器供电。 断开以太网电缆并移除所有屏蔽和 USB 外围设备

通过物理断开 USB/power 电缆来关闭 BBB。

将micro-SD卡插入BBB的micro-SD卡槽。

按住右上角(靠近SD卡槽)的开机按钮(S2),按住此按钮的同时,插入USB/power连接线动力。

按住按钮直到 LED 开始闪烁。蓝色板载 LED 应依次点亮,然后在接下来的 5-25 分钟内继续闪烁 (取决于所使用的发行版和 SD 卡的速度)。

最新的分发以 Cylon/Knightrider 模式闪烁

等到 LED 停止闪烁并且所有 4 个 LED 都完全点亮(最新图像随后关闭电路板)。此过程可能需要 5-25 分钟,具体取决于所使用的图像。

如果闪烁过程失败——例如,没有 LED 闪烁,或者保持 运行 超过 45 分钟——然后断开电源并尝试重新启动按下 S2 按钮的 BBB。

取出微型 SD 卡。这很重要,因为您最终可能会不小心再次刷新 eMMC。

最后,按电源按钮 (S3) 为开发板通电,您应该安装了最新的映像。

你有没有试过不按住开机键开机?这是我的特殊 BBB 的解决方案。在我看来,并不是所有的 BBB 都以相同的方式处理启动按钮。如果我在我的特殊 BBB 上按住启动按钮,什么也不会发生!所以我尝试在启动时不按,它的工作方式与你给定的上面相反 link Flashing beagleBone Balck eMMC.

否则 仅当您选择文件名中带有“..flasher...”的图像时才会闪烁。如果你把“http://debian.beagleboard.org/images/bone-debian-7.8-lxde-4gb-armhf-2015-03-01-4gb.img.xz”拿错了例子,那么它不会闪烁。

有些beagle bones用这个方法(按下boot/user键,插上5V连接器等。)在各种文档中也有描述(linux.org)。

所以,如果这个方法也不能让你刷入eMMC,你可以试试下面的方法:

  1. 在/boot/uEnv.txt中,内容为: ...

    #cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v2.sh
    

    取消最后一行的注释,下次启动时,应该会刷入 eMMC 根据文档中描述的方法(按开机键 然后插入5V连接器)

  2. 登录beaglebone(这只是一个例子,真实的设备显示在你的系统中,你必须找出真实的设备名称)

    • 找出根设备在哪里,例如:

      df /dev/mmcblk1p2   1855016 635552   1123568  37% /
      

      如果你是从SD卡启动的,那么这个(/dev/mmcblk1p2)就是 SD-卡分区,识别为OS.

    • 找到eMMC设备:

      find /dev/disk/by-path/ -ls
      

      显示系统上已连接的设备和路径 如果存在与设备名称不同的设备,则您的 根目录(/)挂载了,那么这个就是我们要搜索的eMMC设备,对于 示例:/dev/disk/by-path/platform-mmc.5 -> ../../mmcblk0

    • 所以如果你挂载的根设备是:/dev/mmcblk1p2 并且您的 SD 卡设备是:/dev/mmcblk0 然后,你所要做的就是"copy"将SD卡内容写入eMMC 设备:

      dd if=/dev/mmcblk0 of=/dev/mmcblk1
      

简而言之:使用dd命令将SD卡复制到eMMC。

我们遇到了同样的问题。使用开箱即用的全新 BBB rev C,尝试使用有效图像解包(它已在其他 BBB 上成功运行)导致 LED 在几秒钟后熄灭。有趣的是,如果您将串行调试电缆的另一端插入电路板,并尝试闪存,它会报错 dd: writing /dev/mmcblk1 failed - no space。所以可能是部分板子的eMMC分区导致镜像放不下出厂2GB,但如果出厂格式化更大就可以了。

解决方法:运行 fdisk -l求eMMC分区的大小。删除不需要的,直到剩下一个大的。从 SD 闪存。工作完成了吗?

尝试按照官方逐步信息中的描述进行操作,但连接直流电源(不是 USB)并使用 hdmi 线连接到显示器以查看发生了什么。我遇到了同样的错误,但在插入直流电源后它起作用了。

如果不行你可以试试:

  1. Choose SD 卡有足够的内存可以容纳至少两个 OS img 文件。
  2. 准备 SD 卡 OS(使用 dd linux 命令复制 img)。
  3. 使用 fdisk 使用 space 左侧创建新分区并格式化它
  4. 复制img(os图片)文件到新创建的分区。
  5. 从 SD 卡启动
  6. 最后在 beaglebone 分区上重复写入图像 (不是 sd 卡的分区)使用 dd 命令和新的图像 创建的分区(你可能必须挂载它)

您是否记得删除 cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh 行开头的“#”? 要进行此编辑,这将导致 SD 卡自动闪烁您使用 SD 卡打开的任何 bbb,您只需按照以下步骤操作。
1. 将你的 bbb 连接到电源(USB 或 DC 同样适用)
2. 按下电源按钮关闭bbb。
3. 插入您的 SD 卡。
4. 打开 bbb。
5. 使用端口 22 和 IP 192.168.7.2
登录 SSH(为此我喜欢 putty) 6. 执行:cd .. sudo nano boot/uEnv.txt
7.navigate 到 txt 文件底部的 #cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh 行。
8.删除行首的“#”
9. control+x 然后 "y" 然后 "Enter key" 保存您的更改并退出 txt 文件。
10. 重新启动 BBB,SD 卡应自动闪烁到您的 BBB,这将由 LED 按照这种模式指示(根据我的经验)大约 10 分钟。 LED 图案:1-2-3-4-3-2-1-2-3-4-3-2-1-2-3-4-3-2-1...等..

希望对您有所帮助:)

好的,

None 个答案对我有用。但是有可能!

这是我的解决方案:

工具

资源

程序

  1. 获取最新版本,目前为 9.1,Debian Distro

    • Download
    • 用 7Zip 解压到:bone-debian-9.1-lxqt-armhf-2017-07-30-4gb.img
  2. 写入SD卡

  3. 调整 SD 卡上的一些设置

    • 这可能是最晦涩和未记录的部分。抽了很多烟,对着电脑大吼了两天才弄明白,但无论如何。
    • 插入 SD 卡。
    • 将 HDMI 电缆连接到显示器。
    • 按住 S2 按钮,除 PowerReset 外唯一的其他按钮BBB 版本 C.
    • 插上电源
    • 按下电源按钮
    • 等待 Debian Stretch 启动
    • 到达终点站

      • 如果您不确定如何执行此操作,请发表评论,我会记录下来。我假设你们中的大多数人都知道如何做到这一点。
      • 基本上要么打开 SSH 连接,要么插入 USB 键盘
    • sudo nano /boot/uEnv.txt

    • 取消注释(即去掉 #)最后一行:

      #cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh

    • 保存文件

      在 nano 中是 Ctrl+X 然后是 y

  4. 闪动 BBB

    • 关闭 BBB
    • 从 BBB 上拔下所有插头。我的意思是一切,USB、HDMI、电源、USB 电缆。 一切
    • 插入新镜像的SD卡
    • 按住 S2 按钮,除 PowerReset 外唯一的其他按钮BBB 版本 C.
    • 插上电源。确保你有 5V/2A 电源,否则它可能会关闭你!我使用了我的三星 Galaxy 电源适配器,它很高兴地提供了这两个 :)。

期待什么

  • 蓝灯会闪烁一下。
  • 然后他们将形成一个非常明显的up/down循环。类似于进度条。
  • 等待所有灯都稳定并保持点亮。那就是闪现完成了。
  • 在此之后,您应该能够:
    • 按住电源按钮 10 秒,关闭 beagle bone。
    • 取出 SD 卡
    • 插入 HDMI 显示器/蓝牙键盘
    • 还有中提琴!按下电源按钮,新的 Debian Stretch v9.1 应该会在大约 1 分钟内启动。

Post-安装

  • 如果要用SD卡启动,为了更多的内存,会强制重新刷机,很不方便。所以要规避这个:
  • 在取出 SD 卡的情况下启动 BBB
  • 挂载 SD 卡sudo mount /dev/mmcblk0p1 /mnt
  • sudo nano /mnt/boot/uEnv.txt
  • /boot/uEnv.txt的最后一行添加注释,所以它是:

    #cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh

  • 保存并关闭文件。
  • sudo umount /mnt

注意:如果这些步骤中的任何一个对你不起作用,请发表评论,我会尽力帮助你们。

这对我来说是一个非常令人沮丧的过程,所以我会尽力帮助大家。

对于那些仍然有问题的人,您也可以尝试更新刷机脚本

cd /opt/scripts/
git pull
shutdown -r now

这会更新很多东西,我不知道它会更新什么,但有时在 ie 之后事情似乎会更好,即使我在 Wheezy 7.10 apt-get update 我现在从杰西那里拉出来,东西安装正确。我相信我在 EMMC 上的刷机脚本搞砸了,这可能已经修复了它们。

这也可能会用原版/默认版本覆盖您的 /boot/uEnv.txt 文件,因此请务必返回并通过取消注释行 #cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh 来编辑 /boot/uEnv.txt,以便您的闪光灯将从您的 SD 卡中 运行/

我一直在努力更新我的 BB Black 和 Greens,到目前为止,这似乎是其中 4 个的必要步骤,所有这些都来自 wither Wheezy 7.10 或 Jessie 8。

在 运行 启动它并让它更新东西后,关闭电源,添加 SD 卡,按住按钮,添加电源...看看会发生什么。