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


Getting Started

From Mer Wiki
(Difference between revisions)
Jump to: navigation, search
(Add N950 info)
(Creating Mer reference kickstarter files from .yaml)
 
(5 intermediate revisions by 2 users not shown)
Line 45: Line 45:
 
mkdir n900
 
mkdir n900
 
cd n900
 
cd n900
curl -O https://raw.github.com/lbt/mer-minimal/master/n900/minimal-n900.ks
+
curl -k -O https://raw.github.com/lbt/mer-minimal/master/n900/minimal-n900.ks
 
</pre>
 
</pre>
  
Line 71: Line 71:
 
mkdir n950
 
mkdir n950
 
cd n950
 
cd n950
curl -O https://raw.github.com/lbt/mer-minimal/master/n950/minimal-n950.ks
+
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 https://raw.github.com/lbt/mer-minimal/master/exopc/minimal-exopc.ks
+
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 ks from .yaml ==
+
== 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:

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