emmc/nand与SD卡之间镜像备份与烧录¶
从SD卡烧录镜像到emmc/nand¶
当拨码开关设置为SD卡启动时通过 有以下的三种情况
正常启动,按正常流程加载Linux系统运行(默认模式)。
单次烧录镜像,将SD卡系统的全部内容烧录到emmc/nand中,包括已经部署好环境、程序等, 烧录完成之后从SD卡启动,将直接会进入SD卡的系统,只烧录一次。
持续烧录镜像,将SD卡系统的全部内容烧录到emmc/nand中,包括已经部署好环境、程序等, 烧录完成之后再次从SD卡启动,则重新进入烧录模式,适合量产使用。
方式一:修改/boot/uEnv.txt¶
其中在 /boot/uEnv.txt
文件中能够配置是否开启烧录模式以及选择单次烧录还是持续烧录模式。
默认情况下 flash_firmware
变量已被注释,默认为正常启动状态。如下所示
1 2 | #flash_firmware=continued
#flash_firmware=once
|
当配置flash_firmware变量为 once
时将系统从下次启动时将配置为单次烧写模式,
当配置flash_firmware变量为 continued
系统从下次启动时将配置为持续烧写模式。
1 2 3 4 5 6 7 | #配置单次烧录模式
#flash_firmware=continued
flash_firmware=once
#配置持续烧录模式
flash_firmware=continued
#flash_firmware=once
|
修改 /boot/uEnv.txt 文件并保存,重启系统后将进入烧录模式,烧录完成后板载RGB灯将轮流闪烁。
烧录模式:
提示
若想要停止持续烧录模式,可将SD卡取下使用读卡器将SD卡接入到电脑,
打开sd卡boot分区,修改该分区的uEnv.txt文件,注释 flash_firmware
变量。
修改内容见下图,
方式二:使用fire-config配置¶
fire-config是野火Linux开发板自带的一个系统配置工具, 使用fire-config配置系统文件基本上也是对于 /boot/uEnv.txt 文件的修改。 下面介绍如何使用fire-config配置板子进入烧录模式。
执行
sudo fire-config
选择“Advanced”项。Embedfire STM32MP157 Board ┌──────────┤ pi Embedfire Software Configuration Tool (fire-config) ├──────────┐ │ │ │ 1 Change User Password Change password for the user pi │ │ 2 Network Configure network settings │ │ 3 Boot Configure options for start-up │ │ 4 Localisation Set up language and regional settings │ │ 5 Bus Configure connections of bus │ │ 6 Device Configure peripheral device │ │ 7 Advanced Configure advanced settings │ │ 8 Shell Config serial-tty and ssh │ │ 9 Help & Update Fire-config Help and Update │ │ │ │ │ │ │ │ │ │ <Select> <Finish> │ │ │ └──────────────────────────────────────────────────────────────────────────────┘
在“Advanced”,能够选择从sd烧录镜像到emmc或nand中,也可以选择从emmc或nand烧录系统到sd卡中, 从sd烧录镜像到emmc或nand可选择
Flash Burning Once
单次烧录, 也可选择Flash Burning Continued
持续烧录模式方便量产使用, 此处我们选择Flash Burning Once
。┌──────────────┤ npi Software Configuration Tool (fire-config) ├───────────────┐ │ │ │ A1 Expand Filesystem Ensures that all of the SD card storage is avai │ │ A2 Flash Burning Continued Enable/Disable flash firmware to NAND/Emmc from │ │ A3 Flash Burning Once Enable/Disable flash firmware to NAND/Emmc from │ │ A4 SD Burning Flash system firmware to SD-card from NAND/Emmc │ │ │ │ │ │ │ │ │ │ <Select> <Back> │ │ │ └──────────────────────────────────────────────────────────────────────────────┘
系统提示: “Would you like the flasher to be enabled”,选择<Enable>。
┌──────────────────────────────────────────────────────────┐ │ │ │ Would you like the flasher to be enabled? │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ <Enable> <Disable> │ │ │ └──────────────────────────────────────────────────────────┘
系统提示:“The flasher is enabled”,选择<Ok>.
┌──────────────────────────────────────────────────────────┐ │ │ │ The flasher is enabled │ │ │ │ │ │ │ │ │ │ │ │ │ │ <Ok> │ │ │ └──────────────────────────────────────────────────────────┘
返回在初始界面,选择<Finish>项。系统提示是否重新启动系统,选择Yes, 重启后的系统将自动将SD卡上的镜像烧录到emmc/nand上,烧录过程中串口会不断打印烧录信息,
刷机完成后,将重新进入终端,且开发板的LED灯将持续闪烁, 将拨码开关设置为emmc或nand模式,重新上电启动系统即可。
从emmc/nand备份镜像到SD卡¶
除了能够将SD卡的中镜像烧录到emmc/nand之外,也能够将emmc/nand中的镜像烧录到 SD卡,烧录到SD卡的镜像为完整的emmc/nand镜像,能够直接启动,也能当为量产工具为 其他板子烧录系统。 从emmc/nand备份镜像到SD卡和上一小节的内容大同小异,步骤如下
本小节内容介绍如何将emmc/nand上的系统备份到空白的sd卡上, 首先需要准备一张
空白的sd卡
,将sd卡插入到板子上并重启开发板。 使用lsblk
可看到用于演示的sd卡大小为14.9g的SD卡。root@npi:~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT mmcblk1 179:0 0 7.3G 0 disk ├─mmcblk1p1 179:1 0 40M 0 part /boot └─mmcblk1p2 179:2 0 7.2G 0 part / mmcblk1boot0 179:8 0 4M 1 disk mmcblk1boot1 179:16 0 4M 1 disk mmcblk0 179:24 0 14.9G 0 disk └─mmcblk0p1 179:25 0 14.9G 0 part
使用
sudo fire-config
命令进入fire-config的配置界面。 选择Advanced
进入烧录相关配置菜单。Embedfire i.MX6ULL Board ┌──────────┤ pi Embedfire Software Configuration Tool (fire-config) ├──────────┐ │ │ │ 1 Change User Password Change password for the user pi │ │ 2 Network Configure network settings │ │ 3 Boot Configure options for start-up │ │ 4 Localisation Set up language and regional settings │ │ 5 Bus Configure connections of bus │ │ 6 Device Configure peripheral device │ │ 7 Advanced Configure advanced settings │ │ 8 Shell Config serial-tty and ssh │ │ 9 Help & Update Fire-config Help and Update │ │ │ │ │ │ │ │ │ │ <Select> <Finish> │ │ │ └──────────────────────────────────────────────────────────────────────────────┘
选择
SD Burning
将emmc/nand镜像备份到SD卡中。┌──────────────┤ npi Software Configuration Tool (fire-config) ├───────────────┐ │ │ │ A1 Expand Filesystem Ensures that all of the SD card storage is avai │ │ A2 Flash Burning Continued Enable/Disable flash firmware to NAND/Emmc from │ │ A3 Flash Burning Once Enable/Disable flash firmware to NAND/Emmc from │ │ A4 SD Burning Flash system firmware to SD-card from NAND/Emmc │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ <Select> <Back> │ │ │ └──────────────────────────────────────────────────────────────────────────────┘
选择Yes即开始将当前的镜像备份到SD卡,在备份过程中板子不需要重启。
┌──────────────────────────────────────────────────────────┐ │ │ │ Would you want to burn system firmware to SD-card from │ │ NAND/Emmc? │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ <yes> <no> │ │ │ └──────────────────────────────────────────────────────────┘
在备份过程中将打印备份相关的信息。
备份完成后提示以下信息。
┌──────────────────────────────────────────────────────────┐ │ │ │ The SD-card system firmware is ready │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ <Ok> │ │ │ └──────────────────────────────────────────────────────────┘
将开发板的拨码开关设置为SD卡启动,重新开发板即可。
提示
备份使用的SD卡最好是空白的SD卡,并需要大于所备份的emmc/nand镜像大小。