The Mer Wiki now uses your Mer user account and password (create account on https://bugs.merproject.org/)


N9 Kernel update project

From Mer Wiki
(Difference between revisions)
Jump to: navigation, search
Line 2: Line 2:
  
 
The N9 kernel currently used with various Mer images is based on old 2.6.32 maemo kernel. This page collects needed info for any developers who might want to help in updating that kernel to latest linux-stable version.
 
The N9 kernel currently used with various Mer images is based on old 2.6.32 maemo kernel. This page collects needed info for any developers who might want to help in updating that kernel to latest linux-stable version.
 +
 +
== Contact info ==
 +
* IRC: #mer and #nemomobile @irc.freenode.net
 +
* Mailing list: '''TBD'''
  
 
== Developement ==
 
== Developement ==
  
Development git:
+
=== Development git: ===
 
https://bitbucket.org/kjokinie/mer-n9-kernel
 
https://bitbucket.org/kjokinie/mer-n9-kernel
 
  git clone https://bitbucket.org/kjokinie/mer-n9-kernel.git
 
  git clone https://bitbucket.org/kjokinie/mer-n9-kernel.git
Line 14: Line 18:
 
* If you make patches it is recommended to send those also to relevant upstream kernel list (most likely linux-omap, as N9 uses omap SoC), this way we don't grow the upstream delta too big.
 
* If you make patches it is recommended to send those also to relevant upstream kernel list (most likely linux-omap, as N9 uses omap SoC), this way we don't grow the upstream delta too big.
  
* Build instructions from git:
+
=== Build instructions from git ===
 
** Use [https://wiki.merproject.org/wiki/Platform_SDK Mer SDK] and [https://wiki.merproject.org/wiki/Platform_SDK_and_SB2 SB2] to build.
 
** Use [https://wiki.merproject.org/wiki/Platform_SDK Mer SDK] and [https://wiki.merproject.org/wiki/Platform_SDK_and_SB2 SB2] to build.
 
** Building (inside Mer-SDK chroot):
 
** Building (inside Mer-SDK chroot):
Line 21: Line 25:
 
  sb2 make -j4 modules
 
  sb2 make -j4 modules
 
  sb2 make modules_install INSTALL_MOD_PATH=./mods
 
  sb2 make modules_install INSTALL_MOD_PATH=./mods
** Deploying to device (kind of "flashing")
+
 
*** We use helper scripts that prepare the modules etc
+
=== Deploying to device (kind of "flashing") ===
 +
 
 +
* We use helper scripts that prepare the modules etc
 
  ./prepare_kernel.sh
 
  ./prepare_kernel.sh
** Then use copy script (NOTE: do this outside Mer-SDK chroot)
+
* Then use copy script (NOTE: do this outside Mer-SDK chroot)
*** Plug N9 to USB and let it boot so the filesystem gets mounted
+
** Plug N9 to USB and let it boot so the filesystem gets mounted
*** Then "flash" the kernel (it's just a simple cp actually...)
+
** Then "flash" the kernel (it's just a simple cp actually...)
 
  sudo ./copy_kernel.sh /<path-to>/<mounted>/<N9 filesystem>
 
  sudo ./copy_kernel.sh /<path-to>/<mounted>/<N9 filesystem>
  
Line 37: Line 43:
 
* https://build.pub.meego.com/package/show?package=kernel-adaptation-n950&project=home%3Akjokinie%3Abranches%3AMer%3AMDS%3ACore%3Aarmv7hl
 
* https://build.pub.meego.com/package/show?package=kernel-adaptation-n950&project=home%3Akjokinie%3Abranches%3AMer%3AMDS%3ACore%3Aarmv7hl
  
TODO: fix OBS pack to use [https://github.com/lbt/git-pkg git-pkg] and add info how to do it here...
+
=== updating pack with git-pkg ===
 +
* setup [https://github.com/lbt/git-pkg git-pkg] by cloning it out and copy gp_make_src to PATH
 +
* then do following to update patch set for the OBS pack
 +
 
 +
osc co <kernel pack>
 +
* do changes in your local mer-n9-linux git mer-latest branch
 +
* if you change base kernel tag version, edit '''_src''' to point to right initial commit
 +
* then
 +
#symlink .git from your git tree
 +
ln -s /path-to/mer-n9-linux/.git .git
 +
#run git-pkg script to generate tar and latest patches
 +
gp_make_src
 +
* then copy the "Patches:" lines to your .yaml
 +
specify *.yaml
 +
osc addremove
 +
osc ci -m "latest changes from git..."
  
 
== TO DO list for kernel update ==
 
== TO DO list for kernel update ==

Revision as of 12:01, 7 September 2012

Contents

Summary

The N9 kernel currently used with various Mer images is based on old 2.6.32 maemo kernel. This page collects needed info for any developers who might want to help in updating that kernel to latest linux-stable version.

Contact info

  • IRC: #mer and #nemomobile @irc.freenode.net
  • Mailing list: TBD

Developement

Development git:

https://bitbucket.org/kjokinie/mer-n9-kernel

git clone https://bitbucket.org/kjokinie/mer-n9-kernel.git
git checkout -b mer-latest origin/mer-latest
  • mer-latest branch is the latest development branch
  • The git tree is public, if you want to contribute patches, contact kjokinie in #mer IRC
  • If you make patches it is recommended to send those also to relevant upstream kernel list (most likely linux-omap, as N9 uses omap SoC), this way we don't grow the upstream delta too big.

Build instructions from git

    • Use Mer SDK and SB2 to build.
    • Building (inside Mer-SDK chroot):
sb2 make n9_mer_defconfig
sb2 make -j4 zImage
sb2 make -j4 modules
sb2 make modules_install INSTALL_MOD_PATH=./mods

Deploying to device (kind of "flashing")

  • We use helper scripts that prepare the modules etc
./prepare_kernel.sh
  • Then use copy script (NOTE: do this outside Mer-SDK chroot)
    • Plug N9 to USB and let it boot so the filesystem gets mounted
    • Then "flash" the kernel (it's just a simple cp actually...)
sudo ./copy_kernel.sh /<path-to>/<mounted>/<N9 filesystem>

Packaging

Packaging development project:

updating pack with git-pkg

  • setup git-pkg by cloning it out and copy gp_make_src to PATH
  • then do following to update patch set for the OBS pack
osc co <kernel pack>
  • do changes in your local mer-n9-linux git mer-latest branch
  • if you change base kernel tag version, edit _src to point to right initial commit
  • then
#symlink .git from your git tree
ln -s /path-to/mer-n9-linux/.git .git
#run git-pkg script to generate tar and latest patches
gp_make_src
  • then copy the "Patches:" lines to your .yaml
specify *.yaml
osc addremove
osc ci -m "latest changes from git..."

TO DO list for kernel update

Personal tools