dotfiles/kernel-config.md
2021-07-14 14:38:58 +02:00

157 lines
6.1 KiB
Markdown

# Kernel configuration guide
This file contains all of the changes I made from default
gentoo-sources kenrel in menuconfig. I listed them here to make
it simple to independently configure other machines.
## Configuration listing
- General Setup
- Kernel compression mode: LZ4
- uselib syscall: N
- Kernel log buffer size: 45
- CPU kernel log buffer size contribution: 45
- Temporary per-CPU printk log buffer size: 12
- Compiler optimization level: Optimize for performance -O2
- Processor type and features
- Enable MPS table: N
- Support for extended (non-PC) x86 platforms: N
- Processor family: Core2/newer Xeon
- Maximum number of CPUs: 8 # CPU threads amount
- Multi-core scheduler support: N
- Reroute for broken boot IRQs
- Machine Check / overheating reporting
- AMD MCE features: N
- Performance monitoring
- AMD Processor Power Reporting Mechanism: N
- IOPERM and IPPL Emulation: N
- CPU mircocode loading support
- AMD microcode loading support: N
- Enable 5-level page tables support
- Check for low memory corruption: N
- MTRR (Memory Type Range Register) support
- MTRR cleanup enable value: 1
- MTRR cleanup spare reg num: 1
- Power management and ACPI options
- CPU Frequency scaling
- Default CPUFreq governor: ondemand
- 'performance' governor: *
- 'powersave' governor: *
- 'userspace' governor for userspace fequency scaling: N
- 'ondemand' cpufreq policy governor: *
- 'conservative' cpufreq governor: N
- 'schedutil' cpufreq policy governor: *
- Cpuidle Driver for Intel Processors: *
- Virtualization
- Kernel-based Virtual Machine (KVM) support: *
- KVM for Intel (and compatible) processors support: *
- Enable loadable module support
- Module unloading
- Forced module unloading: N
- Enable the block layer
- Block layer debugging information in debugfs: N
- IO Schedulers
- MQ deadline I/O scheduler: N
- Kyber I/O scheduler: N
- BFQ I/O scheduler: *
- Networking support
- Wireless
- cfg80211 - wireless connfiguration API: M
- enable powersave by default
- Generic IEEE 802.11 Networking Stack (mac80211): M
- Networking options
## TODO: Check these options and configure them specifically
- TCP/IP networking
- The IPv6 protocol
- IPv6-in-IPv4 tunnel (SIT driver): N
- Bluetooth subsystem support: *
- Device Drivers
- Generic Driver Options
- Firmware loader
# Let kernel compile the firmware here into the kernel, otherwise
# you would need to set those dirvers as modules, instead of building
# into the kernel. It doesn't really affect me to leave them as
# modules. This option also caused me problems so I don't set it.
- Build named firmware blobs into the kernel binary: /lib/firmware
- Block devices
- Loopback device support: * # enable reading cd-roms
- Number of loop devices to pre-create at init time: 0
- SCSI device support
- SCSI disk support: *
- SCSI CDROM support: *
- Asynchronous SCSI scanning: *
- Serial ATA and Parallel ATA drivers
## TODO: Consider disabling ATA SFF support, could cause problems though
- Multiple devices driver support: *
- Device mapper support: *
- Crypt target support: *
- Thin provisioning target: *
- Macintosh device drivers: N
- Network device support
- Ethernet driver support
- Atheros devices
- Atheros Qualcomm AR816x/AR817x support
## Turn off everything else. NOTE: this depends on HW
- Wireless LAN
- Atheros/Qualcomm devices
- Atheros 802.11ac wireless cards support: M
- Athernos ath10k PCI support: M
## Turn off everything else. NOTE: this depends on HW
- USB Network Adapters: N
- Input device support
- Keyboards:
- AT keyboard: *
- Mice:
- PS/2 mouse: *
- Synaptics I2C Touchpad support: *
- Joysticks/Gamepads: N
- Tablets: N
- Touchscreens: N
- Hardware Monitoring support
- Intel Core/Core2/Atom temperature sensor: *
- Multifunction device drivers
- Intel Quark MFD I2C GPIO: *
- Intel ICH LPC: *
- Intel SCH LPC: *
- Intel Low Power Subsystem support in ACPI mode: *
- Intel Low Power Subsystem support in PCI mode: *
- Intel PMC Dirver for Broxton: *
- Intel Platform Monitoring Technology (PMI) support: *
- Graphics support
- Maximum number of GPUs: 2
- Sound card support
- Advanced Linux Sound Architecture
- PCI sound devices:
- [TODO Check if needed] Intel/SiS/nVidia/AMD/ALi AC97 Controller: *
- HD-Audio
- Build HDMI/DisplayPort HD-audio codec support: *
- Build Conexant HD-audio codec support: *
- USB sound devices:
- USB Audio/MIDI driver: *
- HID support
- Special HID drivers
## Configure these based on HW
- x86 Platform Specific Device drivers
## These are mostly for laptop specific things (vol up/down, etc.)
- File systems
- The extended 4 filesystem: *
- Btrfs filesystem support: *
- Btrfs POSIX Access Control Lists: *
- FUSE (Filesystem in Userspace) support: * # for androind connection with MTP
- CD-ROM/DVD Filesystems:
- ISO 9660 CDROM file system support: M
- Microsoft Joliet CDROM extensions: *
- Transparent decompression extension: *
- UDF file system support: M
- DOS/FAT/EXFAT/NT Filesystems
- MSDOS fs support: *
- VFAT (Windows-95) fs support: *
- exFAT filesystem support: *
- NTFS file system support: *
- NTFS write support: *
- Miscellaneous filesystems: N
- Network File Systems: *
- Security options
- NSA SELinux Support: N
- AppArmor Support: *