port the stats utility from Rusty Russell
[openadk.git] / docs / customize-kernel-config.txt
blobf96544dc47465883e8d2b637560c99ed0ccc9e9e
1 // -*- mode:doc; -*-
2 // vim: set syntax=asciidoc:
4 [[kernel-custom]]
5 Customizing the Linux kernel configuration
6 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
8 The Linux kernel configuration can be customized using +make menuconfig+.
9 OpenADK uses a combination of Linux miniconfig feature and user defined
10 features to generate a valid Linux configuration for your target.
11 Some features and drivers are not selectable via +make menuconfig+, either
12 because your choosen target system does not have support for it or the
13 option is not implemented, yet. OpenADK uses some kind of abstraction
14 layer between the real full featured and complicated Linux kernel configuration
15 and you. It is not perfect and does include a lot of manual work in
16 +target/linux/config+, but it works in an acceptable way.
18 If you just want to view the Linux configuration, which is actually
19 used for your target, you can execute following command:
21 ---------------
22  $ make kernelconfig
23 ---------------
25 Any changes here will get lost and will not be used to generate a kernel for
26 your target. If you want to change the existing kernel configuration you need
27 to follow these steps.
29 The basic kernel configuration used for your choosen target is concatenated from
30 following two files: 
31 +target/linux/kernel.config+ and +target/<arch>/kernel/<system>+.
33 So if you would like to change any basic stuff, just edit the files and recreate your
34 firmware via:
36 ---------------
37  $ make
38 ---------------
40 OpenADK automatically recognizes any change and will rebuild the kernel.
42 The base kernel configuration for your target generated by OpenADK is normally just enough to
43 bootup the system with support for your board, serial console, network card and boot medium.
44 (like a hard disk, sd card or flash partition)
46 If you need to enable some new optional drivers or features, which are not available in
47 +make menuconfig+, you need to dig in +target/linux/config+. There is the abstraction layer
48 for the real kernel configuration.