The Mer Wiki now uses your Mer user account and password (create account on https://bugs.merproject.org/)
Getting Started
(→Creating Mer reference kickstarter files from .yaml) |
|||
(14 intermediate revisions by 3 users not shown) | |||
Line 17: | Line 17: | ||
* One of the following devices | * One of the following devices | ||
* N900 | * N900 | ||
+ | * ExoPC | ||
* ... | * ... | ||
Line 36: | Line 37: | ||
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 42: | Line 45: | ||
mkdir n900 | mkdir n900 | ||
cd n900 | cd n900 | ||
− | curl -O | + | curl -k -O https://raw.github.com/lbt/mer-minimal/master/n900/minimal-n900.ks |
</pre> | </pre> | ||
Line 63: | 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. | ||
− | == | + | === 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 === | ||
+ | |||
+ | <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 81: | Line 126: | ||
Change the .ks to point to your repo | Change the .ks to point to your repo | ||
− | == Creating | + | == 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:
- a MeeGo Community OBS account
- Install the Mer Platform SDK
- Familiarity with 'osc' (See http://wiki.meego.com/Getting_started_with_OBS)
- One of the following devices
* 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