The Mer Wiki now uses your Mer user account and password (create account on https://bugs.merproject.org/)
Getting Started
Kallaballa (Talk | contribs) m (Dont verify CA, since ca-bundle.crt isn't present in the platform sdk) |
Kallaballa (Talk | contribs) (→Creating ks from .yaml) |
||
Line 126: | Line 126: | ||
Change the .ks to point to your repo | Change the .ks to point to your repo | ||
− | == Creating ks from .yaml == | + | == Creating Mer reference ks from .yaml == |
+ | <pre> | ||
+ | # install the reference kickstarter configs | ||
+ | sudo zypper in mer-kickstarter-configs | ||
+ | cd /usr/share/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 mer-reference-images/00reference.yaml | ||
+ | |||
+ | # fetch the latest build id | ||
+ | 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 | ||
+ | </pre> |
Revision as of 18:21, 28 July 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 |
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
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 * ...
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
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.
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.
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.
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>
Next steps
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
Creating Mer reference ks from .yaml
# install the reference kickstarter configs sudo zypper in mer-kickstarter-configs cd /usr/share/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 mer-reference-images/00reference.yaml # fetch the latest build id 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