User Tools

Site Tools


projects

This is an old revision of the document!


Small projects

  • Make individual syscalls or groups of syscalls optional. See the syscalls page for a list of syscalls that can't currently be compiled out.
  • Turn contig_page_data into .bss since it needs so little of itself initialized.
  • Configure out writing time to the hardware clock (and in the process, compile out RTC_LIB)
  • Compile out arch/x86/boot/early_serial_console
  • Remove runtime extable sorting logic if CONFIG_BUILDTIME_EXTABLE_SORT
  • Rip out the rest of kernel/smpboot.c if !CONFIG_SMP

Large projects

  • Make ptrace optional.
  • Modify GCC's __attribute__((section(...))) to support specifying different sections for initialized (.data) and uninitialized (.bss) data. Use that to put uninitialized __initdata or per-CPU data into .bss. (This will require very detailed exploration of the toolchain, Linux's linker scripts, and similar.)
  • Rip out more of the per-CPU infrastructure when CONFIG_SMP=n
  • Support configuring out kswapd.
  • Make the kernel's entire random number infrastructure optional.
  • Compile out mm/vmstat (need to stub out bits that obtain statistics used by other bits of the kernel)
projects.1407288595.txt.gz · Last modified: 2014-08-06 01:29 by joshtriplett