From 6e8717d06cf08a69f73374c773ad06441a180325 Mon Sep 17 00:00:00 2001 From: ZHANG Yuntian Date: Wed, 15 Jan 2025 08:59:51 +0000 Subject: [PATCH] feat: sync with Radxa common configs --- ...0001-feat-radxa-common-kernel-config.patch | 874 +++++++++++++++++- ...0002-feat-radxa-custom-kernel-config.patch | 12 +- devenv.nix | 4 + 3 files changed, 882 insertions(+), 8 deletions(-) diff --git a/debian/patches/0001-feat-radxa-common-kernel-config.patch b/debian/patches/0001-feat-radxa-common-kernel-config.patch index 5e60dec..3ee8f7f 100644 --- a/debian/patches/0001-feat-radxa-common-kernel-config.patch +++ b/debian/patches/0001-feat-radxa-common-kernel-config.patch @@ -5,8 +5,8 @@ Subject: [PATCH] feat: Radxa common kernel config Signed-off-by: ZHANG Yuntian --- - src/arch/arm64/configs/radxa.config | 37 ++++++++++++++++++++ - 1 file changed, 37 insertions(+) + src/arch/arm64/configs/radxa.config | 904 ++++++++++++++++++++ + 1 file changed, 904 insertions(+) create mode 100644 src/arch/arm64/configs/radxa.config diff --git a/src/arch/arm64/configs/radxa.config b/src/arch/arm64/configs/radxa.config @@ -14,11 +14,623 @@ new file mode 100644 index 000000000000..c26829dd1cae --- /dev/null +++ b/src/arch/arm64/configs/radxa.config -@@ -0,0 +1,37 @@ -+# Disable kernel debug info +@@ -0,0 +1,904 @@ ++# KEYBOARD_GPIO_POLLED: Used by Radxa Zero 2's power button ++CONFIG_KEYBOARD_GPIO_POLLED=m ++ ++# EXT4_FS_SECURITY: Used for rootless ping ++CONFIG_EXT4_FS_SECURITY=y ++ ++# CONFIG_USB_SERIAL: Add popular USB serial controllers ++CONFIG_USB_SERIAL=m ++CONFIG_USB_SERIAL_GENERIC=y ++CONFIG_USB_SERIAL_SIMPLE=m ++CONFIG_USB_SERIAL_AIRCABLE=m ++CONFIG_USB_SERIAL_ARK3116=m ++CONFIG_USB_SERIAL_BELKIN=m ++CONFIG_USB_SERIAL_CH341=m ++CONFIG_USB_SERIAL_WHITEHEAT=m ++CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m ++CONFIG_USB_SERIAL_CP210X=m ++CONFIG_USB_SERIAL_CYPRESS_M8=m ++CONFIG_USB_SERIAL_EMPEG=m ++CONFIG_USB_SERIAL_FTDI_SIO=m ++CONFIG_USB_SERIAL_VISOR=m ++CONFIG_USB_SERIAL_IPAQ=m ++CONFIG_USB_SERIAL_IR=m ++CONFIG_USB_SERIAL_EDGEPORT=m ++CONFIG_USB_SERIAL_EDGEPORT_TI=m ++CONFIG_USB_SERIAL_F81232=m ++CONFIG_USB_SERIAL_F8153X=m ++CONFIG_USB_SERIAL_GARMIN=m ++CONFIG_USB_SERIAL_IPW=m ++CONFIG_USB_SERIAL_IUU=m ++CONFIG_USB_SERIAL_KEYSPAN_PDA=m ++CONFIG_USB_SERIAL_KEYSPAN=m ++CONFIG_USB_SERIAL_KLSI=m ++CONFIG_USB_SERIAL_KOBIL_SCT=m ++CONFIG_USB_SERIAL_MCT_U232=m ++CONFIG_USB_SERIAL_METRO=m ++CONFIG_USB_SERIAL_MOS7720=m ++CONFIG_USB_SERIAL_MOS7840=m ++CONFIG_USB_SERIAL_MXUPORT=m ++CONFIG_USB_SERIAL_NAVMAN=m ++CONFIG_USB_SERIAL_PL2303=m ++CONFIG_USB_SERIAL_OTI6858=m ++CONFIG_USB_SERIAL_QCAUX=m ++CONFIG_USB_SERIAL_QUALCOMM=m ++CONFIG_USB_SERIAL_SPCP8X5=m ++CONFIG_USB_SERIAL_SAFE=m ++CONFIG_USB_SERIAL_SAFE_PADDED=y ++CONFIG_USB_SERIAL_SIERRAWIRELESS=m ++CONFIG_USB_SERIAL_SYMBOL=m ++CONFIG_USB_SERIAL_TI=m ++CONFIG_USB_SERIAL_CYBERJACK=m ++CONFIG_USB_SERIAL_XIRCOM=m ++CONFIG_USB_SERIAL_OPTION=m ++CONFIG_USB_SERIAL_OMNINET=m ++CONFIG_USB_SERIAL_OPTICON=m ++CONFIG_USB_SERIAL_XSENS_MT=m ++CONFIG_USB_SERIAL_WISHBONE=m ++CONFIG_USB_SERIAL_SSU100=m ++CONFIG_USB_SERIAL_QT2=m ++CONFIG_USB_SERIAL_UPD78F0730=m ++ ++# Enable ES8316 codec which is used on ROCK 4C ++CONFIG_SND_SOC_ES8316=m ++ ++# Enable SPI features ++CONFIG_SPI_BITBANG=m ++CONFIG_SPI_GPIO=m ++CONFIG_SPI_MESON_SPICC=m ++CONFIG_SPI_MESON_SPIFC=m ++ ++# Fix panfrost cooling device error ++# https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg2153527.html ++CONFIG_DEVFREQ_THERMAL=y ++CONFIG_AMLOGIC_THERMAL=m ++ ++# Enable GPIO power reset to trigger external power circuit ++CONFIG_POWER_RESET_GPIO=y ++CONFIG_POWER_RESET_GPIO_RESTART=y ++ ++# Compile USB Storage as module ++CONFIG_USB_STORAGE=m ++ ++# Enable additional input support ++CONFIG_INPUT_JOYSTICK=y ++CONFIG_INPUT_TABLET=y ++ ++# Enable Device Tree overlay ++CONFIG_OF_OVERLAY=y ++ ++# Add at24 EEPROM driver ++CONFIG_EEPROM_AT24=m ++ ++# Add ds1307 RTC driver ++CONFIG_RTC_DRV_DS1307=m ++ ++# Enable System V IPC ++CONFIG_SYSVIPC=y ++ ++# Enable EFI support ++CONFIG_EFI=y ++ ++# Enable network features ++CONFIG_NET_EGRESS=y ++CONFIG_BRIDGE_NETFILTER=m ++CONFIG_NF_CONNTRACK_PROCFS=y ++CONFIG_NF_NAT_IPV6=y ++CONFIG_NF_NAT_MASQUERADE_IPV6=y ++CONFIG_IP6_NF_NAT=y ++CONFIG_IP6_NF_TARGET_MASQUERADE=y ++CONFIG_IP6_NF_TARGET_NPT=y ++CONFIG_DNS_RESOLVER=y ++ ++# Enable Wi-Fi features ++CONFIG_CFG80211_WEXT=y ++CONFIG_MAC80211=y ++ ++# Enable md-raid ++CONFIG_BLK_DEV_MD=m ++ ++# Enable USBNET ++CONFIG_USB_USBNET=m ++CONFIG_USB_CDC_PHONET=m ++CONFIG_USB_RTL8150=m ++CONFIG_USB_RTL8152=m ++CONFIG_USB_RTL8153_ECM=m ++CONFIG_USB_NET_AX8817X=m ++CONFIG_USB_NET_AX88179_178A=m ++CONFIG_USB_NET_CDCETHER=m ++CONFIG_USB_NET_CDC_EEM=m ++CONFIG_USB_NET_CDC_NCM=m ++CONFIG_USB_NET_CDC_MBIM=m ++CONFIG_USB_SIERRA_NET=m ++CONFIG_USB_NET_AQC111=m ++CONFIG_USB_NET_SMSC95XX=m ++CONFIG_USB_CONFIGFS=m ++CONFIG_USB_CONFIGFS_ACM=y ++CONFIG_USB_CONFIGFS_SERIAL=y ++CONFIG_USB_CONFIGFS_OBEX=y ++CONFIG_USB_CONFIGFS_ECM=y ++CONFIG_USB_CONFIGFS_NCM=y ++CONFIG_USB_CONFIGFS_MASS_STORAGE=y ++CONFIG_USB_NET_QMI_WWAN=m ++ ++# Disable Android options ++CONFIG_ANDROID_LOW_MEMORY_KILLER=n ++ ++# Configure freq governor ++# panfrost requires compatible governor to work ++CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y ++CONFIG_DEVFREQ_GOV_PERFORMANCE=m ++CONFIG_DEVFREQ_GOV_POWERSAVE=m ++CONFIG_DEVFREQ_GOV_USERSPACE=m ++CONFIG_DEVFREQ_GOV_PASSIVE=m ++CONFIG_CPU_FREQ_GOV_PERFORMANCE=m ++CONFIG_CPU_FREQ_GOV_POWERSAVE=m ++CONFIG_CPU_FREQ_GOV_USERSPACE=m ++CONFIG_CPU_FREQ_GOV_ONDEMAND=m ++CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m ++CONFIG_CPU_FREQ_GOV_INTERACTIVE=m ++CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y ++CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=n ++CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE=n ++CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=n ++CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE=n ++CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=n ++CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y ++ ++# Configure thermal governor ++CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=n ++CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n ++CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n ++CONFIG_THERMAL_DEFAULT_GOV_POWER_ALLOCATOR=y ++CONFIG_THERMAL_GOV_FAIR_SHARE=y ++CONFIG_THERMAL_GOV_STEP_WISE=y ++CONFIG_THERMAL_GOV_BANG_BANG=n ++CONFIG_THERMAL_GOV_USER_SPACE=y ++CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y ++ ++# Enable IR features ++CONFIG_IR_MESON_TX=m ++CONFIG_LIRC=y ++CONFIG_IR_GPIO_CIR=m ++CONFIG_IR_GPIO_TX=m ++CONFIG_IR_PWM_TX=m ++CONFIG_IR_SPI=m ++ ++# Enable Synopsys DesignWare Cores Mobile Storage Controller ++CONFIG_MMC_SDHCI_OF_DWCMSHC=m ++ ++# Enable PWM driven multi-color LED ++CONFIG_LEDS_PWM=m ++CONFIG_LEDS_PWM_MULTICOLOR=m ++ ++# Enable Microchip Ethernet Controller ++CONFIG_NET_VENDOR_MICROCHIP=y ++CONFIG_ENC28J60=m ++CONFIG_ENCX24J600=m ++ ++# Disable debug kernel ++CONFIG_DEBUG_INFO_NONE=y +CONFIG_DEBUG_INFO=n +CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=n -+CONFIG_DEBUG_INFO_NONE=y ++CONFIG_DEBUG_INFO_REDUCED=n ++ ++# Compress and decompress kernel modules ++CONFIG_MODULE_COMPRESS=y ++CONFIG_MODULE_COMPRESS_XZ=y ++CONFIG_MODULE_DECOMPRESS=y ++ ++# https://github.com/radxa/kernel/pull/32 ++# Enable nf_tables & BPF ++CONFIG_CGROUP_BPF=y ++CONFIG_BPF_SYSCALL=y ++CONFIG_NF_TABLES=m ++CONFIG_NF_TABLES_INET=y ++CONFIG_NF_TABLES_NETDEV=y ++CONFIG_NFT_NUMGEN=m ++CONFIG_NFT_CT=m ++CONFIG_NFT_FLOW_OFFLOAD=m ++CONFIG_NFT_COUNTER=m ++CONFIG_NFT_CONNLIMIT=m ++CONFIG_NFT_LOG=m ++CONFIG_NFT_LIMIT=m ++CONFIG_NFT_MASQ=m ++CONFIG_NFT_REDIR=m ++CONFIG_NFT_NAT=m ++CONFIG_NFT_TUNNEL=m ++CONFIG_NFT_OBJREF=m ++CONFIG_NFT_QUEUE=m ++CONFIG_NFT_QUOTA=m ++CONFIG_NFT_REJECT=m ++CONFIG_NFT_COMPAT=m ++CONFIG_NFT_HASH=m ++CONFIG_NFT_XFRM=m ++CONFIG_NFT_SOCKET=m ++CONFIG_NFT_OSF=m ++CONFIG_NFT_TPROXY=m ++CONFIG_NFT_DUP_NETDEV=m ++CONFIG_NFT_FWD_NETDEV=m ++CONFIG_NF_FLOW_TABLE_INET=m ++CONFIG_NF_FLOW_TABLE=m ++CONFIG_NETFILTER_XT_TARGET_CT=m ++CONFIG_BPFILTER=y ++CONFIG_BPF_JIT=y ++# End of https://github.com/radxa/kernel/pull/32 ++ ++# https://github.com/radxa/kernel/pull/36 ++# Network packet filtering framework (Netfilter) ++CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m ++CONFIG_NETFILTER_XT_TARGET_DSCP=m ++CONFIG_NETFILTER_XT_TARGET_TPROXY=m ++CONFIG_NETFILTER_XT_TARGET_TRACE=m ++CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m ++CONFIG_NETFILTER_XT_MATCH_CGROUP=m ++CONFIG_NETFILTER_XT_MATCH_IPCOMP=m ++CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m ++CONFIG_NF_LOG_NETDEV=m ++CONFIG_NF_CT_NETLINK_HELPER=m ++CONFIG_IP_SET_HASH_IPMARK=m ++CONFIG_IP_SET_HASH_IPMAC=m ++CONFIG_IP_SET_HASH_MAC=m ++CONFIG_IP_SET_HASH_NETPORTNET=m ++CONFIG_IP_SET_HASH_NETNET=m ++CONFIG_NET_SCH_INGRESS=m ++ ++# K8s needed modules ++CONFIG_NETFILTER_XT_MATCH_COMMENT=m ++CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m ++CONFIG_CFS_BANDWIDTH=y ++ ++CONFIG_IP_VS_IPV6=y ++CONFIG_IP_VS_PROTO_TCP=y ++CONFIG_IP_VS_PROTO_UDP=y ++CONFIG_IP_VS_PROTO_ESP=y ++CONFIG_IP_VS_PROTO_AH=y ++CONFIG_IP_VS_PROTO_SCTP=y ++CONFIG_NF_LOG_ARP=m ++CONFIG_NFT_DUP_IPV6=m ++CONFIG_NFT_FIB_IPV6=m ++CONFIG_NF_FLOW_TABLE_IPV6=m ++CONFIG_NF_TABLES_BRIDGE=m ++CONFIG_NFT_BRIDGE_META=m ++CONFIG_NFT_BRIDGE_REJECT=m ++CONFIG_NF_LOG_BRIDGE=m ++ ++# Packet: sockets monitoring interface ++CONFIG_PACKET_DIAG=m ++ ++# Transport Layer Security support ++CONFIG_TLS=m ++CONFIG_TLS_DEVICE=y ++CONFIG_TLS_TOE=y ++ ++# Transformation virtual interface ++CONFIG_XFRM_INTERFACE=m ++ ++# UDP/RAW: socket monitoring interface ++CONFIG_INET_UDP_DIAG=m ++CONFIG_INET_RAW_DIAG=m ++ ++# TCP: advanced congestion control ++CONFIG_TCP_CONG_HSTCP=m ++CONFIG_TCP_CONG_HYBLA=m ++CONFIG_TCP_CONG_NV=m ++CONFIG_TCP_CONG_SCALABLE=m ++CONFIG_TCP_CONG_LP=m ++CONFIG_TCP_CONG_VENO=m ++CONFIG_TCP_CONG_YEAH=m ++CONFIG_TCP_CONG_ILLINOIS=m ++CONFIG_TCP_CONG_DCTCP=m ++CONFIG_TCP_CONG_CDG=m ++CONFIG_TCP_CONG_BBR=m ++ ++# MPTCP: Multipath TCP ++CONFIG_MPTCP=y ++ ++# 802.1d Ethernet Bridging ++CONFIG_BRIDGE_VLAN_FILTERING=y ++# End of https://github.com/radxa/kernel/pull/36 ++ ++# Enable btrfs ++CONFIG_BTRFS_FS=m ++CONFIG_BTRFS_FS_POSIX_ACL=y ++ ++# Enable KVM ++CONFIG_VIRTUALIZATION=y ++CONFIG_KVM=y ++ ++# Support MISC binaries ++CONFIG_BINFMT_MISC=m ++ ++# Enable Bluetooth subsystem ++CONFIG_BT=m ++CONFIG_BT_BNEP=m ++CONFIG_BT_CMTP=m ++CONFIG_BT_HIDP=m ++CONFIG_BT_RFCOMM=m ++CONFIG_BT_HCIUART=y ++ ++# Enable additional net devices ++CONFIG_BONDING=m ++CONFIG_DUMMY=m ++CONFIG_EQUALIZER=m ++CONFIG_IFB=m ++CONFIG_NET_TEAM=m ++CONFIG_MACVLAN=m ++CONFIG_MACVTAP=m ++CONFIG_IPVLAN=m ++CONFIG_VXLAN=m ++CONFIG_GENEVE=m ++CONFIG_NETCONSOLE=m ++CONFIG_TUN=m ++CONFIG_VETH=m ++CONFIG_NLMON=m ++CONFIG_NET_VRF=m ++CONFIG_ARCNET=m ++CONFIG_CAIF_DRIVERS=y ++CONFIG_CAIF_TTY=m ++CONFIG_CAIF_HSI=m ++CONFIG_CAIF_VIRTIO=m ++ ++# Add PPP support ++CONFIG_PPP=m ++CONFIG_PPP_BSDCOMP=m ++CONFIG_PPP_DEFLATE=m ++CONFIG_PPP_MPPE=m ++CONFIG_PPPOATM=m ++CONFIG_PPPOE=m ++CONFIG_PPPOL2TP=m ++CONFIG_PPP_ASYNC=m ++CONFIG_PPP_SYNC_TTY=m ++ ++# Add onewire support ++CONFIG_W1=m ++CONFIG_W1_MASTER_MATROX=m ++CONFIG_W1_MASTER_DS2490=m ++CONFIG_W1_MASTER_DS2482=m ++CONFIG_W1_MASTER_DS1WM=m ++CONFIG_W1_MASTER_GPIO=m ++CONFIG_W1_SLAVE_THERM=m ++CONFIG_W1_SLAVE_SMEM=m ++CONFIG_W1_SLAVE_DS2408=m ++CONFIG_W1_SLAVE_DS2413=m ++CONFIG_W1_SLAVE_DS2406=m ++CONFIG_W1_SLAVE_DS2423=m ++CONFIG_W1_SLAVE_DS2431=m ++CONFIG_W1_SLAVE_DS2433=m ++CONFIG_W1_SLAVE_DS2433_CRC=y ++CONFIG_W1_SLAVE_DS2780=m ++CONFIG_W1_SLAVE_DS2781=m ++CONFIG_W1_SLAVE_DS28E04=m ++ ++# Add framebuffer support ++CONFIG_FRAMEBUFFER_CONSOLE=y ++CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y ++CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y ++ ++# Add LED trigger support ++CONFIG_LEDS_TRIGGERS=y ++CONFIG_LEDS_TRIGGER_TIMER=m ++CONFIG_LEDS_TRIGGER_ONESHOT=m ++CONFIG_LEDS_TRIGGER_DISK=y ++CONFIG_LEDS_TRIGGER_MTD=y ++CONFIG_LEDS_TRIGGER_HEARTBEAT=m ++CONFIG_LEDS_TRIGGER_BACKLIGHT=m ++CONFIG_LEDS_TRIGGER_CPU=y ++CONFIG_LEDS_TRIGGER_ACTIVITY=m ++CONFIG_LEDS_TRIGGER_GPIO=m ++CONFIG_LEDS_TRIGGER_DEFAULT_ON=m ++CONFIG_LEDS_TRIGGER_TRANSIENT=m ++CONFIG_LEDS_TRIGGER_CAMERA=m ++CONFIG_LEDS_TRIGGER_PANIC=y ++CONFIG_LEDS_TRIGGER_NETDEV=m ++CONFIG_LEDS_TRIGGER_PATTERN=m ++CONFIG_LEDS_TRIGGER_AUDIO=m ++ ++# Add vhost support ++CONFIG_VDPA=m ++CONFIG_VHOST_NET=m ++CONFIG_VHOST_SCSI=m ++CONFIG_VHOST_VSOCK=m ++CONFIG_VHOST_VDPA=m ++CONFIG_VHOST_CROSS_ENDIAN_LEGACY=y ++ ++# Additional filesystem support ++CONFIG_AUTOFS_FS=m ++CONFIG_FUSE_FS=m ++CONFIG_OVERLAY_FS=m ++CONFIG_UDF_FS=m ++CONFIG_NTFS_FS=m ++CONFIG_NTFS_RW=y ++ ++# Support network filesystem ++CONFIG_NFS_V4_1=y ++CONFIG_NFS_V4_2=y ++CONFIG_NFS_V4_1_MIGRATION=y ++CONFIG_ROOT_NFS=y ++CONFIG_NFSD=m ++CONFIG_NFSD_V3_ACL=y ++CONFIG_NFSD_V4=y ++CONFIG_CIFS=m ++CONFIG_CIFS_STATS2=y ++CONFIG_CIFS_WEAK_PW_HASH=y ++CONFIG_CIFS_UPCALL=y ++CONFIG_CIFS_XATTR=y ++CONFIG_CIFS_POSIX=y ++CONFIG_CIFS_DEBUG=n ++CONFIG_CIFS_DFS_UPCALL=y ++ ++# Add additional TCP congestion control algorithms ++CONFIG_TCP_CONG_HSTCP=m ++CONFIG_TCP_CONG_HYBLA=m ++CONFIG_TCP_CONG_VEGAS=m ++CONFIG_TCP_CONG_NV=m ++CONFIG_TCP_CONG_SCALABLE=m ++CONFIG_TCP_CONG_LP=m ++CONFIG_TCP_CONG_VENO=m ++CONFIG_TCP_CONG_YEAH=m ++CONFIG_TCP_CONG_ILLINOIS=m ++CONFIG_TCP_CONG_DCTCP=m ++CONFIG_TCP_CONG_CDG=m ++CONFIG_TCP_CONG_BBR=m ++ ++# Enable USB gadgets ++CONFIG_USB_CDC_COMPOSITE=m ++CONFIG_USB_G_PRINTER=m ++CONFIG_USB_G_HID=m ++ ++# Enable USB classes ++CONFIG_USB_ACM=m ++CONFIG_USB_PRINTER=m ++CONFIG_USB_WDM=m ++ ++# Enable additional features for Docker ++# Reported by https://github.com/moby/moby/raw/master/contrib/check-config.sh ++# sudo update-alternatives --set iptables /usr/sbin/iptables-legacy ++# sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy ++CONFIG_BRIDGE=m ++CONFIG_IP_NF_IPTABLES=m ++CONFIG_IP_NF_FILTER=m ++CONFIG_IP_NF_MANGLE=m ++CONFIG_IP_NF_NAT=m ++CONFIG_IP_NF_RAW=m ++CONFIG_IP_NF_SECURITY=m ++CONFIG_IP_NF_TARGET_MASQUERADE=m ++CONFIG_NF_CONNTRACK=m ++CONFIG_NETFILTER_XT_TARGET_MASQUERADE=m ++CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m ++CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m ++CONFIG_NETFILTER_XT_MATCH_IPVS=m ++CONFIG_NETFILTER_XT_MARK=m ++CONFIG_POSIX_MQUEUE=y ++CONFIG_MEMCG=y ++CONFIG_MEMCG_SWAP=y ++CONFIG_CGROUP_PIDS=y ++CONFIG_BLK_CGROUP=y ++CONFIG_BLK_DEV_THROTTLING=y ++CONFIG_CGROUP_PERF=y ++CONFIG_HUGETLBFS=y ++CONFIG_CGROUP_HUGETLB=y ++CONFIG_NET_SCHED=y ++CONFIG_NET_CLS_CGROUP=m ++CONFIG_CGROUP_NET_PRIO=y ++CONFIG_RT_GROUP_SCHED=y ++CONFIG_IP_NF_TARGET_REDIRECT=m ++CONFIG_IP_VS=m ++CONFIG_IP_VS_NFCT=y ++CONFIG_IP_VS_PROTO_TCP=y ++CONFIG_IP_VS_PROTO_UDP=y ++CONFIG_IP_VS_RR=m ++CONFIG_SECURITY=y ++CONFIG_SECURITY_NETWORK=y ++CONFIG_AUDIT=y ++CONFIG_SECURITY_SELINUX=y ++CONFIG_SECURITY_APPARMOR=y ++CONFIG_VLAN_8021Q=m ++CONFIG_BRIDGE_VLAN_FILTERING=y ++CONFIG_CRYPTO_SEQIV=m ++CONFIG_INET_ESP=m ++CONFIG_NF_NAT_FTP=m ++CONFIG_NF_CONNTRACK_FTP=m ++CONFIG_NF_NAT_TFTP=m ++CONFIG_NF_CONNTRACK_TFTP=m ++CONFIG_BLK_DEV_DM=m ++CONFIG_DM_THIN_PROVISIONING=m ++CONFIG_XFRM_USER=m ++CONFIG_NETFILTER_XT_MATCH_BPF=m ++ ++# Enable Video4Linux ++# Core V4L features needs to be builtin for camera driver to be builtin ++CONFIG_VIDEO_DEV=y ++CONFIG_VIDEO_V4L2=y ++CONFIG_VIDEO_V4L2_I2C=y ++CONFIG_VIDEO_V4L2_SUBDEV_API=y ++CONFIG_V4L2_MEM2MEM_DEV=m ++CONFIG_V4L2_FWNODE=m ++CONFIG_VIDEOBUF2_V4L2=m ++ ++# Enable WireGuard ++CONFIG_WIREGUARD=m ++ ++# Enable Broadcom wireless stacks ++CONFIG_BT_HCIUART_BCM=y ++CONFIG_BRCMFMAC=m ++CONFIG_SERIAL_DEV_BUS=y ++CONFIG_SERIAL_DEV_CTRL_TTYPORT=y ++ ++# Enable common filesystems ++CONFIG_FAT_FS=m ++CONFIG_MSDOS_FS=m ++CONFIG_VFAT_FS=m ++CONFIG_EXFAT_FS=m ++CONFIG_NTFS_FS=n ++CONFIG_FUSE_FS=m ++ ++# Enable graphic drivers ++CONFIG_DRM_PANFROST=m ++CONFIG_DRM_PANTHOR=m ++CONFIG_MALI400=m ++CONFIG_MALI450=y ++CONFIG_MALI470=y ++CONFIG_MALI_MIDGARD=m ++CONFIG_MALI_BIFROST=m ++ ++# Enable audio support ++CONFIG_SOUND=m ++CONFIG_SND_AUDIO_GRAPH_CARD=m ++CONFIG_SND_BCD2000=m ++CONFIG_SND_SIMPLE_CARD=m ++CONFIG_SND_SIMPLE_CARD_UTILS=m ++CONFIG_SND_SOC=m ++CONFIG_SND_SOC_MAX98357A=m ++CONFIG_SND_SOC_PCM5102A=m ++CONFIG_SND_USB_AUDIO=m ++CONFIG_SND_USB_UA101=m ++CONFIG_SND_USB_USX2Y=m ++CONFIG_SND_USB_CAIAQ=m ++CONFIG_SND_USB_CAIAQ_INPUT=y ++CONFIG_SND_USB_US122L=m ++CONFIG_SND_USB_6FIRE=m ++CONFIG_SND_USB_HIFACE=m ++CONFIG_SND_USB_POD=m ++CONFIG_SND_USB_PODHD=m ++CONFIG_SND_USB_TONEPORT=m ++CONFIG_SND_USB_VARIAX=m ++ ++# Enable dual display for ROCK 4C/4C+ ++# Needs to be y to fix some wake-up issue ++CONFIG_EXTCON_USBC_VIRTUAL_PD=y ++ ++# Tighten security ++CONFIG_SECURITY_DMESG_RESTRICT=y ++ ++# Set virtual address to 48-bits long ++# This is to improve compatiablilty with google/tcmalloc ++# https://github.com/google/tcmalloc/issues/82 ++CONFIG_ARM64_VA_BITS_48=y ++ ++# Enable pwm-fan ++CONFIG_SENSORS_PWM_FAN=m ++ ++# Enable X-Box gamepad ++CONFIG_INPUT_JOYSTICK=y ++CONFIG_JOYSTICK_XPAD=m ++CONFIG_JOYSTICK_XPAD_FF=y ++CONFIG_JOYSTICK_XPAD_LEDS=y ++ ++# Disable use of eBPF by unprivileged users ++# Admin can override this at runtime ++# https://www.suse.com/support/kb/doc/?id=000020545 ++CONFIG_BPF_UNPRIV_DEFAULT_OFF=y ++ ++# Enable iSCSI support ++CONFIG_ISCSI_TCP=m ++CONFIG_ISCSI_BOOT_SYSFS=m ++CONFIG_ISCSI_TARGET=m + +# Enable kernel compression algorithm +CONFIG_CRYPTO_DEFLATE=m @@ -33,6 +645,258 @@ index 000000000000..c26829dd1cae +# Do not builtin! +CONFIG_ZRAM=m + ++# Use PCIe ASPM default mode ++# https://forum.radxa.com/t/rock-5b-debug-party-invitation/10483/86 ++CONFIG_PCIEASPM=y ++CONFIG_PCIEASPM_DEFAULT=y ++CONFIG_PCIEASPM_POWERSAVE=n ++CONFIG_PCIEASPM_POWER_SUPERSAVE=n ++CONFIG_PCIEASPM_PERFORMANCE=n ++ ++# Enable NXP PCA953X I2C GPIO multiplexer ++CONFIG_GPIO_PCA953X=y ++CONFIG_GPIO_PCA953X_IQR=y ++ ++# Enable Android container support ++CONFIG_ANDROID_BINDER_IPC=y ++CONFIG_ANDROID_BINDERFS=y ++CONFIG_ASHMEM=y ++ ++# Enable memory management features ++CONFIG_COMPACTION=y ++CONFIG_BALLOON_COMPACTION=y ++CONFIG_KSM=y ++ ++# Enable devfreq and cpufreq ++CONFIG_CPUFREQ_DT=m ++CONFIG_PM_DEVFREQ_EVENT=y ++ ++# Enable RTL8723*S ++CONFIG_RTL8723BS=m ++CONFIG_RTL8723CS=m ++CONFIG_BT_HCIUART_RTL=y ++ ++# Enable Intel Ethernet driver ++CONFIG_NET_VENDOR_INTEL=y ++CONFIG_E1000=m ++CONFIG_E1000E=m ++CONFIG_IGB=m ++CONFIG_IGC=m ++ ++# Enable iwd support ++CONFIG_CRYPTO_USER_API_HASH=m ++CONFIG_CRYPTO_USER_API_SKCIPHER=m ++CONFIG_KEY_DH_OPERATIONS=y ++CONFIG_CRYPTO_ECB=m ++CONFIG_CRYPTO_MD4=m ++CONFIG_CRYPTO_MD5=m ++CONFIG_CRYPTO_CBC=m ++CONFIG_CRYPTO_SHA256=m ++CONFIG_CRYPTO_AES=m ++CONFIG_CRYPTO_DES=m ++CONFIG_CRYPTO_CMAC=m ++CONFIG_CRYPTO_HMAC=m ++CONFIG_CRYPTO_SHA512=m ++CONFIG_CRYPTO_SHA1=m ++ ++# Enable Staging driver ++CONFIG_STAGING=y ++ ++# Enable fbtft driver ++CONFIG_FB_TFT=m ++CONFIG_FB_TFT_AGM1264K_FL=m ++CONFIG_FB_TFT_BD663474=m ++CONFIG_FB_TFT_HX8340BN=m ++CONFIG_FB_TFT_HX8347D=m ++CONFIG_FB_TFT_HX8353D=m ++CONFIG_FB_TFT_HX8357D=m ++CONFIG_FB_TFT_ILI9163=m ++CONFIG_FB_TFT_ILI9320=m ++CONFIG_FB_TFT_ILI9325=m ++CONFIG_FB_TFT_ILI9340=m ++CONFIG_FB_TFT_ILI9341=m ++CONFIG_FB_TFT_ILI9481=m ++CONFIG_FB_TFT_ILI9486=m ++CONFIG_FB_TFT_PCD8544=m ++CONFIG_FB_TFT_RA8875=m ++CONFIG_FB_TFT_S6D02A1=m ++CONFIG_FB_TFT_S6D1121=m ++CONFIG_FB_TFT_SEPS525=m ++CONFIG_FB_TFT_SH1106=m ++CONFIG_FB_TFT_SSD1289=m ++CONFIG_FB_TFT_SSD1305=m ++CONFIG_FB_TFT_SSD1306=m ++CONFIG_FB_TFT_SSD1305=m ++CONFIG_FB_TFT_SSD1331=m ++CONFIG_FB_TFT_SSD1351=m ++CONFIG_FB_TFT_ST7735R=m ++CONFIG_FB_TFT_ST7789V=m ++CONFIG_FB_TFT_TINYLCD=m ++CONFIG_FB_TFT_TLS8204=m ++CONFIG_FB_TFT_UC1611=m ++CONFIG_FB_TFT_UC1701=m ++CONFIG_FB_TFT_UPD161704=m ++ ++# Disable firmware missing warning for built-in drivers ++# Some USB modules are still built-in to fix Rockchip ++# boot issue, and to support booting from USB as well ++# https://github.com/radxa-repo/bsp/issues/36 ++CONFIG_MICROSEMI_PHY=m ++CONFIG_USB_XHCI_PLATFORM=y ++CONFIG_USB_XHCI_RCAR=m ++CONFIG_USB_DWC3=y ++CONFIG_USB_DWC3_EXYNOS=m ++CONFIG_USB_DWC3_PCI=m ++CONFIG_USB_DWC3_HAPS=y ++CONFIG_USB_DWC3_KEYSTONE=m ++CONFIG_USB_DWC3_MESON_G12A=y ++CONFIG_USB_DWC3_OF_SIMPLE=y ++CONFIG_USB_DWC3_QCOM=m ++CONFIG_USB_DWC3_IMX8MP=m ++CONFIG_USB_DWC3_XILINX=m ++CONFIG_USB_DWC3_AM62=m ++ ++# Do not append git rev to kernel.release ++CONFIG_LOCALVERSION_AUTO=n ++ ++# Enable IR modules ++# https://github.com/radxa/kernel/pull/128 ++CONFIG_RC_CORE=m ++CONFIG_RC_MAP=m ++CONFIG_LIRC=y ++CONFIG_RC_DECODERS=y ++CONFIG_IR_NEC_DECODER=m ++CONFIG_IR_RC5_DECODER=m ++CONFIG_IR_RC6_DECODER=m ++CONFIG_IR_JVC_DECODER=m ++CONFIG_IR_SONY_DECODER=m ++CONFIG_IR_SANYO_DECODER=m ++CONFIG_IR_SHARP_DECODER=m ++CONFIG_IR_MCE_KBD_DECODER=m ++CONFIG_IR_XMP_DECODER=m ++CONFIG_IR_IMON_DECODER=m ++CONFIG_IR_RCMM_DECODER=m ++CONFIG_RC_DEVICES=y ++CONFIG_IR_SPI=m ++CONFIG_IR_GPIO_CIR=m ++CONFIG_IR_GPIO_TX=m ++CONFIG_IR_PWM_TX=m ++CONFIG_VIDEO_IR_I2C=m ++ ++# Enable fscrypt ++CONFIG_FS_ENCRYPTION=y ++ ++## Enable Rockchip CAN drivers ++CONFIG_CAN_ROCKCHIP=m ++CONFIG_CANFD_ROCKCHIP=m ++ ++## Enable ARM Scalable Vector Extension ++CONFIG_ARM64_SVE=y ++ ++## Enable Microchip MCP251x driver ++CONFIG_CAN_MCP251X=m ++ ++## Enable USB printer driver ++CONFIG_USB_PRINTER=m ++ ++## Enable NBD support ++## Ceph rbd-nbd https://github.com/rockchip-linux/kernel/issues/303 ++## https://github.com/radxa/kernel/issues/139 ++CONFIG_BLK_DEV_NBD=m ++ ++## Enable RBD ++CONFIG_BLK_DEV_RBD=m ++ ++## Enable HDMI CEC support ++CONFIG_CEC_CORE=m ++CONFIG_CEC_MESON_AO=m ++CONFIG_CEC_MESON_G12A_AO=m ++CONFIG_CEC_GPIO=m ++CONFIG_RC_CORE=y ++CONFIG_MEDIA_CEC_RC=y ++CONFIG_MEDIA_CEC_SUPPORT=y ++CONFIG_DRM_DW_HDMI_CEC=m ++ ++## Enable PWM GPIO driver ++CONFIG_PWM_GPIO=m ++ ++## Enable pressure stall information tracking ++CONFIG_PSI=y ++CONFIG_PSI_DEFAULT_DISABLED=y ++ ++# Fix kernel panic when switching adb ports ++CONFIG_USB_CONFIGFS_UEVENT=n ++ ++# Protect against potentially performance impacting configurations ++# https://blog.cyyself.name/debug-raspberrypi-4-wireguard-performance/ ++CONFIG_IRQSOFF_TRACER=n ++CONFIG_PREEMPT_NONE=n ++CONFIG_PREEMPT_VOLUNTARY=y ++CONFIG_PREEMPT=n ++CONFIG_PREEMPT_RT=n ++ ++# Enable DisplayPort AUX channel related functionality ++CONFIG_DRM_DP_AUX_CHARDEV=y ++CONFIG_DRM_DP_CEC=y ++ ++# Disable debug options that may cause Rockchip MPP kernel panic ++CONFIG_DMABUF_DEBUG=n ++ ++# Rockchip specific: generate symbols so dt overlay can work ++CONFIG_DTC_SYMBOLS=y ++ ++# Enable National Semiconductor LM sensors ++CONFIG_SENSORS_ADM1021=m ++CONFIG_SENSORS_ADM9240=m ++CONFIG_SENSORS_LM63=m ++CONFIG_SENSORS_LM70=m ++CONFIG_SENSORS_LM73=m ++CONFIG_SENSORS_LM75=m ++CONFIG_SENSORS_LM77=m ++CONFIG_SENSORS_LM78=m ++CONFIG_SENSORS_LM80=m ++CONFIG_SENSORS_LM83=m ++CONFIG_SENSORS_LM85=m ++CONFIG_SENSORS_LM87=m ++CONFIG_SENSORS_LM90=m ++CONFIG_SENSORS_LM92=m ++CONFIG_SENSORS_LM93=m ++CONFIG_SENSORS_LM95234=m ++CONFIG_SENSORS_LM95241=m ++CONFIG_SENSORS_LM95245=m ++ ++# Disable SysRq by default ++CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0 ++ ++# Add RTC 8563 drivers ++CONFIG_RTC_DRV_HYM8563=m ++CONFIG_RTC_DRV_PCF8563=m ++ ++# Enable r8169 driver, which supports RTL8125 ++CONFIG_R8169=m ++ ++# Enable Sitronix panels ++CONFIG_DRM_PANEL_SITRONIX_ST7701=m ++CONFIG_DRM_PANEL_SITRONIX_ST7789V=m ++CONFIG_DRM_PANEL_SITRONIX_ST7789V=m ++ ++# Enable TI ADS7846 touch panel ++CONFIG_TOUCHSCREEN_ADS7846=m ++ ++# Enable General filesystem local caching manager ++CONFIG_FSCACHE=m ++ ++# Enable Ceph Filesystem ++# radxa-build/rock-5-itx#3 ++CONFIG_CEPH_FS=m ++ ++#drivetemp reports SATA/SAS temperature (and e.g. sensors utility of lm-sensors package can reports values). See https://docs.kernel.org/hwmon/drivetemp.html ++CONFIG_SENSORS_DRIVETEMP=m ++ ++#enables some utilities (e.g. iotop, iotop-c) to gather more detailed statistics. One still needs to enable this feature in runtime. CONFIG_TASK_DELAY_ACCT requires CONFIG_TASKSTATS, so it was added explicitly. See https://docs.kernel.org/accounting/delay-accounting.html ++CONFIG_TASK_DELAY_ACCT=y ++CONFIG_TASKSTATS=y ++ +# Prefer r8125-dkms +CONFIG_R8125=n + diff --git a/debian/patches/0002-feat-radxa-custom-kernel-config.patch b/debian/patches/0002-feat-radxa-custom-kernel-config.patch index 6d56392..34f12c8 100644 --- a/debian/patches/0002-feat-radxa-custom-kernel-config.patch +++ b/debian/patches/0002-feat-radxa-custom-kernel-config.patch @@ -5,8 +5,8 @@ Subject: [PATCH] feat: Radxa custom kernel config Signed-off-by: ZHANG Yuntian --- - src/arch/arm64/configs/radxa_custom.config | 4 ++++ - 1 file changed, 4 insertions(+) + src/arch/arm64/configs/radxa_custom.config | 10 ++++++++++ + 1 file changed, 10 insertions(+) create mode 100644 src/arch/arm64/configs/radxa_custom.config diff --git a/src/arch/arm64/configs/radxa_custom.config b/src/arch/arm64/configs/radxa_custom.config @@ -14,11 +14,17 @@ new file mode 100644 index 000000000000..c26829dd1cae --- /dev/null +++ b/src/arch/arm64/configs/radxa_custom.config -@@ -0,0 +1,4 @@ +@@ -0,0 +1,10 @@ +# Closed source mali kernel module requires CONFIG_PREEMPT_RCU +CONFIG_PREEMPT_VOLUNTARY=n +CONFIG_PREEMPT=y +CONFIG_PREEMPT_RCU=y ++ ++# Overlay support breaks boot ++CONFIG_OF_OVERLAY=n ++ ++# This breaks Mali driver and cause system reboot ++CONFIG_RT_GROUP_SCHED=n -- 2.47.1 diff --git a/devenv.nix b/devenv.nix index 27548e6..99449d9 100644 --- a/devenv.nix +++ b/devenv.nix @@ -26,6 +26,10 @@ enable = true; excludes = [ ]; + settings.ignored-words = [ + "Synopsys" + "HSI" + ]; }; }; };