linux-postmarketos-asahi: new aport

Alpine's linux-asahi kernel is missing some config for booting on the
macbook M2, and is missing config for supporting other pmOS features /
kconfig checks. It's easier to maintain this kernel downstream for now
so changes can be made easily to support this hardware and functionality
we need.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7048>
This commit is contained in:
Clayton Craft 2025-09-12 10:09:01 -07:00 committed by The Friendly Merge Bot
parent bf0d85120d
commit eddbe346c9
No known key found for this signature in database
4 changed files with 743 additions and 0 deletions

View file

@ -0,0 +1,102 @@
# Maintainer: Clayton Craft <clayton@craftyguy.net>
pkgname=linux-postmarketos-asahi
pkgver=6.16.8_p1
pkgrel=0
_rel=${pkgver#*_p}
_kver=${pkgver%_p*}
_kver=${_kver//_/-}
_asahiver=$_kver-$_rel
pkgdesc="Kernel for Apple M-series devices"
arch="aarch64"
_carch="arm64"
_flavor="postmarketos-asahi"
url="https://kernel.org"
license="GPL-2.0-only"
options="!strip
!check
!tracedeps
pmb:cross-native
pmb:kconfigcheck-community
pmb:kconfigcheck-uefi
pmb:kconfigcheck-virt
"
makedepends="
bash
bc
bison
clang20-libclang
devicepkg-dev
diffutils
elfutils-dev
findutils
flex
git
linux-headers
openssl-dev
pahole
perl
python3
rust
rust-bindgen
rust-src
rustfmt
sed
zstd
"
# Source
_repository="linux"
source="
$pkgname-$_asahiver.tar.gz::https://github.com/AsahiLinux/linux/archive/refs/tags/asahi-$_asahiver.tar.gz
device.config
misc.config
pmos.config
"
builddir="$srcdir/linux-asahi-$_asahiver"
# Use the default arm defconfig
_defconfig="defconfig"
prepare() {
default_prepare
mkdir -p "$builddir"/arch/"$_carch"/configs
local _config
for _config in "$srcdir"/*.config; do
cp "$_config" "$builddir"/arch/"$_carch"/configs/
done
# Generate .config
unset LDFLAGS
make ARCH="$_carch" CC="${CC:-gcc}" \
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-$_flavor" \
"$_defconfig" device.config misc.config pmos.config
}
build() {
unset LDFLAGS
make ARCH="$_carch" CC="${CC:-gcc}" \
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-$_flavor"
}
package() {
install -Dm644 "$builddir/arch/$_carch/boot/vmlinuz.efi" \
"$pkgdir/boot/linux.efi"
make modules_install dtbs_install \
ARCH="$_carch" \
INSTALL_PATH="$pkgdir"/boot/ \
INSTALL_MOD_PATH="$pkgdir" \
INSTALL_MOD_STRIP=1 \
INSTALL_DTBS_PATH="$pkgdir"/boot/dtbs-asahi
rm -f "$pkgdir"/lib/modules/*/build "$pkgdir"/lib/modules/*/source
install -D "$builddir"/include/config/kernel.release \
"$pkgdir"/usr/share/kernel/$_flavor/kernel.release
}
sha512sums="
bd5d3c29282e1b55d045dad4a894cfa7a7d2ea991a3bdf372323d0df25e0059092439b2987d8ed05e1db17d92319ed613711ee29a3031f70620f63aecadc5c25 linux-postmarketos-asahi-6.16.8-1.tar.gz
860a7fbf519b09c194e79a0c54f827048a6dd4c52d13532d92c5d040743c9af58c2ffa37f36ae66781a919abd49cad766b2e5b8768273b5ec3de66ac59efb682 device.config
e7a651b3780b1cfa68ca65b9e62f77db4273cf5b9162514318c347790d961b4668d0c6eb51604aaaf15a15c9f370fe03b4b977163293af379fda9a08d5f7e73d misc.config
a3ca72c9ecc41684b958aad9a77d99f759ff56664eeac048d5ca715ce946b27ef3b6db6f1b65aa9e616131501afa50b0acda4d0a7c2b880530151cdfa9d236da pmos.config
"

View file

@ -0,0 +1,176 @@
# FROM: https://github.com/chadmed/asahi-overlay/tree/main/sys-kernel/asahi-kernel/files
# CONFIG_GCC_PLUGINS is not set
CONFIG_APPLE_ADMAC=y
CONFIG_APPLE_AIC=y
CONFIG_APPLE_AOP=y
CONFIG_APPLE_DART=y
CONFIG_APPLE_DOCKCHANNEL=y
CONFIG_APPLE_M1_CPU_PMU=y
CONFIG_APPLE_MAILBOX=y
CONFIG_APPLE_MBOX=y
CONFIG_APPLE_MFI_FASTCHARGE=m
CONFIG_APPLE_PLATFORMS=y
CONFIG_APPLE_PMGR_MISC=y
CONFIG_APPLE_PMGR_PWRSTATE=y
CONFIG_APPLE_RTKIT=y
CONFIG_APPLE_RTKIT_HELPER=y
CONFIG_APPLE_SART=y
CONFIG_APPLE_SEP=y
CONFIG_APPLE_SIO=m
CONFIG_APPLE_SMC=y
CONFIG_APPLE_SMC_RTKIT=y
CONFIG_APPLE_WATCHDOG=y
CONFIG_AQTION=m
CONFIG_ARCH_APPLE=y
# CONFIG_ARCH_ACTIONS is not set
# CONFIG_ARCH_AIROHA is not set
# CONFIG_ARCH_SUNXI is not set
# CONFIG_ARCH_ALPINE is not set
# CONFIG_ARCH_BCM is not set
# CONFIG_ARCH_BCM2835 is not set
# CONFIG_ARCH_BCM_IPROC is not set
# CONFIG_ARCH_BCMBCA is not set
# CONFIG_ARCH_BRCMSTB is not set
# CONFIG_ARCH_BERLIN is not set
# CONFIG_ARCH_BITMAIN is not set
# CONFIG_ARCH_BLAIZE is not set
# CONFIG_ARCH_EXYNOS is not set
# CONFIG_ARCH_SPARX5 is not set
# CONFIG_ARCH_K3 is not set
# CONFIG_ARCH_LG1K is not set
# CONFIG_ARCH_HISI is not set
# CONFIG_ARCH_KEEMBAY is not set
# CONFIG_ARCH_MEDIATEK is not set
# CONFIG_ARCH_MESON is not set
# CONFIG_ARCH_MVEBU is not set
# CONFIG_ARCH_NXP is not set
# CONFIG_ARCH_LAYERSCAPE is not set
# CONFIG_ARCH_MXC is not set
# CONFIG_ARCH_S32 is not set
# CONFIG_ARCH_MA35 is not set
# CONFIG_ARCH_NPCM is not set
# CONFIG_ARCH_PENSANDO is not set
# CONFIG_ARCH_QCOM is not set
# CONFIG_ARCH_REALTEK is not set
# CONFIG_ARCH_RENESAS is not set
# CONFIG_ARCH_ROCKCHIP is not set
# CONFIG_ARCH_SEATTLE is not set
# CONFIG_ARCH_INTEL_SOCFPGA is not set
# CONFIG_ARCH_STM32 is not set
# CONFIG_ARCH_SYNQUACER is not set
# CONFIG_ARCH_TEGRA is not set
# CONFIG_ARCH_SPRD is not set
# CONFIG_ARCH_THUNDER is not set
# CONFIG_ARCH_THUNDER2 is not set
# CONFIG_ARCH_UNIPHIER is not set
# CONFIG_ARCH_VEXPRESS is not set
# CONFIG_ARCH_VISCONTI is not set
# CONFIG_ARCH_XGENE is not set
# CONFIG_ARCH_ZYNQMP is not set
# CONFIG_ARM64_4K_PAGES is not set
CONFIG_ARM64_16K_PAGES=y
# CONFIG_ARM64_64K_PAGES is not set
CONFIG_ARM64_ACTLR_STATE=y
CONFIG_ARM64_MEMORY_MODEL_CONTROL=y
CONFIG_ARM_APPLE_CPUIDLE=y
CONFIG_ARM_APPLE_SOC_CPUFREQ=y
CONFIG_BRCMFMAC=m
CONFIG_BRCMFMAC_PCIE=y
CONFIG_BRCMFMAC_PROTO_BCDC=y
CONFIG_BRCMFMAC_PROTO_MSGBUF=y
CONFIG_BRCMFMAC_USB=y
CONFIG_BT=m
CONFIG_BT_BNEP=m
CONFIG_BT_BREDR=y
CONFIG_BT_HCIBCM4377=m
CONFIG_BT_HCIUART_BCM=y
CONFIG_BT_HIDP=m
CONFIG_BT_HS=y
CONFIG_BT_LE=y
CONFIG_BT_RFCOMM=m
CONFIG_CFG80211=m
CONFIG_CHARGER_MACSMC=y
CONFIG_COMMON_CLK_APPLE_NCO=y
CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y
CONFIG_DRM=y
CONFIG_DRM_ADP=m
# CONFIG_DRM_AMDGPU is not set
# CONFIG_DRM_AMDGPU_SI is not set
# CONFIG_DRM_AMDGPU_CIK is not set
# CONFIG_DRM_AMDGPU_USERPTR is not set
# CONFIG_DRM_AMDGPU_WERROR is not set
CONFIG_DRM_APPLE=m
CONFIG_DRM_APPLE_AUDIO=y
CONFIG_DRM_ASAHI=m
# CONFIG_DRM_ASAHI_DEBUG_ALLOCATOR is not set
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_GEM_SHMEM_HELPER=y
CONFIG_DRM_SCHED=y
CONFIG_DRM_SIMPLEDRM=y
# CONFIG_DRM_VGEM is not set
CONFIG_ENERGY_MODEL=y
CONFIG_GPIO_MACSMC=y
# CONFIG_HIBERNATION is not set
CONFIG_HID_APPLE=m
CONFIG_HID_BATTERY_STRENGTH=y
CONFIG_HID_DOCKCHANNEL=m
CONFIG_HID_MAGICMOUSE=m
CONFIG_I2C_APPLE=y
CONFIG_IIO_AOP_SENSOR_ALS=m
CONFIG_IIO_AOP_SENSOR_LAS=m
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_MACSMC_HID=y
CONFIG_LEDS_PWM=y
CONFIG_MFD_APPLE_SPMI_PMU=y
CONFIG_MMC_CQHCI=m
CONFIG_MMC_SDHCI=m
CONFIG_MMC_SDHCI_PCI=m
CONFIG_MOUSE_APPLETOUCH=m
CONFIG_MUX_APPLE_DPXBAR=m
CONFIG_NET_VENDOR_AQUANTIA=y
CONFIG_NET_VENDOR_BROADCOM=y
CONFIG_NVMEM_APPLE_EFUSES=y
CONFIG_NVMEM_APPLE_SPMI=m
CONFIG_NVMEM_SPMI_MFD=y
CONFIG_NVME_APPLE=y
CONFIG_PCIE_APPLE=y
CONFIG_PHY_APPLE_ATC=m
CONFIG_PHY_APPLE_DPTX=m
CONFIG_PINCTRL_APPLE_GPIO=y
CONFIG_POWER_RESET_MACSMC=y
CONFIG_PWM_APPLE=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_RTC_DRV_MACSMC=y
CONFIG_RUST=y
CONFIG_RUST_APPLE_RTKIT=y
# CONFIG_RUST_BUILD_ASSERT_ALLOW is not set
# CONFIG_RUST_DEBUG_ASSERTIONS is not set
CONFIG_RUST_OVERFLOW_CHECKS=y
CONFIG_SENSORS_MACSMC=m
CONFIG_SERIAL_SAMSUNG=y
CONFIG_SERIAL_SAMSUNG_CONSOLE=y
CONFIG_SND_SOC_APPLE_AOP_AUDIO=m
CONFIG_SND_SOC_APPLE_MACAUDIO=m
CONFIG_SND_SOC_APPLE_MCA=m
CONFIG_SND_SOC_CS42L83=m
CONFIG_SND_SOC_CS42L84=m
CONFIG_SND_SOC_TAS2764=m
CONFIG_SND_SOC_TAS2770=m
CONFIG_SPI_APPLE=y
CONFIG_SPI_HID_APPLE_CORE=y
CONFIG_SPI_HID_APPLE_OF=y
CONFIG_SPMI_APPLE=y
CONFIG_SUSPEND=y
CONFIG_TIGON3=m
CONFIG_TOUCHSCREEN_APPLE_Z2=m
CONFIG_TYPEC_TPS6598X=m
CONFIG_UCLAMP_TASK=y
CONFIG_UCLAMP_TASK_GROUP=y
CONFIG_USB_DWC3=m
CONFIG_USB_DWC3_DUAL_ROLE=y
CONFIG_USB_XHCI_HCD=m
CONFIG_USB_XHCI_PCI_ASMEDIA=y
CONFIG_USB_XHCI_PCI_RENESAS=y
CONFIG_VIDEO_APPLE_ISP=m
CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
CONFIG_WLAN_VENDOR_BROADCOM=y

View file

@ -0,0 +1,28 @@
CONFIG_BLK_WBT=y
CONFIG_BLK_WBT_MQ=y
CONFIG_CONNECTOR=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_PROC_EVENTS=y
CONFIG_USB_SERIAL_PL2303=m
CONFIG_USB_SERIAL_CH341=m
CONFIG_BOOT_PRINTK_DELAY=y
# systemd
CONFIG_BPF_LSM=y
CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_INFO_BTF=y
CONFIG_DEBUG_INFO_BTF_MODULES=y
CONFIG_DEBUG_INFO_DWARF5=y
CONFIG_KPROBES=y
CONFIG_KPROBE_EVENTS=y
CONFIG_SECURITYFS=y
# VSOCK for mkosi vm
CONFIG_VSOCKETS=m
CONFIG_VSOCKETS_DIAG=m
CONFIG_VSOCKETS_LOOPBACK=m
CONFIG_VIRTIO_VSOCKETS_COMMON=m
CONFIG_VHOST_IOTLB=m
CONFIG_VHOST_TASK=y
CONFIG_VHOST=m
CONFIG_VHOST_MENU=y
CONFIG_VHOST_VSOCK=m

View file

@ -0,0 +1,437 @@
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_BLK_DEV_DM=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_CGROUPS=y
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_XTS=y
CONFIG_DEVTMPFS=y
CONFIG_DM_CRYPT=m
CONFIG_EXT4_FS=y
CONFIG_INPUT_EVDEV=y
CONFIG_MD=y
CONFIG_SYSVIPC=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_UEVENT_HELPER=y
CONFIG_USER_NS=y
CONFIG_VT=y
CONFIG_FW_LOADER_COMPRESS=y
CONFIG_FW_LOADER_COMPRESS_ZSTD=y
CONFIG_NULL_TTY=y
# Anbox / Waydroid
CONFIG_ANDROID_BINDER_IPC=y
# CONFIG_ANDROID_BINDERFS is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BPF_SYSCALL=y
CONFIG_BRIDGE=m
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_CGROUP_BPF=y
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_FUSE_FS=m
CONFIG_IP_NF_MANGLE=m
CONFIG_NETFILTER_XT_MATCH_COMMENT=m
CONFIG_NETFILTER_XTABLES=m
CONFIG_PSI=y
CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y
CONFIG_SQUASHFS_FILE_DIRECT=y
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_TMPFS_XATTR=y
CONFIG_TUN=m
CONFIG_VETH=m
CONFIG_VLAN_8021Q=m
# iwd
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_CBC=m
CONFIG_CRYPTO_CMAC=y
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_ECB=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=m
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_USER_API=m
CONFIG_CRYPTO_USER_API_HASH=m
CONFIG_CRYPTO_USER_API_SKCIPHER=m
CONFIG_KEYS=y
CONFIG_KEY_DH_OPERATIONS=y
CONFIG_PKCS7_MESSAGE_PARSER=y
CONFIG_PKCS8_PRIVATE_KEY_PARSER=m
CONFIG_X509_CERTIFICATE_PARSER=y
CONFIG_RFKILL=y
# nftables
CONFIG_NETFILTER=y
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_NF_CONNTRACK=m
CONFIG_NF_REJECT_IPV4=m
CONFIG_NF_REJECT_IPV6=m
CONFIG_NF_TABLES=m
CONFIG_NF_TABLES_INET=y
CONFIG_NF_TABLES_IPV4=y
CONFIG_NF_TABLES_IPV6=y
CONFIG_NFT_CT=m
CONFIG_NFT_LIMIT=m
CONFIG_NFT_LOG=m
CONFIG_NFT_MASQ=m
CONFIG_NFT_NAT=m
CONFIG_NFT_REJECT=m
CONFIG_NFT_COMPAT=m
# /usr/share/docker/contrib/check-config.sh (from Gentoo)
# Missing dependency?
CONFIG_NET_SCHED=y
# Generally Necessary:
CONFIG_NAMESPACES=y
CONFIG_NET_NS=y
CONFIG_PID_NS=y
CONFIG_IPC_NS=y
CONFIG_UTS_NS=y
CONFIG_CGROUPS=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_SCHED=y
CONFIG_CPUSETS=y
CONFIG_KEYS=y
CONFIG_VETH=m
CONFIG_BRIDGE=m
CONFIG_BRIDGE_NETFILTER=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_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_IP_NF_NAT=m
CONFIG_NF_NAT=m
CONFIG_POSIX_MQUEUE=y
# Optional Features:
CONFIG_USER_NS=y
CONFIG_SECCOMP=y
CONFIG_CGROUP_PIDS=y
CONFIG_BLK_CGROUP=y
CONFIG_BLK_DEV_THROTTLING=y
CONFIG_CGROUP_PERF=y
CONFIG_NET_CLS_CGROUP=m
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CFS_BANDWIDTH=y
CONFIG_FAIR_GROUP_SCHED=y
# CONFIG_RT_GROUP_SCHED is not set
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_EXT4_FS=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
CONFIG_VXLAN=m
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_IPVLAN=m
CONFIG_MACVLAN=m
CONFIG_DUMMY=m
CONFIG_BLK_DEV_DM=m
CONFIG_DM_THIN_PROVISIONING=m
CONFIG_OVERLAY_FS=m
# lxc
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
CONFIG_CHECKPOINT_RESTORE=y
CONFIG_IP6_NF_TARGET_MASQUERADE=m
# ZRAM
CONFIG_CRYPTO_LZ4=y
CONFIG_CRYPTO_ZSTD=y
CONFIG_SWAP=y
CONFIG_ZRAM=m
CONFIG_ZRAM_BACKEND_LZ4=y
CONFIG_ZRAM_BACKEND_ZSTD=y
CONFIG_ZRAM_DEF_COMP_ZSTD=y
# netboot
CONFIG_BLK_DEV_NBD=m
# WireGuard
CONFIG_WIREGUARD=m
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_NF_TABLES=m
CONFIG_NF_TABLES_IPV4=y
CONFIG_NF_TABLES_IPV6=y
CONFIG_NFT_CT=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
CONFIG_NF_CONNTRACK_MARK=y
# File systems
CONFIG_BTRFS_FS=m
CONFIG_EXFAT_FS=m
CONFIG_EXT4_FS=y
CONFIG_F2FS_FS=m
CONFIG_F2FS_FS_COMPRESSION=y
CONFIG_UDF_FS=m
CONFIG_XFS_FS=m
CONFIG_NTFS3_FS=m
# Community
CONFIG_BINFMT_MISC=m
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_CIFS=m
CONFIG_LEDS_TRIGGER_TIMER=y
CONFIG_NETFILTER_XT_MATCH_MARK=m
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
CONFIG_UCLAMP_TASK=y
CONFIG_UCLAMP_TASK_GROUP=y
CONFIG_DM_INTEGRITY=m
# Input
CONFIG_HIDRAW=y
CONFIG_HID_A4TECH=m
CONFIG_HID_ACCUTOUCH=m
CONFIG_HID_ACRUX_FF=y
CONFIG_HID_ACRUX=m
CONFIG_HID_ALPS=m
CONFIG_HID_APPLEIR=m
CONFIG_HID_APPLE=m
CONFIG_HID_AUREAL=m
CONFIG_HID_BATTERY_STRENGTH=y
CONFIG_HID_BELKIN=m
CONFIG_HID_BETOP_FF=m
CONFIG_HID_BIGBEN_FF=m
CONFIG_HID_BPF=y
CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
CONFIG_HID_COUGAR=m
CONFIG_HID_CP2112=m
CONFIG_HID_CREATIVE_SB0540=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELAN=m
CONFIG_HID_ELECOM=m
CONFIG_HID_ELO=m
CONFIG_HID_EMS_FF=m
CONFIG_HID_EVISION=m
CONFIG_HID_EZKEY=m
CONFIG_HID_FT260=m
CONFIG_HID_GEMBIRD=m
CONFIG_HID_GFRM=m
CONFIG_HID_GLORIOUS=m
CONFIG_HID_GOODIX_SPI=m
CONFIG_HID_GOOGLE_STADIA_FF=m
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
CONFIG_HID_HOLTEK=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
CONFIG_HID_JABRA=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_KEYTOUCH=m
CONFIG_HID_KYE=m
CONFIG_HID_LCPOWER=m
CONFIG_HID_LED=m
CONFIG_ACPI=y # needed for HID_LENOVO
CONFIG_HID_LENOVO=m
CONFIG_HID_LETSKETCH=m
CONFIG_HID_LOGITECH_DJ=m
CONFIG_HID_LOGITECH_HIDPP=m
CONFIG_HID_LOGITECH=m
CONFIG_HID_MACALLY=m
CONFIG_HID_MAGICMOUSE=m
CONFIG_HID_MALTRON=m
CONFIG_HID_MAYFLASH=m
CONFIG_HID_MCP2221=m
CONFIG_HID_MEGAWORLD_FF=m
CONFIG_HID_MICROSOFT=m
CONFIG_HID_MONTEREY=m
CONFIG_HID_NINTENDO=m
CONFIG_HID_NTI=m
CONFIG_HID_NTRIG=m
CONFIG_HID_NVIDIA_SHIELD=m
CONFIG_HID_ORTEK=m
CONFIG_HID_PANTHERLORD=m
CONFIG_HID_PENMOUNT=m
CONFIG_HID_PETALYNX=m
CONFIG_HID_PICOLCD_BACKLIGHT=y
CONFIG_HID_PICOLCD_FB=y
CONFIG_HID_PICOLCD_LCD=y
CONFIG_HID_PICOLCD_LEDS=y
CONFIG_HID_PICOLCD=m
CONFIG_HID_PID=y
CONFIG_HID_PLANTRONICS=m
CONFIG_HID_PLAYSTATION=m
CONFIG_HID_PRIMAX=m
CONFIG_HID_PRODIKEYS=m
CONFIG_HID_PXRC=m
CONFIG_HID_RAZER=m
CONFIG_HID_RETRODE=m
CONFIG_HID_RMI=m
CONFIG_HID_ROCCAT=m
CONFIG_HID_SAITEK=m
CONFIG_HID_SAMSUNG=m
CONFIG_HID_SEMITEK=m
CONFIG_HID_SENSOR_ACCEL_3D=m
CONFIG_HID_SENSOR_ALS=m
CONFIG_HID_SENSOR_CUSTOM_INTEL_HINGE=m
CONFIG_HID_SENSOR_DEVICE_ROTATION=m
CONFIG_HID_SENSOR_GYRO_3D=m
CONFIG_HID_SENSOR_HUB=m
CONFIG_HID_SENSOR_HUMIDITY=m
CONFIG_HID_SENSOR_IIO_COMMON=m
CONFIG_HID_SENSOR_IIO_TRIGGER=m
CONFIG_HID_SENSOR_INCLINOMETER_3D=m
CONFIG_HID_SENSOR_MAGNETOMETER_3D=m
CONFIG_HID_SENSOR_TEMP=m
CONFIG_HID_SIGMAMICRO=m
CONFIG_HID_SMARTJOYPLUS=m
CONFIG_HID_SONY=m
CONFIG_HID_SPEEDLINK=m
CONFIG_HID_STEAM=m
CONFIG_HID_STEELSERIES=m
CONFIG_HID_SUNPLUS=m
CONFIG_HID_THINGM=m
CONFIG_HID_THRUSTMASTER=m
CONFIG_HID_TIVO=m
CONFIG_HID_TOPRE=m
CONFIG_HID_TOPSEED=m
CONFIG_HID_TWINHAN=m
CONFIG_HID_U2FZERO=m
CONFIG_HID_UCLOGIC=m
CONFIG_HID_UDRAW_PS3=m
CONFIG_HID_VIEWSONIC=m
CONFIG_HID_VIVALDI=m
CONFIG_HID_WACOM=m
CONFIG_HID_WALTOP=m
CONFIG_HID_WIIMOTE=m
CONFIG_HID_WINWING=m
CONFIG_HID_XIAOMI=m
CONFIG_HID_XINMO=m
CONFIG_HID_ZEROPLUS=m
CONFIG_HID_ZYDACRON=m
CONFIG_INPUT_JOYSTICK=y
CONFIG_INPUT_UINPUT=m
CONFIG_JOYSTICK_XPAD=m
CONFIG_JOYSTICK_XPAD_FF=y
CONFIG_JOYSTICK_XPAD_LEDS=y
CONFIG_LCD_CLASS_DEVICE=m
CONFIG_UHID=m
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
CONFIG_USB_HIDDEV=y
CONFIG_USB_PRINTER=m
# USB
CONFIG_DRM_UDL=m
CONFIG_SND_USB_AUDIO=m
CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_CP210X=m
CONFIG_USB_STORAGE=y
CONFIG_USB_RTL8152=m
CONFIG_USB_USBNET=m
# USB Gadget
CONFIG_U_SERIAL_CONSOLE=y
CONFIG_USB_CONFIGFS=m
CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_OBEX=y
CONFIG_USB_CONFIGFS_NCM=y
CONFIG_USB_CONFIGFS_ECM=y
CONFIG_USB_CONFIGFS_RNDIS=y
CONFIG_USB_CONFIGFS_EEM=y
CONFIG_USB_CONFIGFS_MASS_STORAGE=y
CONFIG_USB_CONFIGFS_F_FS=y
CONFIG_USB_CONFIGFS_F_UAC1=y
CONFIG_USB_CONFIGFS_F_UAC2=y
CONFIG_USB_CONFIGFS_F_MIDI=y
CONFIG_USB_CONFIGFS_F_HID=y
CONFIG_USB_CONFIGFS_F_UVC=y
CONFIG_USB_CONFIGFS_F_PRINTER=y
# USB net
CONFIG_USB_NET_RNDIS_HOST=m
CONFIG_USB_NET_CDC_EEM=m
CONFIG_USB_ACM=m
CONFIG_USB_WDM=m
# LED triggers
CONFIG_LEDS_TRIGGER_ACTIVITY=m
CONFIG_LEDS_TRIGGER_AUDIO=m
CONFIG_LEDS_TRIGGER_BACKLIGHT=m
CONFIG_LEDS_TRIGGER_CAMERA=m
CONFIG_LEDS_TRIGGER_GPIO=m
CONFIG_LEDS_TRIGGER_NETDEV=m
CONFIG_LEDS_TRIGGER_ONESHOT=m
CONFIG_LEDS_TRIGGER_PATTERN=m
CONFIG_LEDS_TRIGGER_TRANSIENT=m
CONFIG_LEDS_TRIGGER_TTY=m
# Bluetooth devices
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_HIDP=m
# EFI
CONFIG_EFI=y
CONFIG_EFI_ZBOOT=y
CONFIG_FB_EFI=y
CONFIG_VFAT_FS=y
CONFIG_NLS_ASCII=y
CONFIG_PSTORE=y
CONFIG_EFI_VARS_PSTORE=y
CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
# libcamera
CONFIG_DMABUF_HEAPS=y
CONFIG_DMABUF_HEAPS_CMA=y
CONFIG_DMABUF_HEAPS_SYSTEM=y
CONFIG_UDMABUF=y
# enable uvcvideo for basic USB webcam/HDMI-dongle support
CONFIG_MEDIA_USB_SUPPORT=y
CONFIG_USB_VIDEO_CLASS=m
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
# Debug
CONFIG_DYNAMIC_DEBUG=y
CONFIG_FTRACE=y
CONFIG_FUNCTION_TRACER=y
CONFIG_DYNAMIC_FTRACE=y
# Virtualization
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_KVM=y
CONFIG_VIRTUALIZATION=y
# Immutable
CONFIG_DM_VERITY=m
CONFIG_EFIVAR_FS=m
CONFIG_EROFS_FS=m
CONFIG_EROFS_FS_ZIP=y
CONFIG_EROFS_FS_ZIP_LZMA=y