Mer/Proposals/Community Firmware: Difference between revisions

From Maemo Wiki
Jump to navigationJump to search
New page: This is a proposal how community firmware images as mentioned in Task:Community_firmware_image_distribution could be done in practice Permissions needed from Nokia to maemo.org: * Pe...
 
imported>amigadave
{{Mer}}
 
(6 intermediate revisions by 4 users not shown)
Line 1: Line 1:
This is a proposal how community firmware images as mentioned in [[Task:Community_firmware_image_distribution]] could be done in practice
{{Mer}}
 
This is a proposal how community firmware images as mentioned in [[Task:Community_firmware_image_distribution]] could be done in practice.


Permissions needed from Nokia to maemo.org:
Permissions needed from Nokia to maemo.org:
Line 15: Line 17:


Requirements on maemo.org:
Requirements on maemo.org:
* QEMU-ARM instance modelled on http://people.debian.org/~aurel32/qemu/armel/
* Interface to distribute files through EULA acceptance and MAC validation
* This virtual machine will through a script, with following input:
* QEMU-ARMEL instance modelled on http://people.debian.org/~aurel32/qemu/armel/ with wget, python installed
** A tar.gz with a Mer rootfs
* https://code.launchpad.net/~mer-committers/m-r/restricted-nokia-image-maker (a tool that based on a config.py makes a image with restricted debs installed)
** A list of packages L (with exact URL to Diablo update repositories), along with an URL to optional patch to be run with 'patch'
* Do the following:
** Download each package X into directory nokia-closed/ with patching script P listed in L
*** mkdir -p package-X/DEBIAN
*** dpkg-deb -x package-X-deb-file package-X
*** dpkg-deb -e package-X-deb-file package-X/DEBIAN
*** cd package-X
*** execute patch script P if exists
*** cd ..
*** dpkg-deb --build nokia-closed-patched/package-X-deb-file package-X
** tar pzxf the tar.gz into mer-rootfs
** in mer-rootfs, temporarily move /usr/sbin/invoke-rc.d to /usr/sbin/invoke-rc.d.REAL and /sbin/start-stop-daemon to /sbin/start-stop-daemon.REAL, and ln -s /bin/true /usr/sbin/invoke-rc.d /sbin/start-stop-daemon
** export LC_ALL=C
** copy nokia-closed-patched/ into mer-rootfs/nokia-closed-patched
** for each package X
*** chroot nokia-closed-patched dpkg -i /nokia-closed-patched/package-X-deb-file
** remove mer-rootfs/nokia-closed-patched directory
** remove mer-rootfs/usr/sbin/invoke-rc.d , mer-rootfs/sbin/start-stop-daemon
** mv /sbin/start-stop-daemon.REAL /sbin/start-stop-daemon
** mv /usr/sbin/invoke-rc.d.REAL /usr/sbin/invoke-rc.d
** tar.gz up mer-rootfs (without mer-rootfs prefix), and make accessible behind a EULA from maemo.org to worthy MAC addresses.

Latest revision as of 12:36, 22 September 2010

Mer is back : Please visit http://www.merproject.org to learn more about this news.


This is a proposal how community firmware images as mentioned in Task:Community_firmware_image_distribution could be done in practice.

Permissions needed from Nokia to maemo.org:

  • Permission to distribute the resulting firmware image of merged Nokia-closed software and Mer software, through maemo.org, behind validation of MAC address (for N8x0(W) users) and EULA specified by Nokia
  • Permission to download from the Diablo update repositories, binary packages (.deb files), which are Nokia-closed software. Current initial list we would like to use:
    • hald-addon-bme - for retrieving battery information
    • (more to come)
  • Permission to optionally patch scripts/package information (not binaries) in the Nokia-closed packages in order to fit them into Mer, by fixing incompatibility problems.

Need to check if this is needed:

  • Permission to develop patches (recipes) which may contain snippets of Nokia-closed scripts/package information as to be able to perform the patching operation correctly.
  • Permission to store these patches publically.

Requirements on maemo.org: