The Mer Wiki now uses your Mer user account and password (create account on https://bugs.merproject.org/)
Getting Started
Kallaballa (Talk | contribs) (Don't verify CA when downloading the kickstart files since ca-bundle.crt is missing in the platform sdk) |
(→Creating Mer reference kickstarter files from .yaml) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 71: | Line 71: | ||
mkdir n950 | mkdir n950 | ||
cd n950 | cd n950 | ||
− | curl -O | + | curl -O -k https://raw.github.com/lbt/mer-minimal/master/n950/minimal-n950.ks |
</pre> | </pre> | ||
Line 93: | Line 93: | ||
mkdir exopc | mkdir exopc | ||
cd exopc | cd exopc | ||
− | curl -O | + | curl -O -k https://raw.github.com/lbt/mer-minimal/master/exopc/minimal-exopc.ks |
</pre> | </pre> | ||
Line 126: | Line 126: | ||
Change the .ks to point to your repo | Change the .ks to point to your repo | ||
− | == Creating | + | == Creating Mer reference kickstarter files from .yaml == |
+ | To build and tinker with the Mer reference images you'll need to generate the corresponding kickstarter configs. | ||
+ | Install the reference kickstarter configs: | ||
+ | <pre> | ||
sudo zypper in mer-kickstarter-configs | sudo zypper in mer-kickstarter-configs | ||
+ | </pre> | ||
+ | |||
+ | create target directory to put the generated ks files into: | ||
+ | <pre> | ||
+ | mkdir ~/tmp/kickstarts | ||
+ | </pre> | ||
+ | |||
+ | Generate the kickstarter files from the reference yaml: | ||
+ | <pre> | ||
+ | mer-kickstarter -o ~/tmp/kickstarts -c /usr/share/kickstarter-configs/mer-reference-images/00reference.yaml | ||
+ | </pre> | ||
+ | |||
+ | Fetch the latest build id (or preferably use ''--release=latest'' when running mic): | ||
+ | <pre> | ||
+ | BUILD_ID=$(curl http://releases.merproject.org/releases/latest-release) | ||
+ | </pre> | ||
+ | |||
+ | Make the ks files refer to the latest release repositories: | ||
+ | <pre> | ||
+ | sed -i -e"s/@BUILD_ID@/$BUILD_ID/" ~/tmp/kickstarts/*ks | ||
+ | </pre> |
Latest revision as of 14:33, 25 September 2012
This page will to get you started with a custom Mer 'product' using one of the more popular hacker-friendly pieces of hardware.
Contents |
[edit] Introduction
First some terminology; Mer is a core OS for vendors who want to make products. So
- a product; is a mix of Mer Core, a HW adaptation and a UX
- a UX; is the graphical user interface or the "User Experience"
- a HW Adaptation; is the tailored kernel, modules, GLES drivers etc built for a specific device
[edit] Get started
Prerequisites:
- a MeeGo Community OBS account
- Install the Mer Platform SDK
- Familiarity with 'osc' (See http://wiki.meego.com/Getting_started_with_OBS)
- One of the following devices
* N900 * ExoPC * ...
[edit] Summary
We will:
- Build a minimal image using pre-prepared packages
- Boot the device
- See the UX
- Connect using ssh
- Copy the supplied UX package
- Modify the .ks
- Rebuild the image
- Boot the device
- See the modified UX
[edit] Create sample image for your device
These steps will download everything needed for the image into a format suitable for installing on the device.
All commands are run inside the SDK.
[edit] N900
mkdir n900 cd n900 curl -k -O https://raw.github.com/lbt/mer-minimal/master/n900/minimal-n900.ks
The N900 can run USB and wifi networking. Setting up USB0 via the .ks is not yet complete.
For wifi edit the .ks and set the SSID name and passphrase; if you have a local dyndns then setting the HOSTNAME works.
I do this and use the modified .ks in the mic command.
sed -e's/<WPA2 passphrase>/MyWPAPhrase/;s/<SSID NAME>/MySSID/;s/localhost.localdomain/MYHOST/;' minimal-n900.ks > minimal-n900.ks-phrased
sudo mic create raw minimal-n900.ks --record-pkgs=name --pkgmgr=yum --arch=armv7hl --compress-disk-image=bz2 -o .
If you want to explore the rootfs before flashing (or for debugging purposes):
sudo mic create fs minimal-n900.ks --record-pkgs=name --pkgmgr=yum --arch=armv7hl -o root
To install the image to the device first see the Nemo N900 installation instructions and then the image writing instructions.
[edit] N950
mkdir n950 cd n950 curl -O -k https://raw.github.com/lbt/mer-minimal/master/n950/minimal-n950.ks
The N950 can run USB and wifi networking. Setting up USB0 via the .ks is not yet complete.
For wifi edit the .ks and set the SSID name and passphrase; if you have a local dyndns then setting the HOSTNAME works.
I do this and use the modified .ks in the mic command.
sed -e's/<WPA2 passphrase>/MyWPAPhrase/;s/<SSID NAME>/MySSID/;s/localhost.localdomain/MYHOST/;' minimal-n950.ks > minimal-n950.ks-phrased
sudo mic create fs minimal-n950.ks-phrased --record-pkgs=name --pkgmgr=yum --arch=armv7hl --compress-disk-image=tar.bz2 -o .
To install the image to the device first see the Nemo N950 installation instructions and then the rootfs writing instructions.
[edit] ExoPC
mkdir exopc cd exopc curl -O -k https://raw.github.com/lbt/mer-minimal/master/exopc/minimal-exopc.ks
The exopc runs wifi networking.
For wifi edit the .ks and set the SSID name and passphrase; if you have a local dyndns then setting the HOSTNAME works.
I do this and use the modified .ks in the mic command.
sed -e's/<WPA2 passphrase>/MyWPAPhrase/;s/<SSID NAME>/MySSID/;s/localhost.localdomain/MYHOST/;' minimal-exopc.ks > minimal-exopc.ks-phrased
To actually make the image:
sudo mic create liveusb minimal-exopc.ks-phrased --record-pkgs=name --pkgmgr=yum --arch=i686 -o .
To install the image to the device see the x86 installation instructions. Once installed you should be able to boot from the USB stick and ssh in.
Once installed the installer-shell command should copy from the liveusb to the hard-disk.
Note the ExoPC image has the usual virtual text consoles accessed by pressing ctrl-alt-<Fn>
[edit] Next steps
[edit] Use your own UX code + repos
osc copypac home:lbt:Mer:UX mer-not-a-ux home:$USER
Change the code and rebuild the package
Change the .ks to point to your repo
[edit] Creating Mer reference kickstarter files from .yaml
To build and tinker with the Mer reference images you'll need to generate the corresponding kickstarter configs.
Install the reference kickstarter configs:
sudo zypper in mer-kickstarter-configs
create target directory to put the generated ks files into:
mkdir ~/tmp/kickstarts
Generate the kickstarter files from the reference yaml:
mer-kickstarter -o ~/tmp/kickstarts -c /usr/share/kickstarter-configs/mer-reference-images/00reference.yaml
Fetch the latest build id (or preferably use --release=latest when running mic):
BUILD_ID=$(curl http://releases.merproject.org/releases/latest-release)
Make the ks files refer to the latest release repositories:
sed -i -e"s/@BUILD_ID@/$BUILD_ID/" ~/tmp/kickstarts/*ks