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


Getting Started

From Mer Wiki
Revision as of 18:21, 28 July 2012 by Kallaballa (Talk | contribs)

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