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
(When compiling arm kernels < 2.6.36)
(When compiling arm kernels < 2.6.36)
 
(6 intermediate revisions by 3 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.
 +
 +
After checking the requirements, see [[Adaptation_Guide/Step_by_step|step-by-step guide]] how to move on.
  
 
== Kernel ==
 
== Kernel ==
  
Required kernel options:
+
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.
CONFIG_ must be set to one of the permitted values "," seperated and
+
The package is called mer-kernel-checks, which is also used in the kernel packaging template
multiple values permitted
+
available at https://github.com/lbt/mer-kernel-adaptation
 
+
* y = set and enabled
+
* 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_INPUT_EVDEV || 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 98: Line 38:
 
This patch needs adding to stop systemd journal taking 100% cpu and also other features
 
This patch needs adding to stop systemd journal taking 100% cpu and also other features
  
https://build.pub.meego.com/package/view_file?file=wire-up-sys_accept4-on-ARM.patch&package=kernel-adaptation-n950&project=home%3Amarquiz%3An950&rev=a5b2d07e6611a4c92035b24b89f1037d
+
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
  
This small patch needs applying for proper CGROUPS support
+
==== When compiling kernel < 3.2 ====
  
https://build.pub.meego.com/package/view_file?file=cgroupfs-create-sys-fs-cgroup-to-mount-cgroupfs-on.patch&package=kernel-adaptation-n950&project=CE%3AAdaptation%3AN950-N9&rev=c78074f995df306bf1e9070bd6c3a822
+
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]]
 
[[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