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
(ExoPC)
(Creating Mer reference kickstarter files from .yaml)
 
(8 intermediate revisions by 3 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 65: Line 65:
 
To install the image to the device first see the
 
To install the image to the device first see the
 
[[Nemo/Installing#Nokia_N900| Nemo N900]] installation instructions and then the [[Nemo/Installing#Raw_Image_Write|image writing]] instructions.
 
[[Nemo/Installing#Nokia_N900| Nemo N900]] installation instructions and then the [[Nemo/Installing#Raw_Image_Write|image writing]] instructions.
 +
 +
=== N950 ===
 +
 +
<pre>
 +
mkdir n950
 +
cd n950
 +
curl -O -k https://raw.github.com/lbt/mer-minimal/master/n950/minimal-n950.ks
 +
</pre>
 +
 +
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
 +
 +
<pre>
 +
sudo mic create fs minimal-n950.ks-phrased --record-pkgs=name --pkgmgr=yum --arch=armv7hl --compress-disk-image=tar.bz2 -o .
 +
</pre>
 +
 +
To install the image to the device first see the
 +
[[Nemo/Installing#Nokia_N950| Nemo N950]] installation instructions and then the [[Nemo/Installing#Nokia N950 & Nokia N9 Rootfs Installation|rootfs writing]] instructions.
  
 
=== ExoPC ===
 
=== ExoPC ===
Line 71: 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 91: Line 113:
 
Once installed the installer-shell command should copy from the liveusb to the hard-disk.
 
Once installed the installer-shell command should copy from the liveusb to the hard-disk.
  
== Networking ==
+
Note the ExoPC image has the usual virtual text consoles accessed by pressing ctrl-alt-<Fn>
=== N900/N950 + USB ===
+
=== ExoPC + Wifi ===
+
=== RasPi + Ethernet ===
+
=== VM + virtual interface ===
+
  
 
== Next steps ==
 
== Next steps ==
Line 108: 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