Mer

(Sprint January 2009 and before: Basic installable image)
(Undo revision 47995 by Barrycopper (Talk)removed spam links)
 
(298 intermediate revisions not shown)
Line 1: Line 1:
-
The Mer platform is a Linux distribution for mobile devices based on the Maemo platform from Nokia. Mer goals include:
+
__NOTOC__
 +
<div style="position: absolute; z-index: 0">
 +
<imagemap>Image:Mer-faded-background.png|631px
 +
rect 0 0 0 0 [[Mer]]
 +
desc none
 +
</imagemap>
 +
<div style="z-index: 3; position: absolute; top: 42px; left: 180px; color: #fff; font-style: italic; font-family: Georgia, serif; line-height: 1.5em; font-size: 1.8em; width: 360px">An open, community-led, Linux distribution for mobile devices</div>
 +
</div>
-
*Improving and developing parts of Maemo that are of interest to the Maemo community.
+
<div style="margin-left: 18px; z-index: 4; margin-right: 4em">
-
*Making it easier to port existing desktop applications by hildonizing and adjusting them to the tablet form factor.
+
-
*Encouraging third party experimentation and development.
+
-
*Supporting tablet hardware no longer receiving updated OS software by Nokia.
+
-
*Making Maemo a generic platform for all tablet devices, including non-Nokia ones.
+
-
*Focusing Maemo community efforts in platform-related areas
+
-
Mer platform development will be done in the open, with public SCM repository, bugtrackers, and Wiki-based blueprint discussion.
+
<div style="position: relative; padding-top: 120px; margin-right: 10em; margin-bottom: 2em">
 +
== Mer is back ==
-
We should stop seeing the tablets as strictly under-powered embedded systems, and see them for what they really are: powerful, power-efficient, economical handheld computers.
+
Please visit http://www.merproject.org to learn more about these news.
-
Historically, the Mer platform came from a discussion on [[Maemo_Reconstructed|reconstructing Maemo]] and a desire to make a proof of concept system of the thoughts in this proposal (M-R PoC), which developed into Mer after realization that it was a viable direction of development.
+
We're hanging out on #mer on FreeNode IRC (irc.freenode.net) if you would like to discuss Mer (here's a [http://webchat.freenode.net/?channels=Mer web based IRC client])
-
== Sprints ==
+
[[Category:Mer]]
-
 
+
-
We employ the [[Maemo.org_Sprints|Maemo.org sprints]] method as development method for Mer. That means, get yourself a maemo.org account, and read this document through if you would like to contribute :)
+
-
 
+
-
Most Mer development talk goes on in #maemo on irc.freenode.net. If you do not have an IRC client, use www.mibbit.com. We currently use https://launchpad.net/m-r for collaboration, but will move to maemo.org eventually. Our current status is that we have a N8x0 image with nm-applet, advanced backlight, load-applet on top of a hildon-desktop using Fremantle components, on top of Xorg and Ubuntu Jaunty. Previous progress can be viewed at http://jaiku.com/channel/reconstructedPOC
+
-
 
+
-
We have fringe projects in 770, Zaurus, x86, Wii ports, and as such, code will be built first on x86 to ensure cross-platform, and then in our cross-compilers.
+
-
 
+
-
= Sprint January 2009 and before: Basic installable image =
+
-
 
+
-
The purpose of this milestone:
+
-
* To provide a basic installable firmware image, both through installer and through flashing, for N8x0 tablets.
+
-
* The image must include a basic user interface and ability to connect to Wi-Fi networks.
+
-
* To provide a installer and image for 770 tablets.
+
-
* To provide initial developer tools so we can start developing for the tablets.
+
-
* Begin initial talks with Nokia and maemo.org on how to distribute full firmware images.
+
-
* Prepare for next milestone in terms of collaborative technologies.
+
-
 
+
-
'''If you have a task that needs to be done to fullfill the purposes of this milestone''', add it to the table below, set it to 'Just standing' status, and with no commit date and owner.
+
-
 
+
-
'''If you want to take on a task''', set the initial commit date, your nickname, and update your progress as you go, and update highlights of your work (including what gets added) as you work on it. Update your activity log each day you've performed something related to Mer.
+
-
 
+
-
'''If you encounter any bugs in Maemo platform software while developing for Mer''', report them on bugs.maemo.org , and add the bug number to the sprint bug overview.
+
-
 
+
-
'''If you encounter any bugs in Mer while testing or experimenting''', report them on bugs.maemo.org (Extras -> Mer), indicate which image version you have, and add the bug number to the sprint bug overview
+
-
 
+
-
 
+
-
{| class="wikitable"
+
-
| style="background:LightGreen" | Completed
+
-
| style="background:LightBlue" | Good progress
+
-
| Just standing
+
-
| style="background:Orange" | Some help needed!
+
-
| style="background:Tomato" | Really stuck/delayed
+
-
|}
+
-
 
+
-
{| class="wikitable sortable"
+
-
|-
+
-
! Committed & Target
+
-
! Task
+
-
! Owner
+
-
! %
+
-
! Highlights
+
-
|- style="background:LightBlue"
+
-
| December || [[Task:Community_firmware_image_distribution|Proposal for distribution of firmware images including closed-source bits needed for community editions]] || Stskeeps || 10% || First proposal involving initfs bits proposed through maemo-community.
+
-
|- style="background:LightGreen"
+
-
| December || Initial imager - script to debootstrap and putting Mer on top of Ubuntu Jaunty minbase (x86, armel) for Mer/x86, Mer/armv5te (770,n8x0) || Stskeeps || 100% || [https://code.launchpad.net/~mer-committers/m-r/imager Provided here] and guide [[#Using_the_imager|here]]
+
-
|- style="background:LightGreen"
+
-
| December || Basic hildon-desktop up on Xorg, running with advanced-backlight and load-applet || Stskeeps, johnx, etc. || 100% || In repository
+
-
|- style="background:LightGreen"
+
-
| December || Initial Scratchbox1 SDK for Mer/armv5te || Stskeeps || 100% || [[#SDK|Provided here]]
+
-
|- style="background:LightBlue"
+
-
| 2008-15-12 - 0.7 || [[#Mer_Installer|Installer for Mer on Diablo]] || b-man || 90% || [http://trac.tspre.org/bman Initial versions]
+
-
|- style="background:LightGreen"
+
-
| 2008-17-12 || cx3110x-umac-module (symlink to umac.ko module || qwerty12 || 100% || Now in repository
+
-
|- style="background:LightGreen"
+
-
| 2008-17-12 || nokia-n8x0-firmware (symlink to firmwares in initfs) || qwerty12 || 100% || Now in repository
+
-
|- style="background:LightGreen"
+
-
| 2008-17-12 || hildon-desktop-env with hildon-input-method setup || qwerty12 || 100% || Now in repository
+
-
|- style="background:LightGreen"
+
-
| January || Diablo kernel that boots from rootfs instead of initfs, and runs /sbin/tablet-init instead of init || qwerty12 || 100% || [http://trac.tspre.org/qwerty12 Provided here]
+
-
|- style="background:LightGreen"
+
-
| January || Mer logo, (rescue menu) artwork, wallpaper, theme (titan) || wazd, Stskeeps || 100% || Now in repository (mer-omap-fb-splash, mer-rescue-menu, titan), also see [http://tabletui.wordpress.com/2009/01/12/repos-a-la-mer/ here]
+
-
|- style="background:LightBlue"
+
-
| January || Missing localization strings in Hildon, (#4001) || Stskeeps || 50% ||
+
-
|- style="background:LightGreen"
+
-
| January || Document how to get packages included in repository || Stskeeps || 100% || [[#Getting_your_package_included_in_the_Repository|provided here]]
+
-
|- style="background:LightBlue"
+
-
| 0.7 || [[#qemu-eabi_cputransp_for_Scratchbox|qemu-eabi cputransp for Scratchbox]]|| qwerty12 || 95% || Deb (i386) & source package [http://trac.tspre.org/qwerty12 provided here] - package and qemu binary fine, postinst & prerm scripts need testing (most likely to work fine however).
+
-
|- style="background:LightGreen"
+
-
| 2009-01-12 || Fix backspace and enter kills Xorg bug || meizirkki/johnx/Stskeeps || 100% || [https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/309785 Upstream Xorg / Ubuntu bug], fixed in upstream
+
-
|- style=""
+
-
| || Create (new) themes for Mer and upload to repository (we only have titan and plankton atm) || none || 0% ||
+
-
|- style="background:Orange"
+
-
| || [[#Open system sounds|Open system sounds]] (startup chime, touchscreen tap, etc) || opengeekv2 || 0% ||
+
-
|- style=""
+
-
| || Replacing SDK icons with more modern ones || none || 0% ||
+
-
|- style="background:LightGreen"
+
-
| 2009-01-16 || Include dsme-tools & wifi power saving from Deblet || Stskeeps || 100% || In repository now
+
-
|- style=""
+
-
| 0.7 || Working X-terminal with hildon input method working || none || 0% ||
+
-
|- style="background:LightBlue"
+
-
| 16-01-2009 - 0.7 || nit-kernel-compat (support kernel booting rootfs directly), base on [http://guug.org/nit/nitboot/ nitboot]|| qwerty12 || 90% || In repository - needs testing
+
-
|- style=""
+
-
| || Modern kernels, get newer kernels working with the 770, N8x0, and use stlc45xx on N8x0s || none || 0% ||
+
-
|- style=""
+
-
| || Include hildon-theme-layout-4-synth (alter to use proper fallback icon theme) and tritanium, meta, okuda, kobayashi from extras-devel || none || 0% ||
+
-
|- style="background:LightGreen"
+
-
| 2009-01-18 || Include hildon-theme-liberty and hildon-theme-layout-4ex (alter to use proper fallback icon theme, and depend on clearlooks?) || Stskeeps || 100% || Included in 0.6 images.
+
-
|- style=""
+
-
| || Bring in new changes from http://gitweb.pingu.fi/?p=xf86-video-omapfb.git;a=summary to xserver-xorg-video-omapfb || none || 0% ||
+
-
|- style=""
+
-
| || Make hildon-desktop-env use a configuration file to determine wether it needs to show cursor or not (useful for x86) || none || 0% ||
+
-
|- style=""
+
-
| || Make kernel-diablo-modules-gserial and implement support with help of rescue menu || none || 0% ||
+
-
|- style="background:LightBlue"
+
-
| 2009-01-17 || Move project from launchpad to maemo.org garage || Stskeeps || 10% || Project applied for, [https://bugs.maemo.org/enter_bug.cgi?product=Mer Mer on bugs.maemo.org]. Blockers: [https://garage.maemo.org/tracker/index.php?func=detail&aid=3319&group_id=841&atid=3136 Multiple git repositories per project] [https://garage.maemo.org/tracker/index.php?func=detail&aid=3320&group_id=841&atid=3136 Personal git repositories].
+
-
|- style=""
+
-
| || Figure out how to make gnome-keyring invisible to the user (or make NetworkManager use something else) || none || 0% ||
+
-
|- style=""
+
-
| || Fix key generation of openssh-server so it doesn't do it on imager but does it when booting || none || 0% ||
+
-
|}
+
-
 
+
-
Bug reports in bugzilla discovered through or related to Mer development in this sprint:
+
-
 
+
-
{{#bugzilla:id=4001,3858,3939,3997,4016
+
-
  |columns=id,severity,product,status,resolution,summary,to
+
-
}}
+
-
 
+
-
=== Activity log ===
+
-
 
+
-
17th January
+
-
 
+
-
* stskeeps: added docpurge to repository, added docpurge to n800 and 770 images, re-running imager. helped meiz get Mer on his x86. prodded andre about 'Mer' product in bugzilla, and got it setup. Reported bug on multiple git repositories per project, personal git repositories to ggit project.
+
-
 
+
-
16th January
+
-
 
+
-
* stskeeps: remade Mer blueprint to fit more into maemo.org processes, added mer-generic-x86 to play with at some point, and added nit-kernel-compat to imager. fixed up nokia-770's kernel-modules-770 so we can make images for it in imager. added dsme-tools to repo. got x86 port going.
+
-
 
+
-
= Documentation and tasks =
+
-
 
+
-
== SDK ==
+
-
 
+
-
First, install Fremantle SDK, and add yourself as a user to scratchbox.
+
-
 
+
-
As user:
+
-
* wget -c http://stskeeps.subnetmask.net/mer/arm-linux-cs2008q3-72-libtool2_1.0.11_i386.deb
+
-
* sudo dpkg -i arm-linux-cs2008q3-72-libtool2_1.0.11_i386.deb (run as root)
+
-
* wget -c http://stskeeps.subnetmask.net/mer/scratchbox-devkit-mer_1.0.11_i386.deb
+
-
* sudo dpkg -i scratchbox-devkit-mer_1.0.11_i386.deb
+
-
**You can optionally get qemu-arm-eabi and use that here instead. It is very good for your use of the SDK
+
-
* sb-conf setup MER-ARMEL --compiler=arm-linux-cs2008q3-72-libtool2 --devkits=debian-etch:cputransp:perl:mer --cputransp=qemu-arm-cvs-m -f
+
-
* sb-conf reset -f MER-ARMEL
+
-
* sb-conf select MER-ARMEL
+
-
* sb-conf rootstrap MER-ARMEL http://stskeeps.subnetmask.net/mer/mer-armel-rootstrap-v8.tar.gz
+
-
* sb-conf install MER-ARMEL --etc --devkits --fakeroot
+
-
 
+
-
ISSUES:
+
-
* You might have to do export PKG_CONFIG_PATH=/usr/share/pkgconfig:/usr/lib/pkgconfig to get some pkg-config stuff going
+
-
* You might have to set cpu right and such to target armv5el (no vfp)
+
-
* You probably need to get EABI cpu transparency target too
+
-
* 'not safe for cross-compilation' warnings (not true, i think)
+
-
* fakeroot apt-get dist-upgrade is good once in a while to keep up to date.
+
-
 
+
-
== Mer Installer ==
+
-
 
+
-
Make installer for Maemo/Diablo that does the following:
+
-
 
+
-
* Depends on bootmenu (bootmenu with bootmenu.d item), wget, rootsh, zenity, gnutar, binutils, and e2fsprogs
+
-
* Allows simple installation (partition my internal/external MMC to 50mb FAT, 128mb swap, rest linux), or advanced (choose my own partition)
+
-
* Partitions, mkfs.ext3's and unpacks a downloaded tar.gz (built by the imager, uploaded to some http.). Should support resume of dls (wget -c?)
+
-
* Sets up the bootmenu item for Mer.
+
-
 
+
-
== qemu-eabi cputransp for Scratchbox ==
+
-
 
+
-
See http://maemogeek.blogspot.com/2007/11/installing-qemu-arm-eabi-patch-into.html
+
-
 
+
-
Make a debian package with this binary (for i386), installing into /scratchbox/devkits/cputransp/bin/qemu-arm-eabi-sb2
+
-
and adding 'qemu-arm-eabi-sb2' to /scratchbox/devkits/cputransp/etc/cputransp-methods when installing, and removing when
+
-
removing (sed -i?)
+
-
 
+
-
Edit [[#SDK||SDK]] to make instructions use qemu-arm-eabi-sb2 instead, and getting your .deb package.
+
-
 
+
-
== Getting your package included in the Repository ==
+
-
 
+
-
* Make sure it compiles after getting your build dependancies, dpkg-buildpackage.
+
-
* Ideally test both dpkg-buildpackage -S -us -uc, dpkg-buildpackage -b -us -uc, dpkg-buildpackage -B (some packages may not build any arch-dep packages, so that's ok. Microdocument it on Jaiku.)
+
-
* bzr export <source package name> lp:~yourusername/m-r/<source package name> (gives you a checked out version, without metadata)
+
-
* cd <source package name>
+
-
* dpkg-buildpackage -S -us -uc, to generate a source package
+
-
* Upload the resulting source package (*.changes, *.tar.gz, possibly *.diff.gz) to your ~/incoming on the repo server.
+
-
* ssh yourlogin@reposerver /import-new-packages
+
-
 
+
-
(This will add the source package to repository)
+
-
 
+
-
* You need access to merbuilder & repository upload for the following, ask Stskeeps on Jaiku/IRC for this. Or refer on Jaiku to the source package and some may pick it up
+
-
* On http://jaiku.com/channel/merbuilder , write "build <SOURCE PACKAGE NAME>=<package version>"
+
-
* Monitor progress at http://merbuilder.jaiku.com
+
-
* An LP player notes that it has picked up a package for building at a certain builder
+
-
* A toast means it baked properly on this architecture. And is uploaded to repository.
+
-
* A heart means it built properly on all architectures. And is uploaded to the repository
+
-
* A bomb means it failed to build on an architecture.
+
-
* A shopping wagon means it has noticed your build request and queued it.
+
-
 
+
-
== Open system sounds ==
+
-
 
+
-
List of wav files from osso-sounds-ui (non-free package):
+
-
 
+
-
<pre>
+
-
/usr/share/sounds/ui-recharge_battery.wav
+
-
/usr/share/sounds/ui-connection_lost.wav
+
-
/usr/share/sounds/ui-window_open.wav
+
-
/usr/share/sounds/ui-window_close.wav
+
-
/usr/share/sounds/ui-information_note.wav
+
-
/usr/share/sounds/ui-new_email.wav
+
-
/usr/share/sounds/ui-wake_up_tune.wav
+
-
/usr/share/sounds/ui-charging_started.wav
+
-
/usr/share/sounds/ui-confirmation_note.wav
+
-
/usr/share/sounds/ui-gesture_number_recognized.wav
+
-
/usr/share/sounds/ui-shutdown.wav
+
-
/usr/share/sounds/ui-key_press.wav
+
-
/usr/share/sounds/ui-pen_down.wav
+
-
/usr/share/sounds/ui-general_warning.wav
+
-
/usr/share/sounds/ui-thumb_keyboard_launch.wav
+
-
/usr/share/sounds/ui-battery_low.wav
+
-
/usr/share/sounds/ui-default_beep.wav
+
-
/usr/share/sounds/ui-operation_ready.wav
+
-
/usr/share/sounds/ui-wrong_charger.wav
+
-
</pre>
+
-
 
+
-
== Using the imager ==
+
-
 
+
-
Grab the imager from bzr (lp:~mer-committers/m-r/imager)
+
-
 
+
-
Targets are:
+
-
 
+
-
* targets/mer-770-fs-only - builds a filesystem for Mer on Nokia 770
+
-
* targets/mer-n800-fs-only - builds a filesystem for Mer on N800
+
-
* targets/mer-x86-generic - builds a filesystem for X86 in general
+
-
 
+
-
Imager can be run with: sh imager targets/TARGET /path/where/you/want/fs
+
-
 
+
-
Look inside the target scripts and work your way back.
+
-
 
+
-
== Making a x86 Mer bootable ==
+
-
 
+
-
Partition your boot device, make a ext3 partition. In the following, sda1 is your ext3 partition and sda is your boot device. Only install this on a USB stick or whatever that you want to have possibly destroyed.
+
-
 
+
-
* mkdir -p /mnt/mer
+
-
* mkfs.ext3 /dev/sda1
+
-
* mount -t ext3 /dev/sda1 /mnt/mer
+
-
* Grab a release x86-generic tar.gz and put in /mnt/mer, tar pzvxf it from within /mnt/mer OR Use imager from above and sh imager targets/mer-x86-generic-only-fs /mnt/mer
+
-
* grub-install --no-floppy --recheck --root-directory=/mnt/mer /dev/sda
+
-
* chroot /mnt/mer update-grub
+
-
* verify your /mnt/mer/boot/grub/menu.lst looks correct
+
-
* umount /mnt/mer (if you can)
+
-
 
+
-
== Mer 0.6 ==
+
-
 
+
-
Known issues:
+
-
* 770 port has problems with sapwood and may not work from first startup. Grab a USB cable and use rescue mode
+
-
* RX-48 has not yet gotten its bootmenu.deb updated
+
-
* All images of the same target share same openssh server keys
+
-
* jffs2 + kernel mix for N8x0 is untested
+
-
* root password is not set for you or asked in the first boot wizard, in the tar.gz images.
+
-
* Bootmenu does not play well with clone-to-SD systems. You will have to make a bootmenu item yourself (ask on #maemo about this)
+
-
 
+
-
Disclaimer:
+
-
 
+
-
* '''There is -no- warranty'''. This may blow up your MMC, steal your wife or cause doomsday to come around. But if you find some bugs, please report them on bugs.maemo.org (Extras -> Mer) and we'll try to see what we can do to fix the bug causing it.
+
-
* If anything goes wrong, grab a USB cable, and rescue mode is done through holding down Home key when booting Mer.
+
-
 
+
-
Download addresses for Generic x86 - tar.gz image:
+
-
* [http://stskeeps.subnetmask.net/mer/mer-x86-generic-image-v0.6.tar.gz Generic X86 tar.gz rootfs image]
+
-
 
+
-
Download addresses for Nokia 770 - tar.gz image:
+
-
* [http://stskeeps.subnetmask.net/mer/mer-armel-770-image-v0.6.tar.gz Nokia 770 (armel) tar.gz rootfs image]
+
-
 
+
-
Download addresses for Nokia N800 - Installer files (simple):
+
-
* [http://packages.tspre.org/pool/user/b/bootmenu/bootmenu_1.4_armel.deb Bootmenu SVN for N8x0, needed to boot from MMC]. Utilities -> Install Bootmenu first, say yes to removing test stuff and such, 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''']
+
-
* [http://stskeeps.subnetmask.net/mer/mer-armel-n8x0-installer-v0.6.deb Nokia N8x0 (armel) tar.gz installer (use simple mode), Install second and then in Utilities -> Install Mer]
+
-
* [http://stskeeps.subnetmask.net/mer/mer-armel-n8x0-installer-v0.6.tar.gz Nokia N8x0 (armel) installer source code (not needed)]
+
-
 
+
-
Download addresses for Nokia N800 - Flashable image (untested):
+
-
* [http://stskeeps.subnetmask.net/mer/mer-armel-n8x0-image-v0.6.jffs2 Nokia N8x0 (armel) jffs2 rootfs image]
+
-
* [http://stskeeps.subnetmask.net/mer/mer-armel-n8x0-kernel-v0.6.zImage Nokia N8x0 (armel) zImage kernel image]
+
-
 
+
-
Download addresses for Nokia N800 - tar.gz image:
+
-
* [http://stskeeps.subnetmask.net/mer/mer-armel-n8x0-image-v0.6.tar.gz Nokia N8x0 (armel) tar.gz rootfs image]
+

Latest revision as of 22:50, 3 June 2012

Mer
An open, community-led, Linux distribution for mobile devices

Mer is back

Please visit http://www.merproject.org to learn more about these news.

We're hanging out on #mer on FreeNode IRC (irc.freenode.net) if you would like to discuss Mer (here's a web based IRC client)
Retrieved from "http://wiki.maemo.org/Mer"