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. 准备工作¶
Micro SD卡一张(以下简称SD卡),推荐使用大品牌 Class 10 及以上等级的SD卡,容量4GB及以上
读卡器一个,用于在电脑上读写SD卡。
电脑环境,Windows和Ubuntu系统均可。
烧录软件:Etcher镜像烧录软件 资料下载链接->OpenWrt资源->6-软件工具
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
|
烧录需要持续一段时间,请耐心等待烧录完成。
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
|
以上操作会扩展用户分区,并在完成后关机。
注解
以上内容一次性复制,粘贴进终端中运行。
等待系统指示灯熄灭后,移除电源和SD卡,我们就完成了使用SD卡向EMMC烧录的全部过程。