| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 | // -*- mode:doc; -*-// vim: set syntax=asciidoc:[[kernel-custom]]Customizing the Linux kernel configuration~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~The Linux kernel can be configured in the following manners by choosing thedesired "Kernel configuration" option in the OpenADK configuration menu:* using +make menuconfig+ in conjunction with an OpenADK minimal configuration* choosing a Linux kernel in-tree default configuration* providing an extern kernel configuration fileChoosing the first option, OpenADK uses a combination of Linux miniconfigfeature and user defined features to generate a valid Linux configuration foryour target. Some features and drivers are not selectable via+make menuconfig+, either because your choosen target system does not havesupport for it or the option is not implemented, yet. OpenADK uses some kind ofabstraction layer between the real full featured and complicated Linux kernelconfiguration and you. It is not perfect and does include a lot of manual workin +target/linux/config+, but it works in an acceptable way.If you just want to view the Linux configuration, which is actuallyused 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 foryour target. If you want to change the existing kernel configuration you needto follow these steps.The basic kernel configuration used for your choosen target is concatenated fromfollowing 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 yourfirmware 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 tobootup 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 layerfor the real kernel configuration.The defconfig option will choose a kernel in-tree default configurationspecific to your target architecture. You won't be able to do furthercustomization.Choosing the external configuration option, the OpenADK menu will prompt forthe location of a Linux +.config+ file relative to the OpenADK root directory.You will be able to alter the configuration by +make kernelconfig+. But thechanges will get lost unless you save your changes by executing--------------- $ make savekconfig---------------after completing the Linux kernel configuration dialog. Despite this is themost flexible way to configure the kernel, keep in mind that you are fullyresponsible to enable all kernel features needed to mount your filesystemsand required by your applications.
 |