5.1 Use the default configuration menu to make our own configuration file
A recommended way is to use kernel’s built-in default configuration file. This default configuration file is under kernel’s “arch/arm/configs/”, and named “s3c2440_defconfig”. THis config file contains almost all the configuration options related to S3C24XX serial, and we can base our configuration on that. Of course, if you are interested, you can to the configuration starting from scratch.
In the configure menu, select “Load an Alternate Configuration File”, to load the default config file, as follows:
The next screen will pop up, and input the just mentioned path and default config file:
Return to the previous config menu, and enter into “system Type”:
The next step is to configure different platforms (Linux 220.127.116.11 and Linux 18.104.22.168 is slightly different)”
System Type —>
S3C2410 Machines —>
[ ] IPAQ H1940
[ ] Acer N30
[ ] Simtec Electronics BAST (EB2410ITX)
[ ] NexVision OTOM Board
[ ] AML M5900 Series
[ ] Thorcom VR1000
[ ] QT2410
S3C2412 Machines —>
[ ] SMDK2413
[ ] SMDK2412
[ ] VMSTMS
S3C2440 Machines —>
[ ] Simtec Electronics ANUBIS
[ ] Simtec IM2440D20 (OSIRIS) module
[ ] HP iPAQ rx3715
[ ] NexVision NEXCODER 2440 Light Board
[*] SMDK2440 with S3C2440 CPU module
S3C2442 Machines —>
[ ] SMDM2440 with S3C2442 CPU module
S3C2443 Machines —>
[ ] SMDK2443
After configure this part, return to the first screen.
5.2. Add our own information in the config menu
In General Setup, configure is as follows:
General setup —>
[*] Prompt for development and/or incomplete code/drivers
(-EmbedSky) Local version – append to kernel release
[*] System V IPC
(17) Kernel log buffer size (16 => 64KB, 17 => 128KB)
-*- Namespaces support
Choose SLAB allocator (SLUB (Unqueued Allocator)) —>
Note 1: The red part is what we add. Use the up and down button to move the cursor to that row, and use space key to pup up the edit windows.
Note 2: If we edit the our own information, the driver module will check the Linux version when loading, it will also check local version part, so it is recommended to compile the driver module using the kenel that was used to compile the zImage. Otherwise, there will be error.
5.3. Select if EABI support is neended
Select if EABI is supported or not:
Kernel Features —>
Memory split (3G/1G user/kernel split) —>
[ ] Preemptible Kernel (EXPERIMENTAL)
[*] Use the ARM EABI to compile the kernel
[*] Allow old ABI binaries to run with this kernel (EXPERIMENTAL)
[ ] High Memory Support (EXPERIMENTAL)
Memory model (Flat Memory) —>
[ ] Add LRU list to track non-evictable pages
(4096) Low address space to protect from user allocation
Note: If you are using compiler 4.3.3, then select it, and use 3.4.5 and below, please don’t select it.
5.4.Save the config file
The nex step is to select “Save an Alternate Configuration File”, to save file, and save as “.config”, and this file will be used when compiling kernel.
Save it as “.config”, and exit.
Note: Every time when you do “#make distclean”, or if you want to use the one we supplied, “#cp config_EmbedSky .config”