Create Tizen Images with MIC
This topic provides information on how to create a Tizen image.
Before creating an image, study the following instructions:
- Setting up the Development Environment
- Installing Development Tools
- Cloning Tizen Source Files
- Building Packages Locally with GBS
MIC image creator
MIC is an image creator that is used to create images for Tizen.
The tool offers three major functions as follows:
- Create an image in a specific format.
- Chroot into an image.
- Convert an image to another format.
For more information on the tool and its functions, see MIC Image Creator.
Prepare the kickstart file
Image creation requires a kickstart file that describes how to create an image. To prepare the kickstart file, follow the steps below:
-
Download the original kickstart file:
$ wget <Snapshot_date_URL>/images/<Repository>/<Image_name>/<kickstart_file>
-
For example:
-
Tizen: latest: Unified / standard /
mobile-wayland-armv7l-tm1.ks
:$ wget http://download.tizen.org/releases/milestone/tizen/unified/tizen-unified_20211014.1/images/standard/mobile-wayland-armv7l-tm1/tizen-unified_20211014.1_mobile-wayland-armv7l-tm1.ks
-
-
-
Modify the original kickstart file to update the
baseurl
properties and to include locally built RPMs into the Tizen image.Add a --priority option to increase a local repository’s priority for build. For example: Tizen: latest: Unified / standard /
mobile-wayland-armv7l-tm1.ks
.-
The
repo
section of the original kickstart file:repo --name=unified-standard --baseurl=http://download.tizen.org/snapshots/tizen/unified/tizen-unified_20211014.1/repos/standard/packages/ --ssl_verify=no repo --name=base_arm --baseurl=http://download.tizen.org/snapshots/tizen/base/latest/repos/standard/packages/ --ssl_verify=no
-
The
repo
section of the modified kickstart file (added a local repository and only added –priority option at the end of each line):repo --name=unified-standard --baseurl=http://download.tizen.org/releases/milestone/tizen/unified/tizen-unified_20211014.1/repos/standard/packages/ --ssl_verify=no --priority=99 repo --name=base_arm --baseurl=http://download.tizen.org/releases/milestone/tizen/base/latest/repos/standard/packages/ --ssl_verify=no --priority=99 repo --name=local --baseurl=file:///home/<User>/GBS-ROOT/local/repos/<gbs.conf_profile>/armv7l/ --priority=1
Note
- The
baseurl
property of thelocal
repo specifies the file path where locally built RPMs are located. - Setting the priority of the
local
repository at 1 and the priorities of remote repositories at 99 guarantees that MIC uses the packages that exist in the local repository with a higher priority when packages are available in both remote and local repositories. - To add new packages to a Tizen image, add the new packages’ names into the
%package
section, and add them to thelocal
repository. You can check package’s name in theName
section of the spec file.
-
Create a Tizen image
To create a Tizen image, follow the steps below:
$ gbs createimage --ks-file=mobile-wayland-armv7l-tm1.ks
NoteIf you have more than 4 GB of RAM available, use the
--tmpfs
option to speed up the image creation:
$ gbs createimage --ks-file=mobile-wayland-armv7l-tm1.ks --tmpfs
The following example shows the gbs createimage
command output:
...
Info: Running scripts ...
kickstart post script start
Info: Checking filesystem /var/tmp/mic/build/imgcreate-Rii2MC/tmp-pVQesQ/platform.img
Info: Checking filesystem /var/tmp/mic/build/imgcreate-Rii2MC/tmp-pVQesQ/data.img
Info: Checking filesystem /var/tmp/mic/build/imgcreate-Rii2MC/tmp-pVQesQ/ums.img
Info: Pack all loop images together to mobile-wayland-armv7l-tm1-202106161915.tar.gz
Info: The new image can be found here:
/home/<User>/tizen/mic-output/mobile-wayland-armv7l-tm1-202106161915.tar.gz
/home/<User>/tizen/mic-output/mobile-wayland-armv7l-tm1-202106161915.packages
/home/<User>/tizen/mic-output/mobile-wayland-armv7l-tm1-202106161915.xml
/home/<User>/tizen/mic-output/manifest.xml
Info: Finished.
mobile-wayland-armv7l-tm1-202106161915.tar.gz
is the image file and mobile-wayland-armv7l-tm1-202106161915.packages
contains package info integrated in the image, including package name, version, and VCS information.
Once the Tizen image is created, the final step is to flash the image to a target device for verification. For more information, see Flashing an Image to Device.