TuxML / size-analysis

Analysis of 125+ Linux configurations (this time for predicting/understanding kernel sizes)
2 stars 1 forks source link

Tiniest tiny #16

Open FAMILIAR-project opened 5 years ago

FAMILIAR-project commented 5 years ago

An interesting game, though certainly pointless: find a kernel that is smaller than tinyconfig!

A possible roadmap: try to "mutate" tinyconfig by deactivating the following options:

X86_DIRECT_GBPAGES         1
BROKEN_ON_SMP              1
EXPERT                     1
HZ_PERIODIC                1
NEED_PER_CPU_KM            1
OPTIMIZE_INLINING          1
TINY_RCU                   1
TINY_SRCU                  1
INLINE_SPIN_UNLOCK_IRQ     1
INLINE_READ_UNLOCK         1
INLINE_READ_UNLOCK_IRQ     1
INLINE_WRITE_UNLOCK        1
INLINE_WRITE_UNLOCK_IRQ    1
X86_MPPARSE                1
CPU_SUP_INTEL              1
DEBUG_KERNEL               1
CC_OPTIMIZE_FOR_SIZE       1
DEFAULT_SECURITY_DAC       1
EMBEDDED                   1
SLOB                       1
CPU_SUP_AMD                1
CPU_SUP_CENTAUR            1
UP_LATE_INIT               1
SCSI_MOD                   1

kernel version : 4.13.3

Side note: deactivating an option may have a counter-effect due to constraints: it can actually force some options to be 'y', thus increasing the number of 'y'. It would be super nice to write a script that automates individual mutations, and then compile with tuxml

Another idea: instead of the list above (around 20 options), try to mutate any configuration of tinyconfig (around 200)