The Mer Wiki now uses your Mer user account and password (create account on https://bugs.merproject.org/)


Getting Started

From Mer Wiki
Jump to: navigation, search

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:

* 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 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
Personal tools