Embedded Linux kernel optimization and cropping
Optimization 1. Remove support for Virtual Memory
General setup --->
[] Support for paging of anonymous memory (SWAP)
Optimization 2. Use the default I/O scheduler to cancel other schedulers.
-*-Enable the block layer --->
Io schedulers --->
<> Anticipatory I/O Scheduler
<*> Deadline I/O Scheduler
<> Cfq I/O Scheduler
Default I/O schedline (deadline) --->
Optimization 3. Cancel support for earlier binary execution files
Userspace binary formats --->
<> Kernel support for A. Out and ecoff Binaries
Optimization 4. Cancel the support of unnecessary Devices
Device Drivers --->
<*> Memory technology device (MTD) support --->
[*] MTD partitioning support
<> Redboot Partition Table Parsing
RAM/ROM/flash chip drivers --->
<> Detect flash chips by common flash interface (CFI) Probe
<> Detect non-cfi amd/JEDEC-compatible flash chips
<> Support for RAM chips in bus Mapping
<> Support for Rom chips in bus Mapping
<> Support for absent chips in bus Mapping
<> Parallel port support --->
[] Block devices --->
<> ATA/atapi/MFM/rll support --->
Input Device Support --->
[*] Keyboards --->
<> At Keyboard
Character devices --->
[] Non-standard serial port support
Serial drivers --->
<> 8250/16550 and compatible serial support
* ** Non-8250 serial port support ***
<*> Samsung S3C2410/S3C2440/s3c2442/s3c2412 serial port support
[*] Support for console on S3C2410 serial port
[] Legacy (BSD) Pty support
SPI support --->
[] SPI support
<> Hardware monitoring support --->
Optimization 5. Cancel unnecessary File System Support
File systems --->
<> Second extended FS Support
<> Ext3 Journalling File System Support
<> Ext4dev/ext4 extended FS Support development (experimental)
Miscellaneous filesystems --->
<> Journalling FLASH file system V2 (jffs2) Support
After the above Optimization Configuration is completed, the kernel image will be reduced from 1.9mb to about 1.7mb.