3. 使用SD卡烧录EMMC

在前面的章节,我们详细讲解了如何通过USB烧录系统镜像到EMMC,这是最为快捷简便的方法。

但是有时候会遇到没有双公头USB线的情况,特此,我们来讲解使用SD卡向EMMC烧录固件的方法。

次文档讲解的方法所有板卡通用,但主要是DoorNet2用户没有双公头USB线,所以以DoorNet2为例。

3.1. 方法流程简介

此方法先在SD卡中烧录DoorNet2的OpenWrt镜像,使用SD卡启动DoorNet2,等待DoorNet2从SD卡启动以后,对EMMC进行一系列操作。

具体流程如下:

  • 0.向SD卡中烧录系统镜像,并将解压后的img镜像文件保存到SD卡,使用SD卡启动系统

  • 1.删除EMMC原有分区

  • 2.挂载保存镜像的分区

  • 3.向EMMC中烧写镜像

  • 4.扩容烧写进EMMC中的镜像的rootfs,增大用户的使用空间

  • 5.关机后移除电源和SD卡,从EMMC启动系统

3.2. 方法流程详解

3.2.1. 向SD卡中烧写镜像并启动

在快速入门章节,我们已经详细讲解了如何向SD卡中烧录系统镜像并启动,这里我们不再详细说明

本文如不做特殊说明,使用 openwrt-embedfire_doornet2-ext4-2022xxxx.img.gz 镜像进行演示(xxxx为日期,直接使用最新版即可)。

3.2.1.1. 准备工作

3.2.1.2. 向SD卡烧写镜像

打开Etcher烧录软件,点击 Flash from file 选择要烧录的镜像包; 点击 Select target 选择要烧录的SD卡。

准备烧写镜像

选择完成后,我们点击 Flash! 开始烧写。

烧写镜像

出现下图显示的界面,说明镜像烧写完成并校验成功。

烧写镜像完成

警告

如果在Windows操作系统下,烧写完成后弹出格式化分区的提示,请忽略或选择取消。

3.2.1.3. 新建分区并将镜像放入

鼠标右键电机Windows开始图标,找到磁盘管理并打开。或搜索打开磁盘管理。

磁盘管理 磁盘管理

下拉滑块,找到刚刚烧录镜像的SD卡,注意分辨。主要是查看磁盘大小和使用的SD卡大小近似,并且是可移动的。

错误

请勿选错磁盘,否则会带来不可预料的后果。

磁盘管理

点击最后一块未分配的的区域,鼠标右键点击,选择 新建简单卷

磁盘管理

一直点击下一页,直到下图位置,文件系统选择FAT32。

磁盘管理

继续点击下一页,核对设置信息后点击完成,等待格式化完成后如下图所示。

磁盘管理

找到我们之前下载的固件,并解压,我们得到了 openwrt-embedfire_doornet2-ext4-2022xxxx.img 这个文件,然后将它重命名为 update.img

解压镜像重命名

然后将 update.img 放入刚刚新建的磁盘分区

磁盘管理

3.2.1.4. 启动

将烧写好的SD卡插入DoorNet2的TF卡槽,然后开启电源(5V3A以上)。此时红色电源灯常亮,10s以内绿色系统状态灯开始闪烁,说明系统正常启动。

注解

由于系统优先SD卡启动,所以我们插入SD卡,接通电源即可使用SD卡启动系统。

警告

刷入某些第三方固件可能无法优先从SD卡启动,此时建议使用USB烧录方式。

3.2.2. 删除EMMC原有分区

以下操作需要登录终端操作,我们可以使用ssh软件登录,也可使用 web设置页面的 服务-终端

用户名为 root ,密码为 admin

登录终端

然后在终端中执行以下命令

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
#删除原有分区
fdisk /dev/mmcblk0 <<EOF
p
d

d

d
p
w
EOF

#重启
reboot

注解

以上内容一次性复制,粘贴进终端中运行。

删除分区

以上命令执行完会自动重启,等待重启完成。

3.2.3. 挂载镜像并向EMMC中烧录

等待重启完成后继续打开终端,然后在终端中执行以下命令,进行镜像的烧录

1
2
3
4
5
#挂载保存镜像的分区
mount /dev/mmcblk1p3 /mnt/

#烧录镜像
dd if=/mnt/update.img of=/dev/mmcblk0 bs=1M

烧录需要持续一段时间,请耐心等待烧录完成。

dd烧录

3.2.4. 扩展用户分区

烧录完成后我们继续进行扩展用户分区的操作,继续执行以下命令:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
#扩展分区
PART_START=$(fdisk -l | grep /dev/mmcblk0p2 | awk '{print $2}')
fdisk /dev/mmcblk0 <<EOF
p
d
2
n
p
2
$PART_START

p
w
EOF

#扩展文件系统
resize2fs -p /dev/mmcblk0p2

#关机
poweroff

以上操作会扩展用户分区,并在完成后关机。

注解

以上内容一次性复制,粘贴进终端中运行。

扩展分区 扩展分区1

等待系统指示灯熄灭后,移除电源和SD卡,我们就完成了使用SD卡向EMMC烧录的全部过程。

3.2.5. 验证

移除SD卡后我们重新上电,然后登录web界面查看工作状态

我们打开 系统-挂载点 可以看到,根目录的大小为7.08GB,说明镜像烧录和用户空间扩容都成功了。

挂载点