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)
(→Deploying to device (kind of "flashing")) |
(→Development git:) |
||
Line 24: | Line 24: | ||
** 2. Once patches seem to be ok for upstream, send / CC the patch(es) to mer-general | ** 2. Once patches seem to be ok for upstream, send / CC the patch(es) to mer-general | ||
** 3. If the patch seems ok for N9 kernel, we'll pick it up from the list. | ** 3. If the patch seems ok for N9 kernel, we'll pick it up from the list. | ||
− | ** Exception: patches | + | ** Exception: Mer/Nemo specific patches (like config changes) only need to be sent to mer-general |
=== Build instructions from git === | === Build instructions from git === |
Revision as of 10:29, 25 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: mer-general@lists.merproject.org
- CC mer-general if you send patches to upstream lists like linux-omap
Developement
Development git:
- Gitweb for browser: https://bitbucket.org/kjokinie/mer-n9-kernel
- Command line shortcut to clone the repo:
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, read process below:
- Patch process:
- 1. Send patches to upstream list first (most likely linux-omap)
- 2. Once patches seem to be ok for upstream, send / CC the patch(es) to mer-general
- 3. If the patch seems ok for N9 kernel, we'll pick it up from the list.
- Exception: Mer/Nemo specific patches (like config changes) only need to be sent to mer-general
Build instructions from git
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")
- Pre-requisite: have MOSLO set up on your N9 like this
- 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
- OBS used: https://build.pub.meego.com
- OBS API: https://api.pub.meego.com
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
- Port needed device drivers from 2.6.32 kernel to latest kernel
- Some hint may come from missing kernel config options found in initial kernel config migration from 2.6.32 to 3.5.3
Work item | Person fixing it | Other comments |
---|---|---|
USB networking | phdeswert | |
Display drivers | jnikula | |
PowerVR 3D drivers missing | jnikula?? | |
Audio driver parts missing | free for taking! | |
CMT (cellular modem) drivers | free for taking! | |
Touch driver board configuration | free for taking! | |
Volume buttons board config | free for taking! | |
WLAN driver fixing (driver exists but no wlan0 i/f, could be missing board config) | free for taking! | |
Nokia H4P bluetooth driver missing | deztructor | Not high priority |
- Port needed Mer specific patches from old N950 kernel OBS pack
- Yes, all 100+ patches there should be checked