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 sed trick)
(Creating Mer reference kickstarter files from .yaml)
 
(15 intermediate revisions by 3 users not shown)
Line 14: Line 14:
 
* a MeeGo Community OBS account
 
* a MeeGo Community OBS account
 
* Install the Mer [[Platform SDK]]
 
* Install the Mer [[Platform SDK]]
 +
* Familiarity with 'osc' (See http://wiki.meego.com/Getting_started_with_OBS)
 
* One of the following devices
 
* One of the following devices
 
  * N900
 
  * 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 ==
 
== Create sample image for your device ==
 
These steps will download everything needed for the image into a
 
These steps will download everything needed for the image into a
 
format suitable for installing on the device.
 
format suitable for installing on the device.
 +
 +
All commands are run inside the SDK.
  
 
=== N900 ===
 
=== N900 ===
Line 27: Line 45:
 
mkdir n900
 
mkdir n900
 
cd n900
 
cd n900
curl -O ${HTTP_GITHUB_DEVICES}/minimal-n900.ks
+
curl -k -O https://raw.github.com/lbt/mer-minimal/master/n900/minimal-n900.ks
 
</pre>
 
</pre>
  
Line 48: Line 66:
 
[[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.
  
== Networking ==
+
=== N950 ===
=== N900/N950 + USB ===
+
  
=== ExoPC + Wifi ===
+
<pre>
=== RasPi + Ethernet ===
+
mkdir n950
=== VM + virtual interface ===
+
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 ===
 +
 
 +
<pre>
 +
mkdir exopc
 +
cd exopc
 +
curl -O -k https://raw.github.com/lbt/mer-minimal/master/exopc/minimal-exopc.ks
 +
</pre>
 +
 
 +
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:
 +
<pre>
 +
sudo mic create liveusb minimal-exopc.ks-phrased --record-pkgs=name --pkgmgr=yum --arch=i686 -o .
 +
</pre>
 +
 
 +
To install the image to the device see the
 +
[[Nemo/Installing#i586 (e.g., Lenovo Ideapad, ExoPC)| 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 ==
 
== Next steps ==
Line 66: 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