Mer
The Mer platform is a Linux distribution for mobile devices based on the Maemo platform from Nokia. Mer goals include:
- Improving and developing parts of Maemo that are of interest to the Maemo community.
- 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
It is -not- a Nokia project, it's a project started by maemo.org community members.
Mer platform development will be done in the open, with public SCM repository, bugtrackers, and Wiki-based blueprint discussion.
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.
Historically, the Mer platform came from a discussion on 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.
Contents |
Sprints
We employ the 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 it is cross-platform, and then in our cross-compilers.
How do I participate in Mer? Send an e-mail to carsten.munk at gmail.com, listing a nickname, name and optional affilation and area of interests. Name will be put along with affilation and area of interests (unless explicitly told not to show parts of this information). You will get a Jaiku invite as well, that you're encouraged to use and post in #mer to keep the rest of us updated on what you're doing.
The current method of sprints is:
- Every 2nd week sunday, a sprint ends and a new one begins. At midnight GMT sunday, new images are built and released, and an accompanying "Mer <version> sprint summary" blog post will be posted, with completed tasks and remaining tasks, highlighting which tasks are urgent for next release. Remaining tasks are moved to next sprint.
- Contributors are encouraged to sign up for tasks that they want to commit to, right after the end of a sprint.
- Contributors are encouraged to update their task status on the sprint status every monday, wednesday, and making sure if the tasks are completed, that they are noted as such so they are marked as being complete in a sprint when a release is published on every 2nd sunday.
- Contributors are encouraged to render their activities visible through microblogging, jaiku - when you sign up for being a contributor you will get a Jaiku invite. RSS feed can be found on http://jaiku.com/channel/mer/feed/rss and Jaiku channel on http://jaiku.com/channel/mer
- Why are you encouraged to render your activities visible? We are spread across the globe and it is hard to have real time conversations, and this allows us to document what has been done.
Next sprint periods:
- 0.7: 25 january 2009 (release)
- 0.8: 25 january (start) - 8 february 2009 (release)
- 0.9: 8 february 2009 (start) - 22 february 2009 (release)
- 0.10: 22 february 2009 - 8 march 2009 (release)
If you have a task you think could contribute to Mer, add it to the task table for the newest sprint 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. Remember to render your activities visible through microblogging.
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
Sprint 0.7
Period: until 25 january 2009
Sprint 0.6
Period: already released
Sprint template
Period: START - RELEASE
Tasks
Completed | Good progress | Just standing | Some help needed! | Really stuck/delayed | Urgent for next release |
Committed & Target | Task | Owner | % | Highlights |
---|---|---|---|---|
When committed to | What | Who | 0% | Progress |
Bugs
Bug reports in bugzilla discovered through or related to Mer development in this sprint:
4023+ | critical | Desktop platform | RESOLVED | WONTFIX | Sapwood doesn't align PixbufOpenRequest properly (crash on 770) | Sven Herzberg |
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.
Tasks
Completed | Good progress | Just standing | Some help needed! | Really stuck/delayed |
Committed & Target | Task | Owner | % | Highlights |
---|---|---|---|---|
December | 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. |
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% | Provided here and guide here |
December | Basic hildon-desktop up on Xorg, running with advanced-backlight and load-applet | Stskeeps, johnx, etc. | 100% | In repository |
December | Initial Scratchbox1 SDK for Mer/armv5te | Stskeeps | 100% | Provided here |
2008-15-12 - 0.7 | Installer for Mer on Diablo | b-man | 90% | Initial versions |
2008-17-12 | cx3110x-umac-module (symlink to umac.ko module | qwerty12 | 100% | Now in repository |
2008-17-12 | nokia-n8x0-firmware (symlink to firmwares in initfs) | qwerty12 | 100% | Now in repository |
2008-17-12 | hildon-desktop-env with hildon-input-method setup | qwerty12 | 100% | Now in repository |
January | Diablo kernel that boots from rootfs instead of initfs, and runs /sbin/tablet-init instead of init | qwerty12 | 100% | Provided here |
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 here |
January | Missing localization strings in Hildon, (#4001) | Stskeeps | 50% | |
January | Document how to get packages included in repository | Stskeeps | 100% | provided here |
0.7 | qemu-eabi cputransp for Scratchbox | qwerty12 | 95% | Deb (i386) & source package provided here - package and qemu binary fine, postinst & prerm scripts need testing (most likely to work fine however). |
2009-01-12 | Fix backspace and enter kills Xorg bug | meizirkki/johnx/Stskeeps | 100% | Upstream Xorg / Ubuntu bug, fixed in upstream |
Open system sounds (startup chime, touchscreen tap, etc) | opengeekv2 | 0% | ||
Replacing SDK icons with more modern ones | none | 0% | ||
2009-01-16 | Include dsme-tools & wifi power saving from Deblet | Stskeeps | 100% | In repository now |
0.7 | Working X-terminal with hildon input method working | none | 0% | |
16-01-2009 - 0.7 | nit-kernel-compat (support kernel booting rootfs directly), base on nitboot | qwerty12 | 90% | In repository - needs testing |
Modern kernels, get newer kernels working with the 770, N8x0, and use stlc45xx on N8x0s | none | 0% | ||
Include hildon-theme-layout-4-synth (alter to use proper fallback icon theme) and tritanium, meta, okuda, kobayashi from extras-devel | none | 0% | ||
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. |
Bring in new changes from http://gitweb.pingu.fi/?p=xf86-video-omapfb.git;a=summary to xserver-xorg-video-omapfb | none | 0% | ||
Make hildon-desktop-env use a configuration file to determine wether it needs to show cursor or not (useful for x86) | none | 0% | ||
Make kernel-diablo-modules-gserial and implement support with help of rescue menu | none | 0% | ||
2009-01-17 | Move project from launchpad to maemo.org garage | Stskeeps | 40% | Project retrieved (mer.garage.maemo.org), Mer on bugs.maemo.org. Blockers: Multiple git repositories per project Personal git repositories. |
Figure out how to make gnome-keyring invisible to the user (or make NetworkManager use something else) | none | 0% | ||
Fix key generation of openssh-server so it doesn't do it on imager but does it when booting | none | 0% | ||
2009-01-19 | Mer-ize hildon-application-manager | Jaffa | 100% | In repository now. lp:~aflegg/m-r/hildon-application-manager needs to be merged to lp:~mer-committers/m-r/hildon-application-manager. Screenshots: 1, 2, 3 |
Update debhelper in Mer Scratchbox SDK devkit | none | 0% | ||
Figure out why python-osso fails to build in SDK | none | 0% | ||
Package up advanced-power as a debian source package | none | 0% |
Bugs
Bug reports in bugzilla discovered through or related to Mer development in this sprint:
ID | Severity | Product | Status | Resolution | Summary (6 tasks) ⇒ | Assignee |
---|---|---|---|---|---|---|
4016 | blocker | Mer | RESOLVED | FIXED | gnome has broken dependences because of libgnomevfs2-extra | Carsten Munk |
3858+ | normal | System software | RESOLVED | FIXED | maemo-launcher build-depends on libhildondesktop-dev, which in turn build-depends on maemo-launcher-dev | Guillem Jover |
3997 | critical | Development platform | RESOLVED | WONTFIX | dbus-glib 0.78-0maemo1 causes hildon-desktop to crash in background-manager.h | Soumya |
4001 | normal | Development platform | RESOLVED | WONTFIX | Missing en_GB translations for logical names that already existed before | Soumya |
4023+ | critical | Desktop platform | RESOLVED | WONTFIX | Sapwood doesn't align PixbufOpenRequest properly (crash on 770) | Sven Herzberg |
3939+ | normal | Desktop platform | RESOLVED | WONTFIX | sapwood loops infinitely at malformed request | unassigned |
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.
Straightjacket packages
This is a list of packages that did not compile in Scratchbox, and that we had to build natively:
- python-osso: http://trac.tspre.org:8000/python-osso_jaunty-armel-1232387331.log (python extension build problem)
- python-hildon: http://trac.tspre.org:8000/python-hildon_jaunty-armel-sb-1232400294.log (python extension build problem)
- python-hildondesktop: http://trac.tspre.org:8000/python-hildondesktop=0.0.2-2mer2_armel-0901212232.log (python extension build problem)
- vte: http://trac.tspre.org:8000/vte=1:0.17.4-0ubuntu1mer2_jaunty-armel-1232381310.log (potential debhelper issue)
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 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
Invalid language.
You need to specify a language like this: <source lang="html4strict">...</source>
Supported languages for syntax highlighting:
abap, actionscript, actionscript3, ada, apache, applescript, apt_sources, asm, asp, autoit, avisynth, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_mac, caddcl, cadlisp, cfdg, cfm, cil, cmake, cobol, cpp, cpp-qt, csharp, css, d, dcs, delphi, diff, div, dos, dot, eiffel, email, erlang, fo, fortran, freebasic, genero, gettext, glsl, gml, gnuplot, groovy, haskell, hq9plus, html4strict, idl, ini, inno, intercal, io, java, java5, javascript, kixtart, klonec, klonecpp, latex, lisp, locobasic, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, make, matlab, mirc, modula3, mpasm, mxml, mysql, nsis, oberon2, objc, ocaml, ocaml-brief, oobas, oracle11, oracle8, pascal, per, perl, php, php-brief, pic16, pixelbender, plsql, povray, powershell, progress, prolog, properties, providex, python, qbasic, rails, rebol, reg, robots, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, tcl, teraterm, text, thinbasic, tsql, typoscript, vb, vbnet, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xml, xorg_conf, xpp, z80