Difference between revisions of "EFlasher/zh"

From FriendlyELEC WiKi
Jump to: navigation, search
(eMMC Flash的备份和恢复)
(eMMC Flash的备份和恢复)
Line 51: Line 51:
  
 
这个功能类拟于电脑上面的 ghost 软件,可以将整个 eMMC Flash 的数据备份到 U盘 或 移动硬盘,或者从 U盘 恢复系统到 eMMC Flash,恢复系统时,可以恢复到 同一个开发板,也可以恢复到 同型号同规格的其他开发板。<br /><br />
 
这个功能类拟于电脑上面的 ghost 软件,可以将整个 eMMC Flash 的数据备份到 U盘 或 移动硬盘,或者从 U盘 恢复系统到 eMMC Flash,恢复系统时,可以恢复到 同一个开发板,也可以恢复到 同型号同规格的其他开发板。<br /><br />
本功能最大的作用时,在一块开发板上做好定制,比如预装好软件和设置,然后备份一份出来,恢复到其他开发板上,以达到量产的目的。<br />
+
此功能最有用之处是:<br />
 +
在一块开发板上做好定制,比如预装好软件和设置,然后备份一份出来,恢复到其他开发板上,以达到量产的目的。<br />
 
<br />
 
<br />
 
此功能要求你有一个容易大过 eMMC Flash 大小的U盘,或者移动硬盘,并且里面没有重要的数据,因为在必要时,EFlasher会对你磁盘进行重新分区及格式化 (会事先提醒)。
 
此功能要求你有一个容易大过 eMMC Flash 大小的U盘,或者移动硬盘,并且里面没有重要的数据,因为在必要时,EFlasher会对你磁盘进行重新分区及格式化 (会事先提醒)。

Revision as of 03:13, 20 July 2018

English

1 eFlasher介绍

eFlasher (eMMC-flasher) 是FriendlyElec官方发布的工具,让玩家能方便和轻松地将系统安装到板载的eMMC上运行,甚至可以抛开电脑,就能让你在多个系统中,选择并安装上你想要的系统。

eFlasher同时为量产提供了灵活的设置选项,以方便工厂量产时安装定制系统。

eFlasher为方便使用,提供了图形界面与命令行两个版本,为方便描述,这里为它们分别命名为: eflasher-gui 和 eflasher-console:
1) eflasher-gui: 有图形界面的eFlasher,推荐有LCD屏或者HDMI显示的用户使用,可以使用触摸屏操作,没有触摸屏时也可以使用鼠标操作;
2) eflasher-console: 命令行版本的eFlasher,可在串口终端或者ssh命令行上使用;

2 eFlasher 的安装

  • 第一步: 下载包含eflasher工具的固件

到你所购买的板子相关WiKi页面,找到下载固件的章节,下载固件文件名为:XXXX-eflasher-YYYYMMDD-full.img.7z 的固件(其中XXXX替换为板子所在的平台型号, YYYYMMDD是该固件发布的日期),
这个固件内已经包含了所属平台的所有官方系统映象,包括最新版本的 Debian, Android5, Android4.4和Ubuntu core 系统 (不同的平台提供的系统有所不同);
将 XXXX-eflasher-YYYYMMDD-full.img.7z 下载到电脑上,在Windows下制作SD卡,还需要下载Windows下的烧写工具: win32diskimager.rar;

  • 第二步: 用eflasher固件制作SD启动卡

将固件用7z软件解压,得到.img结尾的文件,在Windows下插入SDHC卡(限4G及以上的卡),以管理员身份运行Win32DiskImager,选择 Image File载入固件,选择你的SD卡盘符,点 Write 即开始写Image到SD卡;
如果你的电脑用的是Linux系统,你也可以用 dd 命令将解压后得到的 .img 文件直接写入SD卡完成启动卡的制作;

  • 第三步: 启动eFlasher工具

将制作好的SD卡插入开发板, 按住标住有“BOOT”字样的按键,上电,如你有HDMI、LCD或者USB2LCD,可以在上电之前先连接好。


3 启动图形界面版本的eFlasher

系统启动时,图形界面版本的eFlasher会随系统自动启动,如你有连接HDMI或者LCD,应该会看到如下所示的界面:

Eflasher-gui

点击触摸屏,或者用鼠标选择你需要烧写到eMMC的系统即可。

4 启动命令行版本的eFlasher

如果板子没有连接显示设备,可以通过串口或ssh登录开发板,在命令行终端下输入命令 eflasher也可以进入eflasher的命令行交互界面,命令行交互界面如下图所示:

Eflasher-console



5 开机自动烧写指定的系统

有三种途径可以进行配置:

  • 方法1:在图形界面上,选择你要烧写的系统,在Ready to Go预览界面上,在屏幕下方钩选 "Start automatically at startup" 。
  • 方法2: 将SD卡挂载到Windows电脑上,用notepad+文本编辑器在SD卡的Fat分区上新建一个名为eflasher.conf文件 (如果已存在就直接编辑即可),例如,要开机自动烧写debian系统,其内容如下:
[General]
autoStart=/mnt/sdcard/debian

其中,autoStart字段所保存的路径,是你要烧写的系统的rom路径,本例是 Fat分区的 debian 目录。

  • 方法3: 开发板运行状态下,通过串口终端,用vi编辑文件:/mnt/sdcard/eflasher.conf,文件不存在就新增一个,内容同上面的方法2。

6 eMMC Flash的备份和恢复

这个功能类拟于电脑上面的 ghost 软件,可以将整个 eMMC Flash 的数据备份到 U盘 或 移动硬盘,或者从 U盘 恢复系统到 eMMC Flash,恢复系统时,可以恢复到 同一个开发板,也可以恢复到 同型号同规格的其他开发板。

此功能最有用之处是:
在一块开发板上做好定制,比如预装好软件和设置,然后备份一份出来,恢复到其他开发板上,以达到量产的目的。

此功能要求你有一个容易大过 eMMC Flash 大小的U盘,或者移动硬盘,并且里面没有重要的数据,因为在必要时,EFlasher会对你磁盘进行重新分区及格式化 (会事先提醒)。

6.1 图形界面上执行备份和恢复

在 EFlasher 界面上点击 Backup and Restore 进入备份菜单,根据提示操作即可。

6.2 命令行进行备份和恢复

在命令行终端执行以下命令启动命令行EFlasher,命令行终端可以是ssh或者串口终端:

# eflasher

然后你会看到如下功能菜单项:

----------------------------------------------------------------------
  eflasher-console running on NanoPi-NEO-Core
----------------------------------------------------------------------
  Select an OS to Install:
    1) friendlycore-xenial
 
  Backup eMMC Flash to removable disk:
    bk) Start backup, use "nanopi-neo-core-emmc.raw" as the file name
 
  Restore eMMC flash from backup file:
    r1) nanopi-neo-core-emmc.raw
----------------------------------------------------------------------
>>> Please choose (1/bk/r1) :

根椐菜单项前面插号的指示, 输入bk并按回车启动备份,在命令行模式下,EFlasher会立即开始备份数据到U盘,存储为扩展名为raw的文件,如下图所示:

----------------------------------------------------------------------
  Backing up eMMC to /mnt/udisk/nanopi-neo-core-emmc.raw
----------------------------------------------------------------------
  Speed: 20.32 MB/s
  Remaining Time: 00:04:38
  [============______________________________________]  24%
----------------------------------------------------------------------
  >>>If you want to cancel, input "c" then press <Enter> key.

7 针对量产用户的定制选项

7.1 EFlasher对系统映象的管理

EFlasher会从SD卡的Fat分区读取系统映象文件,将SD卡插入Windows的电脑,你可以直接管理这些映象文件。
在SD卡的Fat分区,根目录下的每一个子目录,代表一个OS,目录名称可随意命令(但不能是中文),
如果SD卡的Fat分区空间不够用,你也可以在一个U盘中存放这些系统文件,目录结构与SD卡的相同。

例如Fat分区有下面4个目录:
Eflasher-folder
对应以下4个可安装的系统:
Eflasher-oslist

每个目录下的文件,分别说明如下:
烧写配置文件:

env.conf 用于设置uboot环境变量,内核启动参数
info.conf 用于个性化烧写程序界面上的名称、图标以及定义该系统所属的硬件平台,示例说明:

title=Android 5 ---> 系统名称显示为Android5
require-board=s5p4418 ---> 所属平台 s5p4418, 可选的值还有 s5p6818, h3, a64 等
version=2016-11-17 ---> 该rom的版本 (或制作的日期)
icon=androidos.png ---> 图标
上面的定义对应的显示所下:
Eflasher-infoconf

系统映象文件, 不同的系统可能不同:

2ndboot.bin Second Boot
boot.img boot分区映象文件
bootloader U-Boot
cache.img Android Cache分区映象
system.img 系统分区的映象
userdata.img 数据分区的映象
partmap.txt 分区描述文件

以上映象文件默认已经预装在eFlasher的固件中,不过你也可以到指定板子的下载地址下载它们,进入官方的下载地址指向的网盘目录,这些系统映象放在一个名为 images-for-eflasher 的目录下,以下是S5P6818开发板的网盘目录:

EImages-for-eflasher.png

可以下载这个目录下的文件然后解压到SD卡的Fat分区或者U盘即可。


7.2 制作自已的量产Eflasher烧写卡

注:暂时只支持S5P4418和S5P6818平台
下面是以制作一张S5P4418平台的EFlasher烧写卡 (内含Ubuntu core系统)为例进行说明 ,命令如下:

git clone https://github.com/friendlyarm/sd-fuse_nanopi2.git
cd sd-fuse_nanopi2
sudo ./mkimage.sh eflasher
DEV=`sudo losetup -f`
sudo losetup ${DEV} s5p4418-eflasher-sd8g-$(date +%Y%m%d).img

如果是S5P6818,你需要将sd-fuse_nanopi2.git改为sd-fuse_nanopi3.git,ROM文件名前缀由s5p4418改为s5p6818,下同。

上面的步骤已经生成了一个可启动的EFlasher系统映象,名为s5p4418-eflasher-sd8g-YYYYMMDD.img,但里面还没有可以烧写到eMMC的文件,下面的命令我们将把一个 Ubuntu core系统放进去,在这个步骤中,你可以把你们自已的系统映象放进去代替下面命令中的 core-qte-images.tgz, 以达到量产自已的系统的目的:

sudo partprobe ${DEV}
sudo mkfs.vfat ${DEV}p1 -n FRIENDLYARM
sudo mkdir -p /mnt/fat
sudo mount -t vfat ${DEV}p1 /mnt/fat
sudo wget -qO- http://112.124.9.243/dvdfiles/S5P4418/images-for-eflasher/core-qte-images.tgz | tar xvz -C /mnt/fat
sudo umount /mnt/fat
sudo losetup -d ${DEV}

如果是S5P6818,将http://112.124.9.243/dvdfiles/S5P4418 改为 http://112.124.9.243/dvdfiles/S5P6818。

上面的命令完成后,会生成一个 s5p4418-eflasher-sd8g-YYYYMMDD.img 文件,内含一个Ubuntu core系统,将 s5p4418-eflasher-sd8g-YYYYMMDD.img 用 dd 命令写入 SD卡,就可以用此 SD卡启动开发板,启动后通过EFlasher烧写程序,将系统烧写入 eMMC。

7.3 制作自已的系统映象

7.3.1 4418/6818平台Android系统映象制作

在制作Android映象为例,首先编译Android源代码,编译完成后,进入 out/target/product/XXXXX 目录 (其中XXXXX是产品名称,例如4418平台名字是nanopi2,6818平台是nanopi3) ,然后将该目录下的以下映象文件替换掉SD卡Fat分区Android目录下的同名文件即可,如下图的示例所示:

Eflasher-replace-files.png

7.3.2 4418/6818/H3/H5平台Linux系统映象制作

请参考: Assembling_the_SD_card_image_yourself