summaryrefslogtreecommitdiff
path: root/docs/customize-kernel-config.txt
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2014-03-17 08:24:06 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2014-03-17 08:24:06 +0100
commit4ac8527c290ad1dd0fa622097e90b3858e42e847 (patch)
treeea8c7a980a5fcd92a9104fd2d99a8ccc0f1e5c80 /docs/customize-kernel-config.txt
parent186c1bd82b6a6a1b0fcd64456088ca50e37784d5 (diff)
parenta4d9f84daa3c1d5195daf4e85cdc5d2fc1a98d5e (diff)
Merge branch 'master' of git+ssh://openadk.org/git/openadk
Diffstat (limited to 'docs/customize-kernel-config.txt')
-rw-r--r--docs/customize-kernel-config.txt48
1 files changed, 48 insertions, 0 deletions
diff --git a/docs/customize-kernel-config.txt b/docs/customize-kernel-config.txt
new file mode 100644
index 000000000..9adeb7a9d
--- /dev/null
+++ b/docs/customize-kernel-config.txt
@@ -0,0 +1,48 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+[[kernel-custom]]
+Customizing the Linux kernel configuration
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The Linux kernel configuration can be customized using +make menuconfig+.
+OpenADK uses a combination of Linux miniconfig feature and user defined
+features to generate a valid Linux configuration for your target.
+Some features and drivers are not selectable via +make menuconfig+, either
+because your choosen target system does not have support for it or the
+option is not implemented, yet. OpenADK uses some kind of abstraction
+layer between the real full featured and complicated Linux kernel configuration
+and you. It is not perfect and does include a lot of manual work in
++target/linux/config+, but it works in a acceptable way.
+
+If you just want to view the Linux configuration, which is actually
+used for your target, you can execute following command:
+
+---------------
+ $ make kernelconfig
+---------------
+
+Any changes here will get lost and will not be used to generate a kernel for
+your target. If you want to change the existing kernel configuration you need
+to follow these steps.
+
+The basic kernel configuration used for your choosen target is concatenated from
+following two files:
++target/linux/kernel.config+ and +target/<arch>/kernel/<system>+.
+
+So if you would like to change any basic stuff, just edit the files and recreate your
+firmware via:
+
+---------------
+ $ make
+---------------
+
+OpenADK automatically recognizes any change and will rebuild the kernel.
+
+The base kernel configuration for your target generated by OpenADK is normally just enough to
+bootup the system with support for your board, serial console, network card and boot medium.
+(like a hard disk, sd card or flash partition)
+
+If you need to enable some new optional drivers or features, which are not available in
++make menuconfig+, you need to dig in +target/linux/config+. There is the abstraction layer
+for the real kernel configuration.