#config as per https://github.com/gg7/gentoo-kernel-guide/issues/1 # per-machine hardware config hw_file="$(dirname "$0")/hardware/$(hostname).sh" if [ -f ${hw_file} ]; then echo ${hw_file}; ${hw_file}; fi cd /usr/src/linux; # /proc/config.gz ./scripts/config --enable IKCONFIG # tristate ./scripts/config --enable IKCONFIG_PROC # boolean # gentoo-sources ( https://gitweb.gentoo.org/proj/linux-patches.git/tree/4567_distro-Gentoo-Kconfig.patch ): ./scripts/config --enable DEVTMPFS # boolean ./scripts/config --enable TMPFS # boolean ./scripts/config --enable UNIX # tristate ./scripts/config --enable SHMEM # boolean # gentoo/portage: ./scripts/config --enable CGROUPS # boolean ./scripts/config --enable NAMESPACES # boolean ./scripts/config --enable IPC_NS # boolean ./scripts/config --enable NET_NS # boolean ./scripts/config --enable SYSVIPC # boolean # openrc/runit support ./scripts/config --enable BINFMT_SCRIPT # tristate # Recommended by the Gentoo Handbook: "Also select Maintain a devtmpfs file # system to mount at /dev so that critical device files are already available # early in the boot process (CONFIG_DEVTMPFS and DEVTMPFS_MOUNT)": ./scripts/config --enable DEVTMPFS # boolean ./scripts/config --enable DEVTMPFS_MOUNT # boolean # required for CHECKPOINT_RESTORE ./scripts/config --enable EXPERT # boolean # systemd -- gentoo ebuild: ./scripts/config --enable AUTOFS4_FS # tristate ./scripts/config --enable BLK_DEV_BSG # boolean ./scripts/config --enable CGROUPS # boolean ./scripts/config --enable CONFIG_CGROUP_BPF ./scripts/config --enable CHECKPOINT_RESTORE # boolean ./scripts/config --enable CRYPTO_HMAC # tristate ./scripts/config --enable CRYPTO_SHA256 # tristate ./scripts/config --enable CRYPTO_USER_API_HASH # tristate # ./scripts/config --enable DEVPTS_MULTIPLE_INSTANCES # removed -- https://github.com/torvalds/linux/commit/eedf265aa003 ./scripts/config --enable DMIID # boolean ./scripts/config --enable EPOLL # boolean ./scripts/config --enable FANOTIFY # boolean ./scripts/config --enable FHANDLE # boolean ./scripts/config --enable INOTIFY_USER # boolean ./scripts/config --enable IPV6 # tristate ./scripts/config --enable NET # boolean ./scripts/config --enable NET_NS # boolean ./scripts/config --enable PROC_FS # boolean ./scripts/config --enable SECCOMP # boolean ./scripts/config --enable SECCOMP_FILTER # boolean ./scripts/config --enable SIGNALFD # boolean ./scripts/config --enable SYSFS # boolean ./scripts/config --enable TIMERFD # boolean ./scripts/config --enable TMPFS_POSIX_ACL # boolean ./scripts/config --enable TMPFS_XATTR # boolean ./scripts/config --enable ANON_INODES # boolean ./scripts/config --enable BLOCK # boolean ./scripts/config --enable EVENTFD # boolean ./scripts/config --enable FSNOTIFY # boolean ./scripts/config --enable INET # boolean ./scripts/config --enable NLATTR # boolean # systemd -- extra things from https://cgit.freedesktop.org/systemd/systemd/tree/README ./scripts/config --enable DEVTMPFS # boolean ./scripts/config --disable SYSFS_DEPRECATED # boolean ./scripts/config --set-str UEVENT_HELPER_PATH "" ./scripts/config --disable FW_LOADER_USER_HELPER # boolean ./scripts/config --enable EXT4_FS_POSIX_ACL # boolean ./scripts/config --enable BTRFS_FS_POSIX_ACL # boolean ./scripts/config --enable CGROUP_SCHED # boolean ./scripts/config --enable FAIR_GROUP_SCHED # boolean ./scripts/config --enable CFS_BANDWIDTH # boolean ./scripts/config --enable SCHEDSTATS # boolean ./scripts/config --enable SCHED_DEBUG # boolean ./scripts/config --enable EFIVAR_FS # tristate ./scripts/config --enable EFI_PARTITION # boolean # ./scripts/config --disable RT_GROUP_SCHED # boolean, docker wants this # ./scripts/config --disable AUDIT # boolean, conflicts with consolekit # chromium ./scripts/config --enable PID_NS # boolean ./scripts/config --enable NET_NS # boolean ./scripts/config --enable SECCOMP_FILTER # boolean ./scripts/config --enable USER_NS # boolean ./scripts/config --enable ADVISE_SYSCALLS # boolean ./scripts/config --disable COMPAT_VDSO # boolean # qemu for kernel dev ./scripts/config --module VIRTIO_PCI # tristate ./scripts/config --module VIRTIO_BLK # tristate ./scripts/config --module VIRTIO_NET # tristate ./scripts/config --module 9P_FS # tristate ./scripts/config --module NET_9P # tristate ./scripts/config --module NET_9P_VIRTIO # tristate # lm_sensors ./scripts/config --enable I2C_CHARDEV # tristate # cryptsetup, luks (according to gentoo wiki page) ./scripts/config --enable BLK_DEV_DM # tristate ./scripts/config --enable DM_CRYPT # tristate ./scripts/config --enable CRYPTO_AES_X86_64 # tristate ./scripts/config --enable CRYPTO_XTS # tristate ./scripts/config --enable CRYPTO_SHA256 # tristate ./scripts/config --enable CRYPTO_USER_API_SKCIPHER # tristate # openvpn ./scripts/config --module TUN # tristate # cups ./scripts/config --module USB_PRINTER # tristate # pulseaudio ./scripts/config --set-val SND_HDA_PREALLOC_SIZE 2048 # Docker (useful: contrib/check-config.sh) # "Generally Necessary" ./scripts/config --enable NAMESPACES # boolean ./scripts/config --enable NET_NS # boolean ./scripts/config --enable PID_NS # boolean ./scripts/config --enable IPC_NS # boolean ./scripts/config --enable UTS_NS # boolean ./scripts/config --enable CGROUPS # boolean ./scripts/config --enable CGROUP_CPUACCT # boolean ./scripts/config --enable CGROUP_DEVICE # boolean ./scripts/config --enable CGROUP_FREEZER # boolean ./scripts/config --enable CGROUP_SCHED # boolean ./scripts/config --enable CPUSETS # boolean ./scripts/config --enable MEMCG # boolean ./scripts/config --enable KEYS # boolean ./scripts/config --module VETH # tristate ./scripts/config --module BRIDGE # tristate ./scripts/config --enable NETFILTER_ADVANCED # boolean, implicit requirement for BRIDGE_NETFILTER ./scripts/config --module BRIDGE_NETFILTER # tristate ./scripts/config --module NF_NAT_IPV4 # tristate ./scripts/config --module IP_NF_FILTER # tristate ./scripts/config --module IP_NF_TARGET_MASQUERADE # tristate ./scripts/config --module NETFILTER_XT_MATCH_ADDRTYPE # tristate ./scripts/config --module NETFILTER_XT_MATCH_CONNTRACK # tristate ./scripts/config --module NETFILTER_XT_MATCH_IPVS # tristate ./scripts/config --module IP_NF_NAT # tristate ./scripts/config --module NF_NAT # tristate ./scripts/config --enable NF_NAT_NEEDED # boolean ./scripts/config --enable POSIX_MQUEUE # boolean ./scripts/config --enable CONFIG_MEMCG_SWAP_ENABLED # "Optional Features" ./scripts/config --enable USER_NS # boolean ./scripts/config --enable SECCOMP # boolean ./scripts/config --enable CGROUP_PIDS # boolean ./scripts/config --enable MEMCG_SWAP # boolean ./scripts/config --enable MEMCG_SWAP_ENABLED # boolean ./scripts/config --enable LEGACY_VSYSCALL_EMULATE # boolean ./scripts/config --enable BLK_CGROUP # boolean ./scripts/config --enable BLK_DEV_THROTTLING # boolean ./scripts/config --module IOSCHED_CFQ # tristate ./scripts/config --enable CFQ_GROUP_IOSCHED # boolean ./scripts/config --enable CGROUP_PERF # boolean ./scripts/config --enable CGROUP_HUGETLB # boolean ./scripts/config --module NET_CLS_CGROUP # tristate ./scripts/config --enable CGROUP_NET_PRIO # boolean ./scripts/config --enable CFS_BANDWIDTH # boolean ./scripts/config --enable FAIR_GROUP_SCHED # boolean ./scripts/config --enable RT_GROUP_SCHED # boolean ./scripts/config --module IP_VS # tristate ./scripts/config --enable IP_VS_NFCT # boolean ./scripts/config --module IP_VS_RR # tristate ./scripts/config --enable EXT4_FS # tristate ./scripts/config --enable EXT4_FS_POSIX_ACL # boolean ./scripts/config --enable EXT4_FS_SECURITY # boolean # "Network Drivers/overlay" ./scripts/config --module VXLAN # tristate # "Network Drivers/overlay/Optional (for encrypted networks)": ./scripts/config --enable CRYPTO # tristate ./scripts/config --enable CRYPTO_AEAD # tristate ./scripts/config --enable CRYPTO_GCM # tristate ./scripts/config --enable CRYPTO_SEQIV # tristate ./scripts/config --enable CRYPTO_GHASH # tristate ./scripts/config --enable XFRM # boolean ./scripts/config --enable XFRM_USER # tristate ./scripts/config --enable XFRM_ALGO # tristate ./scripts/config --module INET_ESP # tristate ./scripts/config --enable INET_XFRM_MODE_TRANSPORT # tristate # "Network Drivers/ipvlan" ./scripts/config --enable NET_L3_MASTER_DEV # boolean, required for IPVLAN ./scripts/config --module IPVLAN # tristate # macvlan ./scripts/config --module MACVLAN # tristate ./scripts/config --module DUMMY # tristate # "ftp,tftp client in container" # ./scripts/config --module NF_NAT_FTP # tristate # ./scripts/config --module NF_CONNTRACK_FTP # tristate # ./scripts/config --module NF_NAT_TFTP # tristate # ./scripts/config --module NF_CONNTRACK_TFTP # tristate # "Storage Drivers" ./scripts/config --enable BTRFS_FS # tristate ./scripts/config --enable BTRFS_FS_POSIX_ACL # boolean ./scripts/config --enable BLK_DEV_DM # tristate ./scripts/config --enable DM_THIN_PROVISIONING # tristate ./scripts/config --module OVERLAY_FS # tristate # From the gentoo ebuild ./scripts/config --enable SYSVIPC # boolean ./scripts/config --enable IP_VS_PROTO_TCP # boolean ./scripts/config --enable IP_VS_PROTO_UDP # boolean # libvirt ./scripts/config --module MACVTAP # tristate # sys-auth/consolekit-1.1.2 ./scripts/config --enable AUDIT # boolean, required for AUDITSYSCALL ./scripts/config --enable AUDITSYSCALL # boolean # SCSI disk support ./scripts/config --enable BLK_DEV_SD # tristate ./scripts/config --enable EXT2_FS # tristate ./scripts/config --disable EXT3_FS # tristate, "This config option is here only for backward compatibility. ext3 filesystem is now handled by the ext4 driver" ./scripts/config --enable EXT4_FS # tristate ./scripts/config --enable VFAT_FS # tristate ./scripts/config --module REISERFS_FS # tristate ./scripts/config --enable XFS_FS # tristate ./scripts/config --enable BTRFS_FS # tristate ./scripts/config --enable FUSE_FS # tristate ./scripts/config --enable ISO9660_FS # tristate ./scripts/config --enable PROC_FS # boolean ./scripts/config --enable TMPFS # boolean ./scripts/config --enable UDF_FS #Network FS ./scripts/config --enable NFSD ./scripts/config --enable CIFS # USB input devices ./scripts/config --enable HID_GENERIC # tristate ./scripts/config --enable USB_HID # tristate ./scripts/config --enable USB_SUPPORT # boolean ./scripts/config --enable USB_XHCI_HCD # tristate ./scripts/config --enable USB_EHCI_HCD # tristate ./scripts/config --enable USB_OHCI_HCD # tristate ./scripts/config --enable USB_UAS # tristate, "USB attached SCSI" # support 32-bit executables ./scripts/config --enable IA32_EMULATION # boolean # GPT, EFI, UEFI ./scripts/config --enable PARTITION_ADVANCED # boolean ./scripts/config --enable EFI_PARTITION # boolean ./scripts/config --enable EFI # boolean ./scripts/config --enable EFI_STUB # boolean ./scripts/config --enable EFI_MIXED # boolean ./scripts/config --enable EFI_VARS # tristate ./scripts/config --disable OSF_PARTITION # boolean, Alpha servers ./scripts/config --disable AMIGA_PARTITION # boolean ./scripts/config --disable SGI_PARTITION # boolean ./scripts/config --disable SUN_PARTITION # boolean ./scripts/config --disable KARMA_PARTITION # boolean ./scripts/config --enable MAC_PARTITION # boolean ./scripts/config --enable MAGIC_SYSRQ # boolean # app-emulation/qemu ./scripts/config --module KVM # tristate ./scripts/config --module VHOST_NET # tristate # https://lwn.net/Articles/680989/ # https://lwn.net/Articles/681763/ ./scripts/config --enable BLK_WBT # boolean ./scripts/config --enable BLK_WBT_SQ # boolean ./scripts/config --enable BLK_WBT_MQ # boolean # http://algo.ing.unimo.it/people/paolo/disk_sched/ ./scripts/config --module IOSCHED_BFQ # tristate # https://www.youtube.com/watch?v=y5KPryOHwk8 # https://en.wikipedia.org/wiki/Active_queue_management # https://lwn.net/Articles/616241/ ./scripts/config --module NET_SCH_FQ # tristate ./scripts/config --module NET_SCH_FQ_CODEL # tristate ./scripts/config --module NET_SCH_SFB # tristate # https://news.ycombinator.com/item?id=14813723 ./scripts/config --module TCP_CONG_BBR # tristate # IP ECMP ./scripts/config --enable IP_ROUTE_MULTIPATH # boolean # source-based IP routing ./scripts/config --enable IP_MULTIPLE_TABLES # boolean # bridging ./scripts/config --module BRIDGE # tristate # multicast ./scripts/config --enable BRIDGE_IGMP_SNOOPING # boolean # speed up tcpdump ./scripts/config --enable BPF_JIT # boolean # timing packets / ptp (Precision Time Protocol) ./scripts/config --enable NETWORK_PHY_TIMESTAMPING # boolean ./scripts/config --module IP_VS # tristate ./scripts/config --module BONDING # tristate # boot_delay=X support ./scripts/config --enable BOOT_PRINTK_DELAY # boolean # bcc ./scripts/config --enable BPF_SYSCALL # boolean ./scripts/config --module NET_CLS_BPF # tristate ./scripts/config --module NET_ACT_BPF # tristate ./scripts/config --enable BPF_EVENTS # boolean # https://www.phoronix.com/scan.php?page=article&item=linux_2637_video&num=1 ./scripts/config --enable SCHED_AUTOGROUP # boolean # * CONFIG_RT_GROUP_SCHED is enabled. rtkit-daemon (or any other real-time task) will not work unless run as root. Please consider unsetting this option. ./scripts/config --disable CONFIG_RT_GROUP_SCHED # and so on #emerge sys-fs/multipath-tools ./scripts/config --enable CONFIG_DM_MULTIPATH #FOR MOUNTING VIRTUAL HARD DRIVES #https://bethesignal.org/blog/2011/01/05/how-to-mount-virtualbox-vdi-image/ ./scripts/config --enable BLK_DEV_NBD