Adaptation Guide

This page contains information what is expected from a Mer Hardware Adaptation.

After checking the requirements, see step-by-step guide how to move on.

Kernel
Required kernel config options are now available in https://github.com/lbt/mer-kernel-check/. This git tree has also been packaged to rpm package that is available in mer core. The package is called mer-kernel-checks, which is also used in the kernel packaging template available at https://github.com/lbt/mer-kernel-adaptation

When compiling kernel for ARM with Mer 0.20110105.1 or newer
NOTE: Kernels newer than 3.4 seem to have fix for this error already thus, this patchs isn't needed.

You will need to apply this patch to your kernel with this new Mer and toolchain release, if your kernels break on boot (they likely will). It will enable -mno-unaligned-access in your kernel compilation flags.

--- linux-3.1/Makefile 2011-10-24 18:10:05.000000000 +1100 +++ b/Makefile 2011-12-24 16:06:38.848284875 +1100 @@ -640,6 +640,8 @@       KBUILD_CFLAGS += -DCC_HAVE_ASM_GOTO endif

+KBUILD_CFLAGS += -mno-unaligned-access + warn-assign = \
 * 1) Add user supplied CPPFLAGS, AFLAGS and CFLAGS as the last assignments
 * 2) But warn user when we do so

When compiling arm kernels < 2.6.36
This patch needs adding to stop systemd journal taking 100% cpu and also other features

https://github.com/nemomobile/kernel-adaptation-n950-n9/commit/3154069946ec127ef1c25c2bcd9d0414c2e0387b

Patches for proper cgroups support on older kernels.

https://github.com/nemomobile/kernel-adaptation-n950-n9/commit/f6432438f979a6fd83dda5fcfcedee09ec48e261 https://github.com/nemomobile/kernel-adaptation-n950-n9/commit/8ccba06cd34324a8be5c8510136846f4ef0c5af1 https://github.com/nemomobile/kernel-adaptation-n950-n9/commit/ea4b77a4850c41ee1a7ea0288e7cb9627d61d86d

When compiling kernel < 3.2
If you get complain about module-init-tools, you might want to get http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=commit;h=620c231c7a7f48745094727bb612f6321cfc8844 patch.