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


Adaptation Guide

From Mer Wiki
(Difference between revisions)
Jump to: navigation, search
(Kernel)
(When compiling arm kernels < 2.6.36)
 
(14 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 
This page contains information what is expected from a Mer Hardware Adaptation.
 
This page contains information what is expected from a Mer Hardware Adaptation.
  
== Kernel ==
+
After checking the requirements, see [[Adaptation_Guide/Step_by_step|step-by-step guide]] how to move on.
  
Required kernel options:
+
== Kernel ==
  
{| border="1"
+
Required kernel config options are now available in https://github.com/lbt/mer-kernel-check/.  
! Option
+
This git tree has also been packaged to rpm package that is available in mer core.
! Required since
+
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
|+ Systemd
+
|-
+
| CONFIG_DEVTMPFS=y ||
+
|-
+
| CONFIG_CGROUPS=y ||
+
|-
+
|format | CONFIG_AUTOFS4_FS=[y|m] ||
+
|-
+
|format | CONFIG_IPV6=[y|m]
+
| optional, but highly recommended
+
|-
+
| CONFIG_RTC_DRV_CMOS=y
+
| optional, but highly recommended
+
|-
+
| CONFIG_FANOTIFY=y
+
| optional, required for systemd readahead.
+
|-
+
| CONFIG_UEVENT_HELPER_PATH
+
| should be empty, if you want to use systemd without initramfs
+
|-
+
| CONFIG_AUDIT=y
+
| optional, but recommended
+
|-
+
| CONFIG_TMPFS_POSIX_ACL=y
+
| recommended, if you want pam_systemd.so to setup your "seats"
+
|}
+
 
+
Remove kernel options:
+
 
+
{| border="1"
+
! Option
+
! Not Required since
+
|-
+
|-
+
| CONFIG_ANDROID_PARANOID_NETWORK=n ||
+
|-
+
| CONFIG_ANDROID_LOW_MEMORY_KILLER=n ||
+
|-
+
|format | CONFIG_DUMMY ||
+
|-
+
|format | CONFIG_ANDROID
+
| not tested
+
|}
+
  
 
=== Patches ===
 
=== Patches ===
  
 
==== When compiling kernel for ARM with Mer 0.20110105.1 or newer ====
 
==== 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
 
You will need to apply this patch to your kernel with this new Mer and
Line 74: Line 33:
 
  warn-assign = \
 
  warn-assign = \
 
</pre>
 
</pre>
 +
 +
==== 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.
 +
 +
 +
[[Category:kernel]]

Latest revision as of 13:00, 29 January 2013

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.

Contents

[edit] 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

[edit] Patches

[edit] 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
+
 # Add user supplied CPPFLAGS, AFLAGS and CFLAGS as the last assignments
 # But warn user when we do so
 warn-assign = \

[edit] 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

[edit] 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.

Personal tools