x86: Add "make tinyconfig" to configure the tiniest possible kernel

Since commit 5d2acfc7b9 ("kconfig: make
allnoconfig disable options behind EMBEDDED and EXPERT") in 3.15-rc1,
"make allnoconfig" disables every possible config option.

However, a few configuration options (CC_OPTIMIZE_FOR_SIZE,
OPTIMIZE_INLINING) produce a smaller kernel when turned on, and a few
choices exist (compression, highmem, allocator) for which a non-default
option produces a smaller kernel.

Add a "tinyconfig" option, which starts from allnoconfig and then sets
these options to configure the tiniest possible kernel.  This provides a
better baseline for embedded systems or efforts to reduce kernel size.

Signed-off-by: Josh Triplett <josh@joshtriplett.org>
This commit is contained in:
Josh Triplett 2014-08-08 16:25:47 -07:00
parent 3aaefce103
commit 0da1d4a0b9
3 changed files with 10 additions and 0 deletions

View File

@ -0,0 +1 @@
CONFIG_NOHIGHMEM=y

View File

@ -0,0 +1,4 @@
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_KERNEL_XZ=y
CONFIG_OPTIMIZE_INLINING=y
CONFIG_SLOB=y

View File

@ -117,6 +117,10 @@ PHONY += kvmconfig
kvmconfig:
$(call mergeconfig,kvm_guest)
PHONY += tinyconfig
tinyconfig: allnoconfig
$(call mergeconfig,tiny)
# Help text used by make help
help:
@echo ' config - Update current config utilising a line-oriented program'
@ -138,6 +142,7 @@ help:
@echo ' listnewconfig - List new options'
@echo ' olddefconfig - Same as silentoldconfig but sets new symbols to their default value'
@echo ' kvmconfig - Enable additional options for guest kernel support'
@echo ' tinyconfig - Configure the tiniest possible kernel'
# lxdialog stuff
check-lxdialog := $(srctree)/$(src)/lxdialog/check-lxdialog.sh