default 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. CONFIG_BLK_DEV_INITRD=y
  2. CONFIG_STRICT_DEVMEM=n
  3. CONFIG_DYNAMIC_DEBUG=y
  4. CONFIG_MODULE_SRCVERSION_ALL=y
  5. CONFIG_OVERLAY_FS=y
  6. # GDB debugging.
  7. CONFIG_DEBUG_FS=y
  8. CONFIG_DEBUG_INFO=y
  9. CONFIG_DEBUG_KERNEL=y
  10. CONFIG_GDB_SCRIPTS=y
  11. # Non-static variables show up on /proc/kallsyms
  12. # https://stackoverflow.com/questions/20196636/does-kallsyms-have-all-the-symbol-of-kernel-functions/44614878#44614878
  13. CONFIG_KALLSYMS_ALL=y
  14. # /proc/config.gz
  15. CONFIG_IKCONFIG=y
  16. CONFIG_IKCONFIG_PROC=y
  17. # TODO make example.
  18. # This seems to allow userspace to create arbitrary configuration trees,
  19. # which kernel modules can then read and interpret.
  20. CONFIG_CONFIGFS_FS=y
  21. # KGDB
  22. CONFIG_CONSOLE_POLL=y
  23. CONFIG_KDB_CONTINUE_CATASTROPHIC=0
  24. CONFIG_KDB_DEFAULT_ENABLE=0x1
  25. CONFIG_KDB_KEYBOARD=y
  26. CONFIG_KGDB=y
  27. CONFIG_KGDB_KDB=y
  28. CONFIG_KGDB_LOW_LEVEL_TRAP=y
  29. CONFIG_KGDB_SERIAL_CONSOLE=y
  30. CONFIG_KGDB_TESTS=y
  31. CONFIG_KGDB_TESTS_ON_BOOT=n
  32. CONFIG_MAGIC_SYSRQ=y
  33. CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
  34. CONFIG_SERIAL_KGDB_NMI=n
  35. # Module.symvers in kernel tree and modules tree contains CRC of signatures.
  36. # TODO: I think the CRC are stored in the built kernel and module, and checked
  37. # at insmod, but bgrep did not find it in kernel image.
  38. # Does not show in /proc/kallyms either.
  39. CONFIG_MODVERSIONS=y
  40. # ftrace
  41. CONFIG_DYNAMIC_FTRACE=y
  42. CONFIG_FTRACE=y
  43. CONFIG_FTRACE_SYSCALLS=y
  44. CONFIG_FUNCTION_GRAPH_TRACER=y
  45. CONFIG_FUNCTION_PROFILER=y
  46. CONFIG_FUNCTION_TRACER=y
  47. CONFIG_HWLAT_TRACER=y
  48. CONFIG_IRQSOFF_TRACER=y
  49. CONFIG_SCHED_TRACER=y
  50. CONFIG_STACK_TRACER=y
  51. CONFIG_TRACER_SNAPSHOT=y
  52. # Process tracing.
  53. CONFIG_CONNECTOR=y
  54. CONFIG_PROC_EVENTS=y
  55. # 9P
  56. CONFIG_9P_FS=y
  57. CONFIG_9P_FS_POSIX_ACL=y
  58. CONFIG_9P_FS_SECURITY=y
  59. CONFIG_NETWORK_FILESYSTEMS=y
  60. CONFIG_NET_9P=y
  61. CONFIG_NET_9P_DEBUG=y
  62. CONFIG_NET_9P_VIRTIO=y
  63. # 9P needed for ARM. Not fully minimized, but so be it.
  64. CONFIG_PCI=y
  65. CONFIG_PCI_HOST_COMMON=y
  66. CONFIG_PCI_HOST_GENERIC=y
  67. CONFIG_VIRTIO_PCI=y
  68. CONFIG_VIRTIO_BLK=y
  69. # Misc
  70. CONFIG_DUMMY_IRQ=m
  71. CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
  72. # Requirement for LOGO.
  73. CONFIG_FB=y
  74. CONFIG_LOGO=y
  75. ## Networking
  76. # Will everything blow up?
  77. # https://superuser.com/questions/684005/how-does-one-permanently-disable-gnu-linux-networking/1255015#1255015
  78. #CONFIG_NET=n
  79. # If given, we can use QEMU 2.9.0 default x86 networking without any -net or -netdev options,
  80. # since E1000 is the default networking device as mentioned at:
  81. # https://en.wikibooks.org/w/index.php?title=QEMU/Networking&oldid=3268753
  82. #CONFIG_E1000=y
  83. ## x86
  84. # https://stackoverflow.com/questions/20069620/print-kernels-page-table-entries
  85. # cat /sys/kernel/debug/kernel_page_tables
  86. CONFIG_X86_PTDUMP=y
  87. ## UIO
  88. # All other UIO depend on this module.
  89. CONFIG_UIO=m
  90. # Generic platform devices.
  91. # https://yurovsky.github.io/2014/10/10/linux-uio-gpio-interrupt/
  92. CONFIG_UIO_DMEM_GENIRQ=m
  93. CONFIG_UIO_PDRV_GENIRQ=m
  94. # https://github.com/rumpkernel/wiki/wiki/Howto:-Accessing-PCI-devices-from-userspace
  95. # /sys/class/uio/
  96. # /sys/class/uio/uio0
  97. CONFIG_UIO_PCI_GENERIC=m
  98. ## ARM
  99. # Like CONFIG_X86_PTDUMP for ARM.
  100. CONFIG_ARM64_PTDUMP=y
  101. # For record and replay.
  102. CONFIG_8139CP=y