From: eLinux.org
Size Tunables
This page has a list of items that can be configured for the Linux kernel, which may affect the size (RAM/ROM/static/dynamic) of the kernel.
Options from Linux-tiny
CONFIG option |
description |
default value |
value for small size |
Size change (ARM) |
Notes |
CONFIG_CORE_SMALL |
tune some kernel data sizes |
N |
Y |
?? |
. |
CONFIG_NET_SMALL |
tune some net-related data sizes |
N |
Y |
?? |
. |
CONFIG_PRINTK |
allow disable of printk code and message data |
Y |
N |
?? |
. |
CONFIG_BUG |
allow elimination of BUG (and BUG_ON??) code |
Y |
N |
?? |
. |
CONFIG_ELF_CORE |
allow disabling of ELF core dumps |
Y |
N |
?? |
. |
CONFIG_PROC_KCORE |
allow disabling of /proc/kcore |
Y |
N |
?? |
. |
CONFIG_AIO |
allow disabling of async IO syscalls |
Y |
N |
?? |
. |
CONFIG_XATTR |
allow disabling of xattr syscalls |
Y |
N |
?? |
. |
CONFIG_FILE_LOCKING |
allow disabling of file locking syscalls |
Y |
N |
?? |
. |
CONFIG_DIRECTIO |
allow disabling of direct IO support |
Y |
N |
?? |
. |
CONFIG_MAX_SWAPFILES_SHIFT |
number of swapfiles |
5 |
0 |
?? |
. |
CONFIG_NR_LDISCS |
number of tty line disciplines |
16 |
2? |
?? |
. |
CONFIG_MAX_USER_RT_PRIO |
number of RT priority levels (schedule slots) |
100 |
5? |
?? |
. |
Other config options |
These are not in Linux-tiny, but help with size |
default |
small |
Size change (ARM) |
Notes |
CONFIG_KALLSYMS |
load all symbols for debugging/kksymoops |
Y |
N |
?? |
. |
CONFIG_SHMEM |
allow use of shmem filesystem |
Y |
N |
?? |
. |
Options for size instrumentation
Options for measuring size |
description |
default value |
value for instrumentation |
CONFIG_KMALLOC_ACCOUNTING |
turn on kmalloc accounting |
N |
Y |
CONFIG_AUDIT_BOOTMEM |
print out all bootmem allocations |
N |
Y |
CONFIG_DEPRECATE_INLINES |
cause compiler to emit info about inlines |
N |
Y |
options that should be investigated
Option |
default value |
value for small size |
Size change |
Notes |
CONFIG_SERIAL_8250_NR_UARTS |
4 |
0 |
?? |
only useful for non-legacy ports, depends on hardware, but most embedded hardware has only legacy serial ports |
- by default (at least on my OSK config), several different schedulers are configured
- only one should be used and others not compiled in.
Category: