Meego Wiki
Views

Image Configurations - KickStart Files

From MeeGo wiki
Revision as of 09:29, 6 July 2011 by Kevinwang (Talk | contribs)
Jump to: navigation, search

KickStart (.ks) configuration files are passed to MIC2 to create tailored images. KickStart files specify what repos to pull from, what packages to include, what post-scripts to run and what type of images to create.

For more details about the kickstart format, see http://fedoraproject.org/wiki/Anaconda/Kickstart.

Note that not all KickStart directives and options are supported for creating Meego images. MIC2 also adds some specific directives and options. More explained below

Contents

Official Meego .ks files

The official Meego .ks files are here:

Formal release:

 http://repo.meego.com/MeeGo/releases/1.2.0/builddata/image-configs/

Weekly build:

 http://repo.meego.com/MeeGo/builds/trunk/latest/builddata/image-configs/

You can download and use them as a base for the Meego images you create. Modify these .ks files as you wish to create tailored images.

We suggest you to create .ks files by kickstarter tool with image-configurations pkg as a formal usage.

MeeGo Patterns

MeeGo use image-configurations package to create .ks files with command line tool 'kickstarter'.

The organization of image-configurations:

 configuration.yaml -- default and platform generic configs, also point to external platform path, it's the entrance for kickstart.
 repos.yaml         -- a list of repositories to be used in the kickstart files
 core               -- path for image-configs under 'core' platform 
 compliance         -- path for image-configs under 'compliance' platform 
 ivi                -- path for image-configs under 'ivi' platform 
 handset            -- path for image-configs under 'handset' platform 
 netbook            -- path for image-configs under 'netbook' platform 
 tablet             -- path for image-configs under 'tablet' platform 
 custom/part        -- store partition definition
 custom/scripts     -- store postscripts definition

Kickstarter

Kickstarter is a tool for create kickstart files to build meego images

Example:

 kickstarter  --configs configurations.yaml --repos repos.yaml 

Configuration file:

 The "configuration.yaml" file here is an example only, for meego kickstart files,
 consult the image-configurations package.
 This file has the definition of configurations. The Configurations inherit 
 from platforms first then from the DEFAULT section. The image configurations
 override the all other settings (in DEFAULT and platform sections).

Repo file:

 This file contains a list of repositories to be used in the kickstart files.

Kickstart from image-configurations

It's strongly recommended to create .ks files by kickstarter from image-configurations. The followings are how does image-configurations manage those parts in .ks files.

This configurations.yaml file has a generic definition of configurations. The Configurations inherit from platforms first then from the DEFAULT section. The image configurations override all other settings (in DEFAULT and platform sections).

Basically all common options should go to the DEFAULT section. If an options is related to a specific platform, then that option should be added to the platform section. Try to keep platforms clean and very generic, if needed, create a new platform section and use it when many options for a new platform are common.

Detail for the keywords

"Name": description of the configuration file

 Name: MeeGo Netbook/Nettop  

"Schedule": When should this image be generated:

 # *: always
 # 0: Monday
 # 1: Tuesday
 # ...
 # If no schedule keyword is present, then image will not be created

 Schedule: "*"

"Active": if this image is active

 Active: True

"Platform": Inherit from platform

 Platform: NETBOOK

"Part": Partition specific configs

 Part: qemu
 
 # Part are stored in custom/part and referenced by part name

"Kernel": Based kernel

 Kernel: kernel-adaptation-mrst

"Architecture": Based architecture

 Architecture: ia32

"Mic2Options": MIC2 options to be used when creating this image

 Mic2Options: "-f livecd"

"Desktop": Desktop type

 Desktop: None 

"Timezone"

 Timezone: America/New_York

"FileName": The name of the configuration file

 FileName: netbook-ia32

"Groups": package groups

 Groups:
    - MeeGo Netbook Desktop
    - MeeGo Core
    - Printing
    - Games

"ExtraPackages": Additional packages that are not part of any group

 ExtraPackages:
    - chromium
    - adobe-release
    - flash-plugin

"Repos": Repos to use in addition to default repos, those are define in the repos.yaml file

 Repos:
    - adobe

"PostScripts": Post-scripts to be run after the image is installed

 PostScripts:
    - meegotouch-n900
    - bootchart
    - fstab-n900
    - arch-armv7hl
 
 # post-scripts are stored in custom/scripts and referenced by post-scripts name
Personal tools