User Tools

Site Tools


projects

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Last revision Both sides next revision
projects [2016-11-04 15:54]
joshtriplett Add prctl as a good target
projects [2017-03-01 21:19]
joshtriplett Update work in progress
Line 2: Line 2:
  
   * Make individual syscalls or groups of syscalls optional. See the [[syscalls]] page for a list of syscalls that can't currently be compiled out.  (Note that in most cases you'll want to compile out the underlying kernel functionality exposed by those syscalls; if that functionality is not already optional, this will likely turn into a large project. ​ Also, you do not need to add a Kconfig option for each syscall; you can group a related family of syscalls under one option, especially if they all depend on the same infrastructure.)   * Make individual syscalls or groups of syscalls optional. See the [[syscalls]] page for a list of syscalls that can't currently be compiled out.  (Note that in most cases you'll want to compile out the underlying kernel functionality exposed by those syscalls; if that functionality is not already optional, this will likely turn into a large project. ​ Also, you do not need to add a Kconfig option for each syscall; you can group a related family of syscalls under one option, especially if they all depend on the same infrastructure.)
-    * In progress: sendfile, splice/​vmsplice,​ tee, adjtime/​adjtimex,​ iopl, ioperm +    * In progress: sendfile, splice/​vmsplice,​ tee, adjtime/​adjtimex,​ iopl, ioperm, pivot_root, prctl 
-    * Good targets: ​pivot_root, ​renameat2, prctl+    * Good targets: renameat2
   * Look at the directories and built-in.o files that show up in a tinyconfig build, and check for directories where all of the code depends (directly or indirectly) on a single configuration symbol. ​ (''​find -name built-in.o -size 8c''​ will find built-in.o files that contain no code.) in the Makefile for the parent directory, change obj-y to obj-$(CONFIG_THAT_SYMBOL),​ to stop the build system from recursing into that directory at all.  This doesn'​t directly make the kernel smaller, but makes the build faster and makes it easier to identify which code gets built in.   * Look at the directories and built-in.o files that show up in a tinyconfig build, and check for directories where all of the code depends (directly or indirectly) on a single configuration symbol. ​ (''​find -name built-in.o -size 8c''​ will find built-in.o files that contain no code.) in the Makefile for the parent directory, change obj-y to obj-$(CONFIG_THAT_SYMBOL),​ to stop the build system from recursing into that directory at all.  This doesn'​t directly make the kernel smaller, but makes the build faster and makes it easier to identify which code gets built in.
   * Compile out kernel/​time/​ntp.c,​ along with adjtimex and similar syscalls. (done)   * Compile out kernel/​time/​ntp.c,​ along with adjtimex and similar syscalls. (done)
projects.txt · Last modified: 2017-06-13 22:27 by joshtriplett