Mer/Proposals/Community Firmware

m (adding a period)
Line 16: Line 16:
Requirements on maemo.org:
Requirements on maemo.org:
* Interface to distribute files through EULA acceptance and MAC validation
* Interface to distribute files through EULA acceptance and MAC validation
-
* QEMU-ARM instance modelled on http://people.debian.org/~aurel32/qemu/armel/
+
* QEMU-ARMEL instance modelled on http://people.debian.org/~aurel32/qemu/armel/ with wget, python installed
-
* This virtual machine will through a script, with following input:
+
* https://code.launchpad.net/~mer-committers/m-r/restricted-nokia-image-maker
-
** A tar.gz with a Mer rootfs
+
-
** A list of packages L (with exact URL to Diablo update repositories), along with an URL to optional patch to be run with 'bash'
+
-
* 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.
+

Revision as of 18:05, 19 March 2009

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: