Install and Run Image Creator

Instalation

Just run

apt-get install moblin-image-creator

Creating an Image

As described above, the image is the final result of the process. It's what's going to be used to install the file system that will run at the target device. There is two ways to create the image: using the GUI or using the command line. Both are described bellow.

Using the GUI

Start the image creator
  • $ sudo image-creator
     
    

    You will be presented with the main interface:

    Figure 3.1. Interface

    Browser


What matters for now at this moment is the Platform Project session. The three buttons are use to Add a project, Delete a project or to open a terminal chrooted into the project selected in case any manual changes are needed.

Create the Project
  • Click the button Add and fill the options

    • Name - Name of the project

    • Desc - Description of this project (optional)

    • Path - Where the projects and all related files will be placed

    • Platform - Choose the target platform

    Figure 3.2. Options

    Browser


Wait for the installation
[Tip]

It can take a long time to download and set up your project.It can be advantageous to set up a local cache which is explained at the end of this document

Create the target system

The next step is to create the target and add one or more functional sets. In this session of the interface we see the buttons Add, to add a target to the current project, Add Functional Set, to include a functional set or more to the selected target, Delete, to delete a target from the list, Terminal, to open a chrooted terminal inside the target file system and Kernel cmdline that can be used to add command line parameters to be used when the target kernel is executed.

  • Name the target

    Figure 3.3. Target

    Browser


Choose a functional set

Moblin calls a bundle of packages an fset, where fsets can have dependencies on other fsets, and installing an fset will automatically install dependent fsets. For example

 
	            
			[Core]
			DESC=Fundamental fset that provides a root filesystem
			PKGS=linux-image-386
			DEBUG_PKGS=gdb man-db manpages
			DEPS=
			
			
			[Hildon-Application-Framework]
			DESC=Hildon Application Framework for enabling Mobile Applications
			PKGS=ubuntu-mobile sdk-default-icons
			DEBUG_PKGS=
			DEPS=core
			 
	    

Here the "core" fset provides additional packages to make it possible to boot a target filesystem and get to a command line prompt, and a "hildon-application-framework" fset that will install additional package (on top of core) to enable running a Hildon desktop.

  • Figure 3.4. Functional Set

    Browser


After the process is done, we will have a file system ready to be transfered to the target device or we can use the Terminal button to open a chrooted terminal and run the hildon environment directly in a Xephyr session.

Generate image

The last step, which can be optional, is to create the image for the target. There are five different image styles that can be created, attached to the five first buttons in this session of the interface:

  • Live USB - Create a live USB image that can be burned to a USB drive. You can boot and run directly from it. Nothing is written to the target device.

  • Live RW USB - Same as the above but it supports data persistence. Every change made on the system while running this image will be saved on the USB drive.

  • Install USB - The image will be suitable to install on an actual device.

    Figure 3.5. Image

    Browser


Currently, only the Install USB image type is supported. Once the generation of the image is done, use the Write USB Image button to write it to your USB drive.

Using the command line

As stated before, the same steps above can be done using the command line. This is very handy once the parameters are already defined as we can process the whole projects in batch. The steps taken can be as simple as follows:

  1. Create the Project

    • $ sudo image-creator -c create-project                  \
                            --platform-name mccaslin            \
                            --project-name "myproject"          \
                            --project-path "/home/user/myproject" \
                            --project-description "My Samsung Q1 Ultra project"
        
      
  2. Create the target system

    • $ sudo image-creator -c create-target          \
                            --project-name "myproject" \
                            --target-name "target1"
        
      
  3. Install the functional set.

    • $ sudo image-creator -c install-fset         \
                            --project-name myproject \
                            --target-name target1    \
      		      --fset-name "samsung-full-mobile-stack-with-proprietary"
        
      
  4. Create the image

    • $ sudo image-creator -c create-install-usb \
                           --project-name myproject \
                           --target-name target1 \
                           --image-name myproject_target1_install-usb.img
        
      

    Once finished, a file called myproject_target1_install-usb.img will have the image ready to be burn to a USB drive and be installed in the target. Another option is to chroot to the generated file system with:

    • $ sudo project-builder -c chroot-target        \
                            --project-name myproject \
                            --target-name target1
        
      

And from there run the hildon-desktop pointing to a Xephyr instance.