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: