Meego Wiki
Views

SDK/Tutorials/Add a new target

From MeeGo wiki
< SDK | Tutorials
Revision as of 04:50, 6 January 2011 by Wwhbuaa (Talk | contribs)
Jump to: navigation, search

Contents

Overview

  • Problem statement:
  1. MeeGo SDK uses MADDE to manage multiple targets and developers are easy to switch between them. Basically a target includes 3 components: sysroot, runtime(qemu image) and toolchain. The toolchain is rarely changed during the development of a major MeeGo release like 1.1 or 1.2. For sysroot and runtime, they change daily since MeeGo release team creates daily build for different MeeGo profiles like Handset, Netbook, IVI and so on.
  2. By default, the installation of MeeGo SDK will include several targets which are created together with the major MeeGo release. But if developers want to keep tracking the latest MeeGo status, they have to manually add latest target like daily sysroot/runtime into MeeGo SDK. Adding a new target is not straightforward and not easy for developer to do.
  • This wiki page introduces a tool to easily add new target into MeeGo Linux SDK.

Pre-requisites

Usage and examples

  • Get help
    ./meego-sdk-update-target
  1. There are some options set with default value if they are not specified on command line. You can change them for your convenience.
  2. The tool only support Handset and Netbook as targets at this stage.
  3. The tool is a shell script and free to change for your convenience.
    sudo  meego-sdk-update-target -u 1.1.80.13.20110104.1 -url http://repo.meego.com/MeeGo/builds/trunk
    sudo  meego-sdk-update-target -d netbook -u trunk-daily-1.1.80.12.20101223.1 -url http://download.meego.com/trunk-daily/builds/1.1.80
    sudo  meego-sdk-update-target -d handset -u testing-daily-1.1.80.13.20110104.1 -url http://download.meego.com/testing-daily/builds/1.1.80
  • To update with a new Handset MeeGo target with specific sysroot and runtime tarball files, you need to provide a name of the target with "-u" option.
    sudo  meego-sdk-update-target -u my-target -sysroot url_to_sysroot_tar.gz -runtime url_to_runtime_tar.bz2

Create your own target (sysroot and runtime)

  • The sysroot has to be a tar.gz or tar.bz2 and can be generated by adding following command parameters to mic2:
    mic-image-creator --format=fs --package=tar.gz ...
  • The runtime has to be a tar.gz or tar.bz2 and can be generated by adding following command parameters to mic2:
    mic-image-creator --format=raw --package=tar.bz2 --release=release_no --compress-disk-image=none ...
  • Please check help of mic-image-creator for detailed explanation of those options.
    mic-image-creator --help

Other Notes

  • The script will add a new target, which need several GB disk space (>5GB). Please make sure you have enough disk space.
  • To remove a target, you could run:
    mad-admin list

    to get target_name and runtime_name and then run following to remove it.

    sudo mad-admin remove target_name
    sudo mad-admin remove runtime_name
    

    But using above 2 commands will not totally remove the cached and already generated files for the target. To remove all of them to save disk space, you need to remove the related folder in /usr/lib/madde/linux-i686/runtimes, /usr/lib/madde/linux-i686/sysroots and the tarball file in /usr/lib/madde/linux-i686/cache. You may also remove the related madde configuration files from /usr/lib/madde/linux-i686/cache/madde.conf.d/ so the "mad-admin list" will not show them again.

Personal tools