#!/bin/bash ## Xanmod-ROG configuration script; this script is called during package creation and tunes kernel configuration ## where we want to differ from upstream Xanmod ## Any user customization should be done in $PKGDIR/myconfig or $HOME/.config/linux-xanmod-rog/myconfig; if either ## of these scripts exists they'll be called during package build after this script ends ## bake in s0ix debugging parameters scripts/config --enable CONFIG_CMDLINE_BOOL \ --set-str CONFIG_CMDLINE "makepkgplaceholderyolo" \ --disable CMDLINE_OVERRIDE ## HACK: forcibly fixup CONFIG_CMDLINE here as using scripts/config mangles escaped quotes sed -i 's#makepkgplaceholderyolo#pm_debug_messages amd_pmc.enable_stb=1 amd_pmc.dyndbg=\\"+p\\" acpi.dyndbg=\\"file drivers/acpi/x86/s2idle.c +p\\"#' .config # note the double escaped quotes above, sed strips one; the final result in .config needs to contain # single slash escaped quotes (eg: `CONFIG_CMDLINE="foo.dyndbg=\"+p\""`) to avoid dyndbg parse errors # at boot. this is impossible with the current kernel config script. ## XXX: As this kernel package is primarily targeted at ASUS laptops we default to schedutil so the machine properly clocks down scripts/config --disable CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE \ --enable CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL ## NOTE: s0ix debugging moved into PKGBUILD ## asusctl/supergfxctl compatibility scripts/config --module CONFIG_VFIO_IOMMU_TYPE1 \ --module CONFIG_VFIO_VIRQFD \ --disable CONFIG_VFIO_NOIOMMU \ --module CONFIG_VFIO_PCI # package is throwing a warning re: lack of binutils support for this scripts/config --disable CONFIG_X86_X32 # sync default hostname with Arch scripts/config --set-str CONFIG_DEFAULT_HOSTNAME archlinux # sync up BPF defaults with mainline scripts/config --enable CONFIG_BPF_PRELOAD \ --module CONFIG_BPF_PRELOAD_UMD \ --enable CONFIG_BPF_LSM #\ #--disable CONFIG_BPF_UNPRIV_DEFAULT_OFF # sync some settings with Arch: scripts/config --enable CONFIG_TASKS_RUDE_RCU \ --disable CONFIG_X86_MCELOG_LEGACY \ --enable CONFIG_X86_CPA_STATISTICS \ --module CONFIG_X86_PMEM_LEGACY \ --enable CONFIG_KPROBES_ON_FTRACE \ --enable CONFIG_UPROBES \ --enable CONFIG_LOCK_EVENT_COUNTS \ --enable CONFIG_MODULE_FORCE_LOAD \ --enable CONFIG_MODULE_FORCE_UNLOAD \ --enable CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS \ --enable CONFIG_BLK_DEV_THROTTLING_LOW \ --enable CONFIG_BLK_CGROUP_IOCOST \ --enable CONFIG_CMA \ --enable CONFIG_CMA_DEBUGFS \ --enable CONFIG_CMA_SYSFS \ --set-val CONFIG_CMA_AREAS 7 \ --enable CONFIG_ZSWAP_DEFAULT_ON \ --enable CONFIG_READ_ONLY_THP_FOR_FS \ --enable CONFIG_XFRM_SUB_POLICY \ --enable CONFIG_XFRM_MIGRATE \ --enable CONFIG_NET_KEY_MIGRATE \ --enable CONFIG_IPV6_OPTIMISTIC_DAD \ --enable CONFIG_IPV6_RPL_LWTUNNEL \ --enable CONFIG_NF_CONNTRACK_PROCFS \ --module CONFIG_NETFILTER_XT_TARGET_NOTRACK \ --disable CONFIG_DECNET \ --module CONFIG_IPDDP \ --enable CONFIG_IPDDP_ENCAP \ --disable CONFIG_X25 \ --disable CONFIG_LAPB scripts/config --enable CONFIG_TRACEPOINTS \ --disable CONFIG_IOSF_MBI_DEBUG \ --enable CONFIG_KVM_MMU_AUDIT \ --disable CONFIG_BLK_CMDLINE_PARSER \ --enable CONFIG_6LOWPAN_DEBUGFS \ --module CONFIG_6LOWPAN_GHC_EXT_HDR_HOP \ --module CONFIG_6LOWPAN_GHC_UDP \ --module CONFIG_6LOWPAN_GHC_ICMPV6 \ --module CONFIG_6LOWPAN_GHC_EXT_HDR_DEST \ --module CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG \ --module CONFIG_6LOWPAN_GHC_EXT_HDR_ROUTE \ --enable CONFIG_IEEE802154_NL802154_EXPERIMENTAL \ --enable CONFIG_CLS_U32_PERF \ --module CONFIG_NET_ACT_IFE \ --enable CONFIG_BATMAN_ADV_BATMAN_V \ --enable CONFIG_CEPH_LIB_PRETTYDEBUG \ --module CONFIG_PCIEAER_INJECT \ --enable CONFIG_PCIE_ECRC \ --enable CONFIG_PCI_P2PDMA scripts/config --disable CONFIG_RAPIDIO \ --module CONFIG_CDROM \ --disable CONFIG_PARIDE \ --enable CONFIG_NVME_CORE \ --enable CONFIG_BLK_DEV_NVME \ --module CONFIG_FDDI \ --module CONFIG_PPP \ --module CONFIG_SLHC # larger kernel log buffer (256KB) scripts/config --set-val CONFIG_LOG_BUF_SHIFT 18 # MSR as a module scripts/config --module CONFIG_X86_MSR # enable EFI var access scripts/config --module CONFIG_EFI_VARS # enable bluetooth high speed scripts/config --enable CONFIG_BT_HS # disable user event hooks scripts/config --disable CONFIG_UEVENT_HELPER scripts/config --disable CONFIG_FW_LOADER_USER_HELPER # enable scheduler autogrouping scripts/config --enable CONFIG_SCHED_AUTOGROUP_DEFAULT_ENABLED # enable multigen LRU by default #scripts/config --enable CONFIG_LRU_GEN_ENABLED # TODO: Not yet supported on 5.15