***** WHATS-IN-DILEKS-LINUX-KERNEL.txt ***** ##### LOCALMODCONFIG-ED "SMALL" LINUX-KERNEL OPTIONS FROM DILEKS INFO: BASE KERNEL-CONFIG: From Ubuntu-kernel v3.x ##### HARDWARE ### HARDWARE MMC/SD/SDIO CONFIG_MMC=y <--- common CONFIG_MMC_BLOCK=m <--- card drivers CONFIG_MMC_SDHCI=m <--- host controller drivers ### HARDWARE USB CONFIG_BT_HCIBTUSB=m <--- bluetooth support CONFIG_USB_HID=m <--- mouse and keyboard support CONFIG_USB_PRINTER=m <--- printer support CONFIG_USB_STORAGE=m <--- mass-storage support CONFIG_USB_VIDEO_CLASS=m <--- video-camera support ### HARDWARE USB/NET/WWAN: HUAWEI E173 3G/UMTS/HSPA INTERNET STICK (requires ppp options) CONFIG_USB_USBNET=m <--- usb networking CONFIG_USB_NET_CDCETHER=m <--- usb-wwan (net) configuration CONFIG_USB_SERIAL_WWAN=m <--- usb-wwan (serial) configuration CONFIG_USB_SERIAL_OPTION=m <--- usb-serial driver called "option" ##### NETWORKING ### NETWORKING (bufferbloat with codel) CONFIG_NET_SCH_HTB=m CONFIG_NET_SCH_CODEL=m CONFIG_NET_SCH_FQ_CODEL=m ### NETWORKING (ppp options) CONFIG_PPP=y CONFIG_PPP_BSDCOMP=m CONFIG_PPP_DEFLATE=m CONFIG_PPP_FILTER=y CONFIG_PPP_MPPE=m CONFIG_PPP_MULTILINK=y CONFIG_PPP_ASYNC=m CONFIG_PPP_SYNC_TTY=m ##### FILESYSTEMS ### FILESYSTEMS (builtin: ext4 | fat | vfat) CONFIG_EXT4_FS=y CONFIG_EXT4_ENCRYPTION=y <--- Linux >= v4.2 CONFIG_FAT_FS=y CONFIG_VFAT_FS=y ### FILESYSTEMS (as-modules: btrfs (EXPERIMENTAL) | ntfs | overlayfs | squashfs | xfs) CONFIG_BTRFS_FS=m CONFIG_BTRFS_FS_POSIX_ACL=y CONFIG_NTFS_FS=m CONFIG_OVERLAYFS_FS=m CONFIG_SQUASHFS=m CONFIG_XFS_FS=m CONFIG_XFS_QUOTA=y CONFIG_XFS_POSIX_ACL=y CONFIG_XFS_RT=y ### FILESYSTEMS (charset encoding) CONFIG_FAT_DEFAULT_CODEPAGE=437 <--- codepage layout (MS-DOS) CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" <--- character set "latin-1" CONFIG_NLS_ISO8859_1=m <--- UTF-8 (NTFS) ### FILESYSTEMS (CD-ROM/DVD) CONFIG_ISO9660_FS=m CONFIG_JOLIET=y CONFIG_UDF_FS=m CONFIG_UDF_NLS=y ##### INIT (cpu/task time and stats accounting) CONFIG_TICK_CPU_ACCOUNTING=y <--- Simple tick based cputime accounting (DEFAULT: Debian kernels) CONFIG_VIRT_CPU_ACCOUNTING_GEN=y <--- Full dynticks cputime accounting (DEFAULT: Ubuntu and dileks kernels) CONFIG_VIRT_CPU_ACCOUNTING=y CONFIG_CONTEXT_TRACKING=y <--- PREREQ for full dynticks cputime accounting CONFIG_CONTEXT_TRACKING_FORCE=n <--- CAUTION: See Ubuntu-kernel BUG LP #1349028 ("not for production systems") ##### KVM CONFIG_KVM=m CONFIG_KVM_INTEL=m CONFIG_KVM_AMD=m CONFIG_KVM_DEBUG_FS=y ##### DEBUG-OPTIONS CONFIG_DEBUG_BUGVERBOSE=y <--- common CONFIG_SLUB=y <--- SLUB (DEFAULT: Ubuntu kernels) CONFIG_SLUB_DEBUG=y <--- SLUG debug CONFIG_SLAB=y <--- SLAB (DEFAULT: Debian and dileks kernels) CONFIG_DEBUG_SLAB=y <--- SLAB debug CONFIG_DEBUG_OBJECTS_RCU_HEAD=y <--- RCU CONFIG_DEBUG_OBJECTS=y <--- PREREQ for RCU CONFIG_DEBUG_SPINLOCK=y <--- spinlock CONFIG_DEBUG_MUTEXES=y <--- mutexes CONFIG_DEBUG_LOCKDEP=y <--- lockdep CONFIG_PROVE_LOCKING=y <--- Useful in combination with lockdep debugging CONFIG_DEBUG_LOCKING_API_SELFTESTS=y <--- Useful in combination with locking/lockdep debugging CONFIG_PM_DEBUG=y <--- power-mamagement CONFIG_EXT4_DEBUG=y <--- Ext4-FS CONFIG_JBD2_DEBUG=y <--- JBD2 (journaling) depends on Ext4-FS CONFIG_USB_DEBUG=y <--- USB CONFIG_USB_MON=m <--- usbmon (see Documentation/usb/usbmon.txt) CONFIG_TRACING=y <--- TraceFS filesystem (Linux >= v4.1) CONFIG_TRACE_IRQFLAGS=y <--- Enables hooks to interrupt enabling and disabling for either tracing or lock debugging CONFIG_IRQSOFF_TRACER=y <--- Interrupts-off Latency Tracer (depends on CONFIG_TRACE_IRQFLAGS_SUPPORT) CONFIG_PCIEASPM_DEBUG=y <--- PCI Express ASPM debug ##### LLVMLINUX (CLANG) CONFIG_PARAVIRT=n <--- XXX: DANGEROUS (-> Steven Rostedt) CONFIG_FTRACE=n <--- Bogus X86 asm code (see PaX email) ##### TOOLS CONFIG_X86_MSR=m <--- PREREQ for turbostat (see tools/power/x86/turbostat) -dileks // 30-MAR-2016: Add a new section tools with CONFIG_X86_MSR=m (turbostat), added CONFIG_DEBUG_LOCKING_API_SELFTESTS=y -dileks // 07-MAR-2016: Add CONFIG_FTRACE=n creates bogus X86 asm code when using llvmlinux/clang -dileks // 29-FEB-2016: Add CONFIG_PCIEASPM_DEBUG=y, collect all tracing options at one single place -dileks // 26-DEC-2015: Fix some typos -dileks // 12-OCT-2015: Add CONFIG_PROVE_LOCKING=y (useful in combination with lockdep debugging) -dileks // 04-OCT-2015: Add a new llvmlinux section -dileks // 27-SEP-2015: Add TraceFS filesystem and options to trace IRQ-flags, add important notes about context-tracking -dileks // 06-SEP-2015: Add KVM options (QEMU), add CONFIG_PPP_MPPE=m and CONFIG_PPP_SYNC_TTY=m to ppp options -dileks // 11-JUN-2015: Add Ext4-Encryption, refresh FILESYSTEMS and DEBUG-OPTIONS sections and cleanups -dileks // 16-NOV-2014: Add options to run a Huawei E173 USB 3G Internet stick with ppp options -dileks // 17-SEP-2013: Rename document, mention base kernel-config and some minor cleanup -dileks // 24-APR-2013: Add USB debugging and usbmon (kernel-module) -dileks // 20-APR-2013: More options and reorder items -dileks // 26-JAN-2013: Initial version