Creating a MADDE target for MeeGo Tablet
April 27, 2011 Leave a comment
Hii again.
After spending a swingful easter, found a spot to try out creating a new MADDE target for MeeGo tablet (the same stuff applies to any target).
The basis for these notes are in MeeGo wiki. Following text describes creating a new MeeGo target image and integrating it into MADDE. Please refer to the wiki for further details. Also note that I’m not creating a runtime at all, so this post mainly applies to devs having some MeeGo hardware at hand. Again, the wiki explains about runtime installations too (& the process is not that different).
First, get kickstarter. It’s a tool which creates kickstart files from MeeGo image configurations. MeeGo Image Creator (MIC) eats those kickstart (.ks) files and pops out fresh MeeGo images. I’ll assume you’ve got MIC already installed.
So, get the kickstarter, build it and install. Then clone the MeeGo image configurations repo.
git clone git://gitorious.org/meego-developer-tools/kickstarter.git
cd kickstarter
sudo python setup.py build
sudo python setup.py install
git clone git://gitorious.org/meego-os-base/image-configurations.git
Next, navigate to the image configurations and create the kickstart files:
cd image-configurations
kickstarter -c configurations.yaml -r repos.yaml
The new kickstart files appear under a folder called 1.1.90 (in the time of writing). Go to that folder and run MIC with the following command:
sudo mic-image-creator –config=tablet-ia32-madde-sysroot.ks –format=fs –compress-disk-image=none –package=tar.bz2 –release=latest
You should get a MeeGo Tablet sysroot image under a subdirectory tree ./latest/images/meego-tablet-ia32-madde-sysroot. Copy the image found under that path into /usr/lib/madde/cache. Then, let’s create MADDE config files for the target. MADDE keeps the target config files under /usr/lib/madde/linux-i686/cache/madde.conf.d. In there, create a file called meego-tablet.conf with the following contents:
require meego-core-ia32-latest
target meego-tablet
sysroot meego-tablet-ia32-madde-sysroot-latest-fs.tar.bz2
toolchain meego-sdk-i586-toolchain-1.1
runtime meego-netbook-ia32-qemu-1.1.20101031.2037-sda-runtime
ccxopts -m32 -march=core2 -mssse3 -mtune=atom -mfpmath=sse
qttools qt-tools-4.7.0
arch i586
os Linux
end
Also, create a file called meego-core-ia32-latest.conf with this stuff inside it:
require meego-core-ia32-1.1
target meego-core-ia32-latest
sysroot meego-core-ia32-madde-sysroot-1.1.99.4.20110426.4-fs.tar.bz2
toolchain meego-sdk-i586-toolchain-1.1
runtime meego-handset-ia32-1.0.80.9.20100706.1-sdk-pre0901-runtime
ccxopts -m32 -march=core2 -mssse3 -mtune=atom -mfpmath=sse
qttools qt-tools-4.7.0
arch i586
os Linux
end
file meego-core-ia32-madde-sysroot-1.1.99.4.20110426.4-fs.tar.bz2
url http://mirrors.kernel.org/meego/builds/trunk/1.1.99.4.20110426.4/images/meego-core-ia32-madde-sysroot/meego-core-ia32-madde-sysroot-1.1.99.4.20110426.4-fs.tar.bz2
end
At this point, calling mad-admin should show meego-tablet in the list of installable targets. Next we install the target:
sudo mad-admin create -f meego-tablet
That’s it, now there should be a fresh tablet target installed in MADDE. Mad-admin doesn’t seem to have an update command, so the most straightforward way to update a target is to get those conf files, modify their content, get the latest sysroot image e.g. from
http://mirrors.kernel.org/meego/builds/trunk/latest/images/meego-tablet-ia32-madde-sysroot/
and then create a new target & remove the old.
That’s all, folks.