HowToMeegoFennecDraft
What this is About
This document explains "How to build Mobile Firefox for Meego Netbook Platform".
Versions
This is written for Meego 1.1 SDK. Target Device is the Lenovo Ideapad. Target Platform is the Intel Netbook Release.
Setup your Netbook
I use a Lenovo Ideapad S10-3t supporting multitouch. This is the recommended target device of Intel. Follow Instructions
Presteps, Install the SDK on your System
Add the package respository of the SDK to your system: (see source for more)
On Ubuntu or Debian
- Add the following line to
/etc/apt/sources.list.d/meego-sdk.list.
Replace ${distribution}/${version} with one of the following: "debian/5.0", "ubuntu/09.10", "ubuntu/10.04" or "ubuntu/10.10".deb http://repo.meego.com/MeeGo/sdk/host/repos/${distribution}/${version}/ / - Add the repository public key:
$ gpg --keyserver pgpkeys.mit.edu --recv 0BC7BEC479FC1F8A
$ gpg --export --armor 0BC7BEC479FC1F8A | sudo apt-key add -
- Update the packages database:
$ sudo apt-get update
- To check that the MeeGo repository has been correctly added, run the following command. The details of the MADDE package should be printed.
$ apt-cache policy madde
- Install
$ sudo apt-get install meego-sdk
On openSUSE
- To add the MeeGo repository, run the following command.
Replace ${distribution}/${version} with one of the following values: "opensuse/11.2" or "opensuse/11.3".$ sudo zypper addrepo -f http://repo.meego.com/MeeGo/sdk/host/repos/${distribution}/${version}/meego-sdk.repo
- Install
$ sudo zypper install meego-sdk
Configure SDK
Download the mozilla-meego-assistant script from this website.
- Download File:Mozilla-meego-sdk-helper.tar.gz
- untar the tarbal
(the meego-assistant script, will create a mount point and a working directory in the local directory!) you can edit the place by changing the variables in the script.) sudo ./meego-assistant install
Steps
sudo ./meego-assistant login
On first start this actually does the final configuration of the Image. Like downloading basic build dependencies, installing mercurial and autoconf2.13.- Get Mozilla Sources and apply Meego Developer Patches on it
cd /meegoWorkingDirectory hg clone http://hg.mozilla.org/mozilla-central cd mozilla-central hg clone http://hg.mozilla.org/mobile-browser mobile cd mobile/.hg hg clone http://hg.mozilla.org/users/romaxa_gmail.com/workbase_prc2 patches cd patches hg update -C mobile-browser cd ../../../.hg/ hg clone http://hg.mozilla.org/users/romaxa_gmail.com/workbase_prc2 patches cd ../ hg qpush --all cd mobile hg qpush --all cd .. wget https://wiki.mozilla.org/images/7/7c/Mozconfig.tar.gz tar -xzf Mozconfig.tar.gz make -f client.mk build
MOZCONFIG, i386 Build File:Mozconfig.tar.gz
export LDFLAGS="-Wl,--no-keep-memory,-rpath-link,$PWD/dist/bin/:/usr/lib:/lib" export LD_LIBRARY_PATH="/lib:/usr/lib:/usr/local/lib:/usr/X11R6/lib" # Options for client.mk. mk_add_options MOZ_BUILD_PROJECTS="xulrunner mobile" mk_add_options AUTOCONF=autoconf2.13 mk_add_options MOZ_MAKE_FLAGS=-j9 # XULRunner options ac_add_app_options xulrunner --enable-application=xulrunner ac_add_app_options xulrunner --disable-javaxpcom # Mobile options ac_add_app_options mobile --enable-application=mobile #Enable RTTI ac_cv_visibility_pragma=no # Global options ac_add_options --enable-default-toolkit=cairo-qt ac_add_options --enable-faststart ac_add_options --enable-printing ac_add_options --enable-codesighs ac_add_options --enable-system-ffi ac_add_options --enable-cpp-rtti ac_add_options -prefix=/usr ac_add_options --disable-necko-wifi ac_add_options --disable-wave ac_add_options --disable-optimize ac_add_options --disable-installer ac_add_options --disable-crashreporter ac_add_options --disable-javaxpcom ac_add_options --disable-embedding-tests ac_add_options --disable-elf-dynstr-gc ac_add_options --disable-updater ac_add_options --disable-pedantic ac_add_options --disable-elf-dynstr-gc ac_add_options --disable-install-strip ac_add_options --disable-jemalloc ac_add_options --disable-logging ac_add_options --disable-logrefcnt ac_add_options --disable-tests --disable-mochitest ac_add_options --disable-accessibility ac_add_options --disable-thumb2 # see bug 619481 mk_add_options MOZ_OBJDIR=./obj-qt-buildxulrunner
Known Issues
Crash on Start
Issues with Mesa Drivers. Starting in EGL accelerated version does not work. Fennec is crashing with:
Mesa 7.9 implementation error: glIndexPointer should be mapped to 336, not 314 Please report at bugzilla.freedesktop.org Mesa 7.9 implementation error: glUniformMatrix4fv should be mapped to 337, not 485 Please report at bugzilla.freedesktop.org
Solution: Disable hardware acceleration within mobile.js
Multitouch
Multitouch is not working in meego.com release TBI
Flash Renderspeed
For some people the Renderspeed with native is really slow, it seems to get better when using this for starting fennec:
MOZ_QT_GRAPHICSSYSTEM=meego ./fennec -graphicssystem meego