Mer/Documentation/Installation

Contents


Introduction

This article sums up the different ways to install Mer on different types of computers (VMWare, Chroot, on device, etc.). Please feel free to add/edit. The original information is taken from Mer/Releases/0.9.

Replace "<your version>" with the version you are going to install, e.g. "0.9".


Installation in VirtualBox

  1. Unzip zip file
  2. Open VirtualBox, create new machine (click *New*):
    • Name: Mer <your version>
    • OS type: Linux
    • Version: Ubuntu
    • RAM: 128 at least.
    • Disk: click "existing", find the mer-x86-generic-image-v<your version>.vmdk file, select, select
    • Next
    • Finish.

Installation (chroot)

mkdir mer-<your version>
cd mer-<your version> && sudo tar xzf mer-x86-generic-image-v<your version>.tar.gz
sudo mkdir -p tmp/.X11-unix home/$USER/.osso
sudo mv usr/bin/maemo-invoker usr/bin/maemo-invoker.real
echo -e '#!/bin/sh\nPROG="$1"\nshift\nexec "$PROG" "$@"' | sudo tee usr/bin/maemo-invoker
sudo chmod 755 usr/bin/maemo-invoker
echo 'nameserver <mynameresolver>' | sudo tee -a etc/resolv.conf


Start-up (from within mer-<your version> directory)

Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac -extension Composite 2>/dev/null 1>&2 &
sudo mount --bind /tmp/.X11-unix tmp/.X11-unix
sudo mount --bind /dev/pts dev/pts
sudo mount -t proc proc proc
sudo mount -t sysfs sysfs sys
sudo chroot .
export DISPLAY=:2.0
/etc/init.d/dbus start
start-hildon

Installation (machine)

See Mer/Documentation/Making_x86_Mer_Bootable

N8x0 Install

The Installer

The developers of Mer implemented an installer, which leads through all the steps of installation. In order to use the installer you need to open: .install file
with your device, which will prompt you to install the file (about 2.5MB) and add the extras, extras-devel and tspre.org repositories if they were not added already.

After the download and the installation go to Settings -> Application Manager -> Utilities -> Browse installable Applications -> Other and system and you will find a program "Install Bootmenu" and "Merinstaller". If you did not install those by pressing "OK" before, do it now.

Before flashing the bootmenu, you might want to read about its configuration here: Mer/Documentation/Bootmenu - you will want to make such an item if you have clone-to-SD.

Assuming you created all the .item files you wanted, go ahead, and start the bootmenu installer from Utilities -> Install Bootmenu. Its advised to close all other applications and network connections, but the installer will tell you all relevant information.

"Are you sure to continue?" - yes
"Create backup of current initfs" - yes/no
"Remove unneeded extra (and factory testing) stuff?" - yes
"install telnet server for network recovery?" - yes/no
"install dropbear ssh server for advanced network recovery?" - yes/no
"/etc/bootmenu.conf found, do you want to add it to initfs?" - yes
"Ready for flashing this image?" - yes/no

After a successfull flash, the device will reboot and you should see the bootmenu, where you can select the partition you want to boot. Choose the operating system where you just installed the installer for Mer and boot it.

Now start the Merinstaller via Utilities -> Install Mer. Follow the instructions. When prompted for the URL= you can point it to any rootfs image you want. Check at Mer/Releases or ask at #mer.

Once the installer puts extracted the rootfs to your device you can reboot and chose the partition where you put Mer. Please contribute by filing bugs at: https://bugs.maemo.org/

Flashable Image

NOTE: Experimental

Grab a kernel and rootfs image of Mer and flash them directly to the device by:

  ./flasher-3.0-static -k mer-armel-n8x0-kernel-v<your version>.zImage -r mer-armel-n8x0-image-v<your version>.jffs2 -f -R

You might want a MMC card swap partition.

770 Install

(these instructions need testing)

You will need at least a 1gb MMC, and these instructions are based on OS2008HE kernel. 48mhz kernel is highly recommended

Partition MMC to:

  • p1: Large ext3 partition first
  • p2: 256 MB swap partition second

Grab http://packages.tspre.org/pool/user/b/bootmenu/bootmenu_1.5-2_armel.deb and install it.

  • Open the main menu and tap Utilities -> Install Bootmenu to start the bootmenu install process.
  • First, say yes to removing "unneeded extra (and factory testing) stuff"
  • say yes to including bootmenu.conf (important). Reboot when done flashing.
  • This is a special boot menu where boot menu items are made in /etc/bootmenu.d/*.item and refresh_bootmenu.d will flash this to initfs. If you are cloning or booting other OS'es, you'll need to make such .item files. See Mer/Documentation/Bootmenu

Grab e2fsprogs and install it - grab gnutar as well

  • From x-terminal, root: insmod /mnt/initfs/lib/modules/current/mbcache.ko
  • insmod /mnt/initfs/lib/modules/current/jbd.ko
  • insmod /mnt/initfs/lib/modules/current/ext3.ko
  • mkfs.ext3 /dev/mmcblk0p1
  • mkswap /dev/mmcblk0p2
  • swapon /dev/mmcblk0p2
  • mkdir -p /mnt/mer
  • mkdir -p /etc/bootmenu.d
  • mount -t ext3 /dev/mmcblk0p1 /mnt/mer
  • cd /mnt/mer; wget http://stskeeps.subnetmask.net/mer/<your version>/mer-armel-770-image-v<your version>.tar.gz
  • tar pzxvf mer-armel-770-image-v<your version>.tar.gz
  • rm mer-armel-770-image-v<your version>.tar.gz
  • umount /mnt/mer
  • Make /etc/bootmenu.d/mer.item with the following contents:
ITEM_NAME="Mer"
ITEM_ID="mer"
ITEM_DEVICE="mmcblk0p1"
ITEM_MODULES="mbcache jbd ext3"
ITEM_FSTYPE="ext3"
ITEM_FSOPTIONS="noatime,ro"
ITEM_LINUXRC="linuxrc"
  • refresh_bootmenu.d (say yes to reflashing, no to backup of initfs. reboot)
  • Hold down Menu key when prompted while booting and select Mer in the boot menu.

BeagleBoard port

  • Make sure you are running a RECENT uBoot, and you have USB input devices like keyboard or mouse, if you don't own a touchscreen..
  • Make a SD card, partitioned with 50mb FAT as first partition, extract boot fs on this, and the rest Linux partition, format this as ext3, and extract rootfs on this.
  • In uBoot, use the following commands (you may have to adjust video= parameter to match your display screen:

Note: The format of the video bootargs parameter has changed for the new 2.6.28 kernel in 0.9. You'll likely have to update the bootargs line.

setenv bootcmd 'mmcinit; fatload mmc 0:1 0x80300000 uImage; bootm 0x80300000'
setenv bootargs 'console=ttyS2,115200n8 console=tty0 root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait omapfb.video_mode=1024x768MR16@60'
saveenv
boot
  • The tablet should output kernel output on serial and on video, and on HDMI out it will eventually start X and show the First Boot Wizard. Good luck.

Pocket Loox 720 port (experimental)

  • Set up a SD card with a logical partition, and inside this logical partition, make a 50mb or so FAT partition (p5), and put the zImage file on this filesystem, name it zImage. After the logical partition, make a ext3 partition (p2), and untar rootfs on it.
  • Grab HaRET and put it on the FAT partition, HaRET.exe.
  • Make a file, startup.txt, with the following contents:
set kernel "zImage"
set mtype "617"
set RAMADDR "0xa8000000"
set cmdline "mem=128M rootdelay=1 root=b302 rw console=tty0"
boot
  • Unmount all filesystems, insert SD card into Pocket Loox, boot by running HaReT.exe
  • Experimental release, if you want to play with this - come hang out on #mer on irc.freenode.net and we'll try to guide you along. It is a 640x480 screen so our theme won't fit.