Difference between revisions of "Template:ROM-Maker-lite Introduce"

From FriendlyARM WiKi
Jump to: navigation, search
(updated by API)
(updated by API)
Line 1: Line 1:
If you have a customized U-boot, Linux kernel and file system and want to make a customized Linux image(also called "ROM") based on these files you can run the "dd" command to copy all the files in your bootable SD card. However this is not very efficient. FriendlyElec provides a better utility:[https://drive.google.com/open?id=1ioj7_cGV--BowL3MizSPDSy0ZXCzXc33 rom-maker-lite].<br><br>
+
如果你定制了U-boot、Linux内核、文件系统,并且想基于自己定制的文件制作Linux系统映像文件 (以下简称为ROM文件),你可以选择用dd命令将带有你的应用程序和配置的SD卡的数据完整地拷贝出来,这种方法简单粗暴,但是效率不高。另外,你也可以使用FriendlyElec 提供的[https://pan.baidu.com/s/1DSd4XYXr1yGyQTdRNQNoOw rom-maker-lite]工具。<br><br>
rom-maker-lite is a general utility to make image files. It now supports making a Linux image file for both SD card and eflasher for FriendlyElec's H3/H5 based boards. It doesn't support making an Android image so far. After extract it and run the "./mkimage.sh" command you will see the following information:
+
rom-maker-lite是一套通用的制作映像文件的脚本工具,目前支持为 H3/H5 系列的开发板制作Linux平台的sd/eflasher ROM文件(尚未支持Android)。<br>
 +
* <b>执行./mkimage.sh查看帮助信息:</b>
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
$ ./mkimage.sh  
 
$ ./mkimage.sh  
Line 14: Line 15:
 
::{| class="wikitable"
 
::{| class="wikitable"
 
|-
 
|-
|Parameter||Comment
+
|参数||说明
 
|-
 
|-
 
| -c <filesystem type>  ||  
 
| -c <filesystem type>  ||  
-c it is used to specify a partition's file system type. For an H3/H5 based board:<br>
+
-c 用于指定ROM Image内各分区的文件系统格式,对于H3/H5系列的开发板:<br>
-c 1 applies to an SD card ROM image of FriendlyCore/Ubuntu/Debian/OpenWrt;<br>
+
-c 1表示使用“misc(bootloader) + fat32 boot.img + ext4 rootfs.img”布局,适用于FriendlyCore/Ubuntu/Debian/OpenWrt等sd ROM; <br>
-c 2 applies to an eflasher ROM image
+
-c 2表示使用"misc(bootloader) + fat32 boot.img + ext4 rootfs.img + exfat friendlyarm.img"布局,适用于eflasher ROM。
 
|-
 
|-
| -m <partmap>  || it is used to specify a partmap file for making a ROM image. In general different SoCs or BSPs use different partmap files.
+
| -m <partmap>  ||
 +
-m 用于指定制作ROM时需要的partmap文件。<br>
 +
partmap文件用于指定ROM Image的组成文件和分区的大小,不同的板子或者是同一板子不同版本的BSP使用的partmap文件是不一样的。
 
|-
 
|-
 
| -d "<misc dir>;<partition1 dir>;<partition2 dir>;..."  ||
 
| -d "<misc dir>;<partition1 dir>;<partition2 dir>;..."  ||
-d it is used to specify directories for system files such as bootloader, kernel, rootfs etc. Each directory is separated by a ";". For an H3/H5 based board:<br>
+
-d 用于指定系统文件所在的目录,每个路径之间用“;”分割,对于H3/H5系列的开发板:<br>
<misc dir>: used to specify the bootloader's directory;<br>
+
<misc dir>: 用于指定bootloader所在的目录路径;<br>
<partition1 dir>: used to specify the boot partition's directory;<br>
+
<partition1 dir>: 用于指定boot分区的目录路径;<br>
<partition2 dir>: used to specify the rootfs partition's directory;<br>
+
<partition2 dir>: 用于指定rootfs分区的目录路径;<br>
"..." means more directories can be specified for files. For example when you make an eflasher ROM image you need a directory for the "friendlyarm" partition;
+
最后的...表示就还可以接收更多的目录路径。当制作eflasher ROM时,就需要添加friendlyarm分区的目录路径;
 
|-
 
|-
 
|}
 
|}
  
* <b>Prerequisites</b>
+
* <b>准备工作</b>
A host PC running Ubuntu. The Ubuntu versions FriendlyElec tested include:<br>
+
经测试过PC机 Ubuntu版本包括:<br>
 
1) ubuntu-16.04.5-desktop-amd64.iso <br>
 
1) ubuntu-16.04.5-desktop-amd64.iso <br>
 
2) ubuntu-18.04.1-desktop-amd64.iso <br>
 
2) ubuntu-18.04.1-desktop-amd64.iso <br>
If you PC cannot generate an image we recommend you to use one of the two versions we listed.<br>
+
如果你当前PC机使用的Ubuntu系统无法成功执行出系统映像,请尝试切换到上面这两个版本的Ubuntu系统。<br>
  
Before you proceed make sure you have installed the following package otherwise install it by running the following command.
+
在开始制作系统映像前,必须先安装下列软件包:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
$ apt-get install tree exfat-utils dosfstools python3-tk
 
$ apt-get install tree exfat-utils dosfstools python3-tk
 
</syntaxhighlight>
 
</syntaxhighlight>
  
You need to login as root to generate an image. Therefore make sure you are currently working as root otherwise switch to root:
+
由于制作系统映像需要root权限,请先切换到root用户:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
$ su root
 
$ su root
 
</syntaxhighlight>
 
</syntaxhighlight>

Revision as of 09:49, 18 July 2019

如果你定制了U-boot、Linux内核、文件系统,并且想基于自己定制的文件制作Linux系统映像文件 (以下简称为ROM文件),你可以选择用dd命令将带有你的应用程序和配置的SD卡的数据完整地拷贝出来,这种方法简单粗暴,但是效率不高。另外,你也可以使用FriendlyElec 提供的rom-maker-lite工具。

rom-maker-lite是一套通用的制作映像文件的脚本工具,目前支持为 H3/H5 系列的开发板制作Linux平台的sd/eflasher ROM文件(尚未支持Android)。

  • 执行./mkimage.sh查看帮助信息:
$ ./mkimage.sh 
Usage:
    $ apt-get install tree exfat-utils dosfstools python3-tk
    $ ./mkimage.sh -c <filesystem type> -m <partmap> -d "<misc dir>;<partition1 dir>;<partition2 dir>;..."
        -c <filesystem type>: 
            1: misc(bootloader) + fat32 boot.img + ext4 rootfs.img
            2: misc(bootloader) + fat32 boot.img + ext4 rootfs.img + exfat friendlyarm.img
            3: misc(bootloader) + ext4 boot.img + ext4 rootfs.img
参数 说明
-c <filesystem type>

-c 用于指定ROM Image内各分区的文件系统格式,对于H3/H5系列的开发板:
-c 1表示使用“misc(bootloader) + fat32 boot.img + ext4 rootfs.img”布局,适用于FriendlyCore/Ubuntu/Debian/OpenWrt等sd ROM;
-c 2表示使用"misc(bootloader) + fat32 boot.img + ext4 rootfs.img + exfat friendlyarm.img"布局,适用于eflasher ROM。

-m <partmap>

-m 用于指定制作ROM时需要的partmap文件。
partmap文件用于指定ROM Image的组成文件和分区的大小,不同的板子或者是同一板子不同版本的BSP使用的partmap文件是不一样的。

-d "<misc dir>;<partition1 dir>;<partition2 dir>;..."

-d 用于指定系统文件所在的目录,每个路径之间用“;”分割,对于H3/H5系列的开发板:
<misc dir>: 用于指定bootloader所在的目录路径;
<partition1 dir>: 用于指定boot分区的目录路径;
<partition2 dir>: 用于指定rootfs分区的目录路径;
最后的...表示就还可以接收更多的目录路径。当制作eflasher ROM时,就需要添加friendlyarm分区的目录路径;

  • 准备工作

经测试过PC机 Ubuntu版本包括:
1) ubuntu-16.04.5-desktop-amd64.iso
2) ubuntu-18.04.1-desktop-amd64.iso
如果你当前PC机使用的Ubuntu系统无法成功执行出系统映像,请尝试切换到上面这两个版本的Ubuntu系统。

在开始制作系统映像前,必须先安装下列软件包:

$ apt-get install tree exfat-utils dosfstools python3-tk

由于制作系统映像需要root权限,请先切换到root用户:

$ su root