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

From FriendlyELEC WiKi
Jump to: navigation, search
 
(12 intermediate revisions by 2 users not shown)
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://pan.baidu.com/s/1DSd4XYXr1yGyQTdRNQNoOw rom-maker-lite].<br><br>
+
If you have a customized U-boot, Linux kernel and file system and want to use them to make a customized Linux image file(we call it "ROM" in the following sections) you can do it this way: use the "dd" command to copy all the data and files from an existing SD card with a Linux ROM, replace the U-boot, kernel or file system with your customzied files and use the "dd" command again to combine these files to a ROM. However this is inefficient. We suggest you use our rom-maker-lite utility to do it, which can be downloaded at [https://pan.baidu.com/s/1DSd4XYXr1yGyQTdRNQNoOw rom-maker-lite].<br><br>
rom-maker-lite是一套通用的制作映像文件的脚本工具,目前支持为 H3/H5 系列的开发板制作Linux平台的sd/eflasher ROM文件(尚未支持Android),解压后执行./mkimage.sh可以查看帮助信息:
+
The rom-maker-lite utility is a general tool to make a ROM. It currently supports making a Linux based sd/eflasher ROM for FriendlyElec's H3/H5 boards .Making an Android image is not supported yet.<br>
 +
* <b>Run ./mkimage.sh to check usage info:</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 用于指定ROM文件内各分区的文件系统格式,对于H3/H5系列的开发板:<br>
+
-c specifies file systems' formats for the partitions in a ROM Image. Specifically for an H3/H5 based board:<br>
-c 1适用于FriendlyCore/Ubuntu/Debian/OpenWrt等sd ROM; <br>
+
-c 1 stands for "misc(bootloader) + fat32 boot.img + ext4 rootfs.img" and this applies to an sd ROM of FriendlyCore/Ubuntu/Debian/OpenWrt;<br>
-c 2适用于eflasher ROM。
+
-c 2 stands for "misc(bootloader) + fat32 boot.img + ext4 rootfs.img + exfat friendlyarm.img" and this applies to an eflasher ROM.
 
|-
 
|-
| -m <partmap>  || 用于指定制作ROM时需要的partmap文件,partmap文件用于指定ROM Image的布局方式和组成文件,不同的板子或者是同一板子不同版本的BSP使用的partmap文件是不一样的。
+
| -m <partmap>  ||
 +
-m specifies a partmap file for making a ROM.<br>
 +
A partmap file is used to specify the files and their sizes included in a ROM. ROMs made for different boards or BSPs may need different partmap files.
 
|-
 
|-
 
| -d "<misc dir>;<partition1 dir>;<partition2 dir>;..."  ||
 
| -d "<misc dir>;<partition1 dir>;<partition2 dir>;..."  ||
-d 用于指定系统文件(一般包括bootloader/kernel/rootfs)所在的目录,每个路径之间用“;”分割,对于H3/H5系列的开发板:<br>
+
-d specifies file system's path and each path is separated by a ";". Specifically for an H3/H5 based board:<br>
<misc dir>: 用于指定bootloader所在的目录路径;<br>
+
<misc dir>: specifies the bootloader's path;<br>
<partition1 dir>: 用于指定boot分区的目录路径;<br>
+
<partition1 dir>: specifies the boot partition's path;<br>
<partition2 dir>: 用于指定rootfs分区的目录路径;<br>
+
<partition2 dir>: specifies the rootfs partition's path;<br>
最后的...表示就还可以接收更多的目录路径。当制作eflasher ROM时,就需要添加friendlyarm分区的目录路径;
+
"..." means more paths can be defined. When you make an eflasher ROM you need to include the friendlyarm partition's path;
 
|-
 
|-
 
|}
 
|}
  
* <b>准备工作</b>
+
* <b>Preparations</b>
经测试过PC机 Ubuntu版本包括:<br>
+
We tested the following Ubuntu versions that worked with a PC host:<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>
如果你当前PC机使用的Ubuntu系统无法成功执行出系统映像,请尝试切换到上面这两个版本的Ubuntu系统。<br>
+
If you cannot make a ROM under a Linux system with your PC host you'd better use either one of the above two systems we tested.<br>
  
在开始制作系统映像前,必须先安装下列软件包:
+
Before proceed make sure you have installed the following packages:
 
<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>
  
由于制作系统映像需要root权限,请先切换到root用户:
+
You need the root access right to make a ROM:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
$ su root
 
$ su root
 
</syntaxhighlight>
 
</syntaxhighlight>

Latest revision as of 09:29, 22 July 2019

If you have a customized U-boot, Linux kernel and file system and want to use them to make a customized Linux image file(we call it "ROM" in the following sections) you can do it this way: use the "dd" command to copy all the data and files from an existing SD card with a Linux ROM, replace the U-boot, kernel or file system with your customzied files and use the "dd" command again to combine these files to a ROM. However this is inefficient. We suggest you use our rom-maker-lite utility to do it, which can be downloaded at rom-maker-lite.

The rom-maker-lite utility is a general tool to make a ROM. It currently supports making a Linux based sd/eflasher ROM for FriendlyElec's H3/H5 boards .Making an Android image is not supported yet.

  • Run ./mkimage.sh to check usage info:
$ ./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
Parameter Comment
-c <filesystem type>

-c specifies file systems' formats for the partitions in a ROM Image. Specifically for an H3/H5 based board:
-c 1 stands for "misc(bootloader) + fat32 boot.img + ext4 rootfs.img" and this applies to an sd ROM of FriendlyCore/Ubuntu/Debian/OpenWrt;
-c 2 stands for "misc(bootloader) + fat32 boot.img + ext4 rootfs.img + exfat friendlyarm.img" and this applies to an eflasher ROM.

-m <partmap>

-m specifies a partmap file for making a ROM.
A partmap file is used to specify the files and their sizes included in a ROM. ROMs made for different boards or BSPs may need different partmap files.

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

-d specifies file system's path and each path is separated by a ";". Specifically for an H3/H5 based board:
<misc dir>: specifies the bootloader's path;
<partition1 dir>: specifies the boot partition's path;
<partition2 dir>: specifies the rootfs partition's path;
"..." means more paths can be defined. When you make an eflasher ROM you need to include the friendlyarm partition's path;

  • Preparations

We tested the following Ubuntu versions that worked with a PC host:
1) ubuntu-16.04.5-desktop-amd64.iso
2) ubuntu-18.04.1-desktop-amd64.iso
If you cannot make a ROM under a Linux system with your PC host you'd better use either one of the above two systems we tested.

Before proceed make sure you have installed the following packages:

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

You need the root access right to make a ROM:

$ su root