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
(add EXT4 and DEVTMPFS_MOUNT)
(When compiling arm kernels < 2.6.36)
 
(11 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 ==
  
CONFIG_ must be set to one of the permitted values "," seperated and
+
Required kernel config options are now available in https://github.com/lbt/mer-kernel-check/.  
multiple values permitted
+
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
* y = set and enabled
+
available at https://github.com/lbt/mer-kernel-adaptation
* m = set and module
+
* n = set to no (commented out or not present)
+
* "value" = set to "value"
+
* /regexp/ = set to "value" which matches regexp
+
* ! = Any value not mentioned will be warned, not errored
+
 
+
 
+
examples :
+
* y : means must be set to y
+
* y,m : means either y or m
+
* y,n : means module or unset (not module)
+
* y,m,! : means either y or m but any other value will warn
+
* "" : means must be set to null, /.+/ means must match something
+
* "noop","cfs" : means must be either "noop" or "cfs"
+
 
+
{| border="1"
+
! Option
+
! Permitted values
+
! Reason
+
|-
+
| CONFIG_EXT4_FS || y,m ||
+
| Mer uses ext4 as rootfs
+
|-
+
| CONFIG_DEVTMPFS || y ||
+
| needed by systemd
+
|-
+
| CONFIG_DEVTMPFS_MOUNT || y ||
+
| needed by systemd
+
|-
+
| CONFIG_CGROUPS || y ||
+
|-
+
| CONFIG_AUTOFS4_FS || y,m ||
+
|-
+
| 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"
+
|-
+
| CONFIG_ANDROID_PARANOID_NETWORK|| n ||
+
|-
+
| CONFIG_ANDROID_LOW_MEMORY_KILLER || n ||
+
|-
+
| CONFIG_DUMMY || n ||
+
|-
+
| CONFIG_ANDROID || n
+
| 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 91: 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