Extra build pipelines for Fedora and Ubuntu (#864)

* ci: factorise kernel building code for Arch

* customization: non-arch: add config option to disable installing the kernel altogether

useful for ci

* customization: add toggle to disable use of 'script' command

needed for ci, otherwise yes "" | ./install.sh install just
freezes

* ci: add Ubuntu pipeline

* ci: add Fedora pipeline

* install.sh: git add changes in the work folder

Both RPM and DEB scripts rely on apparently, not only RPM

* ci: use github to retrieve sources

Probably faster since the runner are hosted by them ?

* ci: arch: update mirror list

Sometimes the ci fails because of "operation too slow"

* ci: follow CachyOS naming scheme for bore scheduler

'bore-eevdf' is just 'bore' now, which makes sense for those who know

* ci: make kernelconfig part of the release

Enables advanced users to check if the kernel they're downloading
has the correct config options. And we can use it to check if
everything is okay

* ci: make a release as long as one kernel builds

I think it's better than cancelling the whole thing.
Because sometimes we don't have time to fix
what's wrong with a distro for a while

* ci: build diet kernel

All good! back to diet kernel

* ci: arch: remove extra frag file

Let's check after a full build if it was really needed.

* config: copy over diet config from 6.6 to 6.7

* ci: #YOLO: build all combinations of distro and scheduler
This commit is contained in:
Adel Kara Slimane 2024-01-15 19:17:18 +01:00 committed by GitHub
parent e2e1ae6180
commit 843725ec7c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 1018 additions and 182 deletions

77
.github/workflows/arch-builder.yml vendored Normal file
View File

@ -0,0 +1,77 @@
name: Build archlinux kernel
on:
workflow_call:
inputs:
_cpusched:
required: true
type: string
env:
_waydroid: "true"
_processor_opt: "generic"
_git_mirror: "github.com"
PKGDEST: "/tmp/linux-tkg"
_debugdisable: "true"
_noccache: "true"
_STRIP: "true"
_kernel_on_diet: "true"
_kernel_work_folder: "/tmp"
_kernel_source_folder: "/tmp"
# _modprobeddb: "true"
_modprobeddb_db_path: ${{ github.workspace }}/modprobed.db
jobs:
build-kernel:
env:
_cpusched: ${{ inputs._cpusched }}
runs-on: ubuntu-latest
container: archlinux:latest
steps:
# We need to install git so the checkout is done with it
- name: Update mirrorlist
run: |
pacman -Sy --noconfirm reflector
reflector --latest 50 --protocol http,https --sort rate --save /etc/pacman.d/mirrorlist
- name: Install git
run: pacman -Syu --noconfirm git
- name: Checkount linux-tkg
uses: actions/checkout@v4
# 1. Install deps needed for building and sudo
# 2. create a user "user" and give it passwordless sudo
# and necessary permissions
# because makepkg absolutely refuses to run as root
- name: Prepare for makepkg
run: |
pacman -Syu --noconfirm base-devel sudo
useradd user -G wheel && echo "user ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
chown user -R ..
chown user -R /tmp
# - name: "[debug] make dummy modprobed-db file for faster ci"
# run: |
# touch "${_modprobeddb_db_path}"
# echo "${_modprobeddb_db_path}"
- name: Compile Kernel
run: su user -c "yes '' | makepkg --noconfirm -s"
# run: |
# mkdir -p "$PKGDEST"
# echo "test" > "$PKGDEST"/linux-$_cpusched.pkg.tar.zst
- name: rename kernel config
run: mv kernelconfig.new kernelconfig.arch.${{ env._cpusched }}.txt
- uses: actions/upload-artifact@v4
with:
name: arch-kernel-packages-${{ env._cpusched }}
path: |
${{ env.PKGDEST }}/linux*.pkg.tar.zst
kernelconfig*.txt

View File

@ -1,174 +0,0 @@
name: Latest Kernel for archlinux
on:
schedule:
- cron: '17 */12 * * *' # “At minute 17 past every 12th hour.”
workflow_dispatch:
env:
_waydroid: "true"
_processor_opt: "generic"
PKGDEST: "/tmp/linux-tkg"
_debugdisable: "true"
_noccache: "true"
_STRIP: "true"
_kernel_on_diet: "true"
_kernel_work_folder: "/tmp"
_kernel_source_folder: "/tmp"
# _modprobeddb: "true"
# _modprobeddb_db_path: ${{ github.workspace }}/modprobed.db
jobs:
check-for-newer-kernel:
runs-on: ubuntu-latest
outputs:
new_kernel: ${{ steps.check_for_new_kernel.outputs.new_kernel }}
latest_kernel: ${{ steps.check_for_new_kernel.outputs.latest_kernel }}
steps:
- name: Checkount linux-tkg
uses: actions/checkout@v3.0.2
# Get latest release in repo, so we compare its version
# with the latest kernel available so far
- name: Get latest release
id: latest_release
uses: pozetroninc/github-action-get-latest-release@master
with:
repository: ${{ github.repository }}
# it fails when there's no release
continue-on-error: true
- name: Get latest kernel version
id: check_for_new_kernel
run: |
./.github/get_latest_kver.sh
latest_kernel="$(cat .github/latest-kernel)"
echo "latest_kernel=$latest_kernel" >> $GITHUB_OUTPUT
new_kernel=0
[[ "$latest_kernel" != "$latest_release" ]] || new_kernel=$?
echo "new_kernel=$new_kernel" >> $GITHUB_OUTPUT
env:
latest_release: ${{ steps.latest_release.outputs.release }}
build-eevdf:
env:
_cpusched: "eevdf"
runs-on: ubuntu-latest
container: archlinux:latest
needs: [check-for-newer-kernel]
if: |
github.ref == 'refs/heads/master' &&
needs.check-for-newer-kernel.outputs.new_kernel == '0'
steps:
# We need to install git so the checkout is done with it
- name: Install git
run: pacman -Syu --noconfirm git
- name: Checkount linux-tkg
uses: actions/checkout@v3.0.2
# 1. Install deps needed for building and sudo
# 2. create a user "user" and give it passwordless sudo
# and necessary permissions
# because makepkg absolutely refuses to run as root
- name: Prepare for makepkg
run: |
pacman -Syu --noconfirm base-devel sudo
useradd user -G wheel && echo "user ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
chown user -R ..
chown user -R /tmp
echo -e 'CONFIG_FAT_FS=m\nCONFIG_MSDOS_FS=m\nCONFIG_VFAT_FS=m\nCONFIG_FAT_DEFAULT_CODEPAGE=437\nCONFIG_FAT_DEFAULT_IOCHARSET="ascii"\nCONFIG_FAT_DEFAULT_UTF8=y\nCONFIG_EXFAT_FS=m\nCONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"\n# CONFIG_NTFS_FS is not set\nCONFIG_NTFS3_FS=m\n# CONFIG_NTFS3_64BIT_CLUSTER is not set\nCONFIG_NTFS3_LZX_XPRESS=y\nCONFIG_NTFS3_FS_POSIX_ACL=y' > FS_modprobed-db.myfrag
# - name: "[debug] make dummy modprobed-db file for faster ci"
# run: |
# touch "${_modprobeddb_db_path}"
# echo "${_modprobeddb_db_path}"
- name: Compile Kernel
run: su user -c "yes '' | makepkg --noconfirm -s"
# run: |
# mkdir -p "$PKGDEST"
# echo "test" > "$PKGDEST"/linux-$_cpusched.pkg.tar.zst
- uses: actions/upload-artifact@v3
with:
name: kernel-packages-${{ env._cpusched }}
path: ${{ env.PKGDEST }}/linux*.pkg.tar.zst
build-bore-eevdf:
env:
_cpusched: "bore-eevdf"
runs-on: ubuntu-latest
container: archlinux:latest
needs: [check-for-newer-kernel]
if: |
github.ref == 'refs/heads/master' &&
needs.check-for-newer-kernel.outputs.new_kernel == '0'
steps:
# We need to install git so the checkout is done with it
- name: Install git
run: pacman -Syu --noconfirm git
- name: Checkount linux-tkg
uses: actions/checkout@v3.0.2
# 1. Install deps needed for building and sudo
# 2. create a user "user" and give it passwordless sudo
# and necessary permissions
# because makepkg absolutely refuses to run as root
- name: Prepare for makepkg
run: |
pacman -Syu --noconfirm base-devel sudo
useradd user -G wheel && echo "user ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
chown user -R ..
chown user -R /tmp
echo -e 'CONFIG_FAT_FS=m\nCONFIG_MSDOS_FS=m\nCONFIG_VFAT_FS=m\nCONFIG_FAT_DEFAULT_CODEPAGE=437\nCONFIG_FAT_DEFAULT_IOCHARSET="ascii"\nCONFIG_FAT_DEFAULT_UTF8=y\nCONFIG_EXFAT_FS=m\nCONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"\n# CONFIG_NTFS_FS is not set\nCONFIG_NTFS3_FS=m\n# CONFIG_NTFS3_64BIT_CLUSTER is not set\nCONFIG_NTFS3_LZX_XPRESS=y\nCONFIG_NTFS3_FS_POSIX_ACL=y' > FS_modprobed-db.myfrag
# - name: "[debug] make dummy modprobed-db file for faster ci"
# run: |
# touch "${_modprobeddb_db_path}"
# echo "${_modprobeddb_db_path}"
- name: Compile Kernel
run: su user -c "yes '' | makepkg --noconfirm -s"
# run: |
# mkdir -p "$PKGDEST"
# echo "test" > "$PKGDEST"/linux-$_cpusched.pkg.tar.zst
- uses: actions/upload-artifact@v3
with:
name: kernel-packages-${{ env._cpusched }}
path: ${{ env.PKGDEST }}/linux*.pkg.tar.zst
make-release:
runs-on: ubuntu-latest
needs: [check-for-newer-kernel, "build-eevdf", "build-bore-eevdf"]
steps:
- name: Download release artifacts
uses: actions/download-artifact@v3
with:
path: ${{ env.PKGDEST }}
- name: Make new release
uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: ${{ needs.check-for-newer-kernel.outputs.latest_kernel }}
prerelease: false
title: "[experimental] ${{ needs.check-for-newer-kernel.outputs.latest_kernel }}"
files: |
${{ env.PKGDEST }}/kernel-packages-*/*

View File

@ -0,0 +1,82 @@
name: Build & Release Latest Kernel
on:
schedule:
- cron: '17 */12 * * *' # “At minute 17 past every 12th hour.”
workflow_dispatch:
jobs:
check-for-newer-kernel:
runs-on: ubuntu-latest
outputs:
new_kernel: ${{ steps.check_for_new_kernel.outputs.new_kernel }}
latest_kernel: ${{ steps.check_for_new_kernel.outputs.latest_kernel }}
steps:
- name: Checkount linux-tkg
uses: actions/checkout@v3.0.2
# Get latest release in repo, so we compare its version
# with the latest kernel available so far
- name: Get latest release
id: latest_release
uses: pozetroninc/github-action-get-latest-release@master
with:
repository: ${{ github.repository }}
# it fails when there's no release
continue-on-error: true
- name: Get latest kernel version
id: check_for_new_kernel
run: |
./.github/get_latest_kver.sh
latest_kernel="$(cat .github/latest-kernel)"
echo "latest_kernel=$latest_kernel" >> $GITHUB_OUTPUT
new_kernel=0
[[ "$latest_kernel" != "$latest_release" ]] || new_kernel=$?
echo "new_kernel=$new_kernel" >> $GITHUB_OUTPUT
env:
latest_release: ${{ steps.latest_release.outputs.release }}
build:
strategy:
fail-fast: false
matrix:
_cpusched: [bore, eevdf, pds, bmq]
os: [arch, ubuntu, fedora]
uses: ./.github/workflows/builder-dispatcher.yml
with:
_cpusched: ${{ matrix._cpusched }}
os: ${{ matrix.os }}
needs: [check-for-newer-kernel]
if: |
github.ref == 'refs/heads/master' &&
needs.check-for-newer-kernel.outputs.new_kernel == '0'
make-release:
runs-on: ubuntu-latest
needs:
- "check-for-newer-kernel"
- "build"
if: needs.build.result == 'success'
steps:
- name: Download release artifacts
uses: actions/download-artifact@v4
- name: Make new release
uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: ${{ needs.check-for-newer-kernel.outputs.latest_kernel }}
prerelease: false
title: "[experimental] ${{ needs.check-for-newer-kernel.outputs.latest_kernel }}"
files: |
${{ github.workspace }}/arch-kernel-packages-*/**
${{ github.workspace }}/ubuntu-kernel-packages-*/**
${{ github.workspace }}/fedora-kernel-packages-*/**

View File

@ -0,0 +1,29 @@
name: builder dispatcher
on:
workflow_call:
inputs:
os:
required: true
type: string
_cpusched:
required: true
type: string
jobs:
dispatch-to-fedora:
uses: ./.github/workflows/fedora-builder.yml
with:
_cpusched: ${{ inputs._cpusched }}
if: inputs.os == 'fedora'
dispatch-to-ubuntu:
uses: ./.github/workflows/ubuntu-builder.yml
with:
_cpusched: ${{ inputs._cpusched }}
if: inputs.os == 'ubuntu'
dispatch-to-arch:
uses: ./.github/workflows/arch-builder.yml
with:
_cpusched: ${{ inputs._cpusched }}
if: inputs.os == 'arch'

71
.github/workflows/fedora-builder.yml vendored Normal file
View File

@ -0,0 +1,71 @@
name: Build Fedora kernel
on:
workflow_call:
inputs:
_cpusched:
required: true
type: string
env:
_waydroid: "true"
_processor_opt: "generic"
_distro: "Fedora"
_git_mirror: "github.com"
_logging_use_script: "no"
_install_after_building: "no"
_debugdisable: "true"
_noccache: "true"
_STRIP: "true"
_kernel_on_diet: "true"
_kernel_work_folder: "/tmp"
_kernel_source_folder: "/tmp"
# _modprobeddb: "true"
_modprobeddb_db_path: ${{ github.workspace }}/modprobed.db
jobs:
build-kernel:
env:
_cpusched: ${{ inputs._cpusched }}
runs-on: ubuntu-latest
container: fedora:latest
steps:
- name: Install git (needed for checkout)
run: dnf install git -y
- name: Checkount linux-tkg
uses: actions/checkout@v4
- name: fix git folder ownership
run: git config --global --add safe.directory `pwd`
- name: run git status
run: git status
# - name: "[debug] make dummy modprobed-db file for faster ci"
# run: |
# touch "${_modprobeddb_db_path}"
# echo "${_modprobeddb_db_path}"
- name: Install deps and compile kernel
run: yes '' | ./install.sh install
# run: |
# mkdir -p "$PKGDEST"
# echo "test" > "$PKGDEST"/linux-$_cpusched.pkg.tar.zst
- name: Cleanup useless RPM files
run: rm -rf RPMS/*kernel-headers*.rpm
- name: rename kernel config
run: mv kernelconfig.new kernelconfig.fedora.${{ env._cpusched }}.txt
- uses: actions/upload-artifact@v4
with:
name: fedora-kernel-packages-${{ env._cpusched }}
path: |
${{ github.workspace }}/RPMS/*.rpm
kernelconfig*.txt

61
.github/workflows/ubuntu-builder.yml vendored Normal file
View File

@ -0,0 +1,61 @@
name: Build Ubuntu kernel
on:
workflow_call:
inputs:
_cpusched:
required: true
type: string
env:
_waydroid: "true"
_processor_opt: "generic"
_distro: "Ubuntu"
_git_mirror: "github.com"
_logging_use_script: "no"
_install_after_building: "no"
_debugdisable: "true"
_noccache: "true"
_STRIP: "true"
_kernel_on_diet: "true"
_kernel_work_folder: "/tmp"
_kernel_source_folder: "/tmp"
# _modprobeddb: "true"
_modprobeddb_db_path: ${{ github.workspace }}/modprobed.db
jobs:
build-kernel:
env:
_cpusched: ${{ inputs._cpusched }}
runs-on: ubuntu-latest
steps:
- name: Checkount linux-tkg
uses: actions/checkout@v4
# - name: "[debug] make dummy modprobed-db file for faster ci"
# run: |
# touch "${_modprobeddb_db_path}"
# echo "${_modprobeddb_db_path}"
- name: Install deps and compile kernel
run: yes '' | ./install.sh install
# run: |
# mkdir -p "$PKGDEST"
# echo "test" > "$PKGDEST"/linux-$_cpusched.pkg.tar.zst
- name: Cleanup useless DEB files
run: rm -rf DEBS/*dbg*.deb DEBS/*libc-dev*.deb
- name: rename kernel config
run: mv kernelconfig.new kernelconfig.ubuntu.${{ env._cpusched }}.txt
- uses: actions/upload-artifact@v4
with:
name: ubuntu-kernel-packages-${{ env._cpusched }}
path: |
${{ github.workspace }}/DEBS/*.deb
${{ github.workspace }}/kernelconfig*.txt

View File

@ -264,6 +264,13 @@ _kernel_localversion=""
# Default Arch kernel value is 320
_NR_CPUS_value=""
# [non-Arch only] Install kernel after the building is done ?
# Options are: "yes", "no", "prompt"
_install_after_building="prompt"
# [non-Arch only] Use 'script' command for logging
_logging_use_script="yes"
#### LEGACY OPTIONS ####
# Upstreamed version of Fsync from Linux 5.16 for previous kernel versions - https://github.com/andrealmeid/futex_waitv_patches

View File

@ -7,7 +7,7 @@ set -e
declare -p -x > current_env
# If current run is not using 'script' for logging, do it
if [ -z "$SCRIPT" ]; then
if [[ "$_logging_use_script" =~ ^(Y|y|Yes|yes)$ && -z "$SCRIPT" ]]; then
export SCRIPT=1
/usr/bin/script -q -e -c "$0 $@" shell-output.log
exit_status="$?"
@ -208,6 +208,9 @@ if [ "$1" = "install" ]; then
cd "$_kernel_work_folder_abs"
msg2 "Add patched files to the diff.patch"
git add .
if [[ "$_distro" =~ ^(Ubuntu|Debian)$ ]]; then
msg2 "Building kernel DEB packages"
@ -221,8 +224,11 @@ if [ "$1" = "install" ]; then
# Move deb files to DEBS folder inside the linux-tkg folder
mv "$_build_dir"/*.deb "$_where"/DEBS/
read -p "Do you want to install the new Kernel ? Y/[n]: " _install
if [[ "$_install" =~ ^(y|Y|yes|Yes)$ ]]; then
if [[ "$_install_after_building" = "prompt" ]]; then
read -p "Do you want to install the new Kernel ? Y/[n]: " _install
fi
if [[ "$_install_after_building" =~ ^(Y|y|Yes|yes)$ || "$_install" =~ ^(Y|y|Yes|yes)$ ]]; then
cd "$_where"
if [[ "$_sub" = rc* ]]; then
_kernelname=$_basekernel.$_kernel_subver-$_sub-$_kernel_flavor
@ -250,9 +256,6 @@ if [ "$1" = "install" ]; then
_fedora_work_dir="$_kernel_work_folder_abs/rpmbuild"
msg2 "Add patched files to the diff.patch"
(cd ${_kernel_work_folder_abs} && git add -- . ':!rpmbuild')
msg2 "Building kernel RPM packages"
RPMOPTS="--define '_topdir ${_fedora_work_dir}'" make ${llvm_opt} -j ${_thread_num} rpm-pkg EXTRAVERSION="${_extra_ver_str}"
msg2 "Building successfully finished!"
@ -264,8 +267,11 @@ if [ "$1" = "install" ]; then
# Move rpm files to RPMS folder inside the linux-tkg folder
mv ${_fedora_work_dir}/RPMS/x86_64/*tkg* "$_where"/RPMS/
read -p "Do you want to install the new Kernel ? Y/[n]: " _install
if [[ "$_install" =~ ^(Y|y|Yes|yes)$ ]]; then
if [[ "$_install_after_building" = "prompt" ]]; then
read -p "Do you want to install the new Kernel ? Y/[n]: " _install
fi
if [[ "$_install_after_building" =~ ^(Y|y|Yes|yes)$ || "$_install" =~ ^(Y|y|Yes|yes)$ ]]; then
if [[ "$_sub" = rc* ]]; then
_kernelname=$_basekernel.${_kernel_subver}_${_sub}_$_kernel_flavor

View File

@ -0,0 +1,677 @@
8021q
8250_dw
842
842_compress
842_decompress
9p
9pnet
9pnet_virtio
ac97_bus
acer_wireless
acer_wmi
acpi_cpufreq
acpi_mdio
acpi_pad
acpi_tad
acpi_thermal_rel
aesni_intel
af_alg
af_key
af_packet
agpgart
ahci
algif_aead
algif_hash
algif_skcipher
alx
amd64_edac
amd_pmc
amd_pstate
amdgpu
amdxcp
apple_mfi_fastcharge
appletalk
asn1_encoder
asus_atk0110
asus_nb_wmi
asus_wmi
ata_generic
ata_piix
ath
ath9k_common
ath9k_htc
ath9k_hw
atkbd
atl1c
auth_rpcgss
autofs4
battery
bch
binder
binfmt_misc
blake2b_generic
bluetooth
bnep
bpf
bpf_preload
br_netfilter
bridge
btbcm
btcoexist
btintel
btmtk
btrfs
btrtl
btusb
button
cbc
ccm
ccp
cdc_acm
cdc_ether
cdc_mbim
cdc_ncm
cdc_wdm
cdrom
cec
cfbcopyarea
cfbfillrect
cfbimgblt
cfg80211
cgroup
ch341
chacha_x86_64
chipreg
cifs
cifs_arc4
cifs_md4
cls_cgroup
cmac
cmdlinepart
coretemp
cpufreq_ondemand
crc16
crc32_generic
crc32_pclmul
crc32c_generic
crc32c_intel
crc64
crc64_rocksoft
crc64_rocksoft_generic
crc_itu_t
crct10dif_pclmul
cryptd
crypto_null
crypto_simd
crypto_user
curve25519_x86_64
cuse
dca
des_generic
dm_crypt
dm_log
dm_mirror
dm_mod
dm_multipath
dm_region_hash
dm_round_robin
dmi_sysfs
dns_resolver
drm
drm_buddy
drm_display_helper
drm_kms_helper
drm_panel_orientation_quirks
drm_suballoc_helper
drm_ttm_helper
dvb_core
ebtable_filter
ebtables
ec_sys
ecb
ecc
ecdh_generic
edac_mce_amd
ee1004
eeepc_wmi
eeprom
efi_pstore
efivarfs
ehci_hcd
ehci_pci
enclosure
encrypted_keys
evdev
exfat
ext2
ext4
f2fs
fan
fat
fb_sys_fops
ff_memless
fixed_phy
fjes
fscache
ftdi_sio
fuse
fwnode_mdio
garp
gcm
gf128mul
ghash_clmulni_intel
ghash_generic
gigabyte_wmi
gpio_amdpt
gpio_generic
gpu_sched
grace
hfs
hfsplus
hid
hid_apple
hid_asus
hid_generic
hid_hyperv
hid_logitech_dj
hid_logitech_hidpp
hid_microsoft
hid_multitouch
hid_nintendo
hid_playstation
hid_roccat
hid_roccat_common
hid_roccat_koneplus
hid_roccat_ryos
hid_sony
hid_steam
hid_wiimote
hidp
hp_wmi
hv_balloon
hv_netvsc
hv_storvsc
hv_utils
hv_vmbus
hwmon_vid
hyperv_drm
hyperv_keyboard
i2c_algo_bit
i2c_core
i2c_dev
i2c_hid
i2c_hid_acpi
i2c_i801
i2c_mux
i2c_nvidia_gpu
i2c_piix4
i2c_smbus
i8042
i915
iTCO_vendor_support
iTCO_wdt
ib_cm
ib_core
idma64
igb
igc
inet_diag
input_leds
int3400_thermal
int3403_thermal
int340x_thermal_zone
intel_agp
intel_cstate
intel_gtt
intel_hid
intel_lpss
intel_lpss_pci
intel_pch_thermal
intel_pmc_bxt
intel_powerclamp
intel_rapl_common
intel_rapl_msr
intel_soc_dts_iosf
intel_tcc_cooling
intel_uncore
intel_vsec
intel_wmi_thunderbolt
iommu_v2
iommufd
ip6_tables
ip6_udp_tunnel
ip6t_REJECT
ip6t_rt
ip6table_filter
ip6table_mangle
ip6table_nat
ip6table_raw
ip6table_security
ip_set
ip_tables
ipmi_devintf
ipmi_msghandler
ipt_REJECT
iptable_filter
iptable_mangle
iptable_nat
iptable_raw
iptable_security
ipv6
ir_kbd_i2c
irqbypass
isofs
it87
iw_cm
iwlmei
iwlmvm
iwlwifi
jbd2
jc42
jfs
joydev
k10temp
ksmbd
kvm
kvm_amd
kvm_intel
led_class_multicolor
ledtrig_audio
ledtrig_timer
libahci
libarc4
libata
libchacha
libchacha20poly1305
libcrc32c
libcurve25519_generic
libdes
libphy
libps2
llc
lm75
lm83
lockd
loop
lpc_ich
lz4
lz4_compress
lz4hc_compress
lzo
lzo_rle
mac80211
mac_hid
mbcache
mc
mc44s803
md4
md_mod
mdio
mdio_devres
mei
mei_gsc
mei_hdcp
mei_me
mei_pxp
mii
minix
mmc_core
mousedev
mptcp_diag
mrp
msdos
msr
mt20xx
mt76
mt76_connac_lib
mt76_usb
mt76x02_lib
mt76x02_usb
mt76x2_common
mt76x2u
mt7921_common
mt7921e
mtd
mxm_wmi
nandcore
nbd
nct6683
nct6775
nct6775_core
netfs
nf_conntrack
nf_conntrack_broadcast
nf_conntrack_ftp
nf_conntrack_h323
nf_conntrack_irc
nf_conntrack_netbios_ns
nf_conntrack_netlink
nf_conntrack_pptp
nf_conntrack_sip
nf_conntrack_tftp
nf_defrag_ipv4
nf_defrag_ipv6
nf_nat
nf_nat_ftp
nf_nat_h323
nf_nat_irc
nf_nat_pptp
nf_nat_sip
nf_nat_tftp
nf_reject_ipv4
nf_reject_ipv6
nf_tables
nfnetlink
nfnetlink_log
nfnetlink_queue
nfs
nfsv4
nft_chain_nat
nft_compat
nft_ct
nft_fib
nft_fib_inet
nft_fib_ipv4
nft_fib_ipv6
nft_masq
nft_nat
nft_reject
nft_reject_inet
nft_reject_ipv4
nft_reject_ipv6
nft_xfrm
nilfs2
nlmon
nls_ascii
nls_cp437
nls_iso8859_1
nls_utf8
nouveau
ntfs
ntfs3
nvidia_wmi_ec_backlight
nvme
nvme_common
nvme_core
nvmem_rave_sp_eeprom
nvram
overlay
p8022
parport
parport_pc
pata_acpi
pcc_cpufreq
pcspkr
pinctrl_alderlake
pinctrl_amd
pkcs8_key_parser
pktcdvd
platform_profile
pmt_class
pmt_telemetry
poly1305_x86_64
polyval_clmulni
polyval_generic
ppdev
processor_thermal_device
processor_thermal_device_pci_legacy
processor_thermal_mbox
processor_thermal_rapl
processor_thermal_rfim
psmouse
psnap
qcserial
qrtr
r8152
r8153_ecm
r8169
radeon
raid1
raid6_pq
rapl
rave_sp
raw_diag
rc_core
realtek
rfcomm
rfkill
rndis_host
rndis_wlan
rng_core
roles
rpcsec_gss_krb5
rt2800lib
rt2800usb
rt2x00lib
rt2x00usb
rtl8192ee
rtl8723_common
rtl8723ae
rtl8723be
rtl8821ae
rtl_pci
rtlwifi
rtsx_pci
rtsx_pci_sdmmc
rtw88_8821c
rtw88_8821ce
rtw88_core
rtw88_pci
sch_cake
sch_fq_codel
sch_ingress
scsi_common
scsi_mod
scsi_transport_fc
scsi_transport_sas
sd_mod
selftests
serial_multi_instantiate
serio
serio_raw
ses
sg
sha512_ssse3
snd
snd_acp3x_pdm_dma
snd_acp3x_rn
snd_acp6x_pdm_dma
snd_acp_config
snd_acp_pci
snd_aloop
snd_compress
snd_ctl_led
snd_hda_codec
snd_hda_codec_generic
snd_hda_codec_hdmi
snd_hda_codec_realtek
snd_hda_core
snd_hda_ext_core
snd_hda_intel
snd_hrtimer
snd_hwdep
snd_intel_dspcfg
snd_intel_sdw_acpi
snd_pci_acp3x
snd_pci_acp5x
snd_pci_acp6x
snd_pci_ps
snd_pcm
snd_pcm_dmaengine
snd_rawmidi
snd_rn_pci_acp3x
snd_rpl_pci_acp6x
snd_seq
snd_seq_device
snd_seq_dummy
snd_seq_midi
snd_seq_midi_event
snd_seq_oss
snd_seq_virmidi
snd_soc_acp6x_mach
snd_soc_acpi
snd_soc_acpi_intel_match
snd_soc_core
snd_soc_dmic
snd_soc_hdac_hda
snd_soc_skl
snd_soc_sst_dsp
snd_soc_sst_ipc
snd_sof
snd_sof_amd_acp
snd_sof_amd_rembrandt
snd_sof_amd_renoir
snd_sof_intel_hda
snd_sof_intel_hda_common
snd_sof_intel_hda_mlink
snd_sof_pci
snd_sof_pci_intel_cnl
snd_sof_pci_intel_tgl
snd_sof_probes
snd_sof_utils
snd_sof_xtensa_dsp
snd_timer
snd_ua101
snd_ump
snd_usb_audio
snd_usb_us122l
snd_usb_usx2y
snd_usbmidi_lib
snd_virmidi
soundcore
soundwire_bus
soundwire_cadence
soundwire_generic_allocation
soundwire_intel
sp5100_tco
sparse_keymap
spi_intel
spi_intel_pci
spi_nor
squashfs
sr_mod
st
stp
sunrpc
syscopyarea
sysfillrect
sysimgblt
t10_pi
tap
tcp_bbr
tcp_diag
tda18271
tda827x
tda8290
tda9887
tea5761
tea5767
tee
tg3
thermal
thinkpad_acpi
thunderbolt
tiny_power_button
tls
tpm
tpm_crb
tpm_tis
tpm_tis_core
trusted
ttm
tun
tuner_simple
tuner_types
tunnel4
tunnel6
typec
typec_ucsi
uas
ucsi_acpi
ucsi_ccg
udf
udp_diag
udp_tunnel
ufs
uhci_hcd
uhid
uinput
uio
uio_pdrv_genirq
unix_diag
usb_common
usb_storage
usb_wwan
usbcore
usbhid
usbip_core
usbip_host
usbmon
usbnet
uvc
uvcvideo
uvesafb
v4l2_dv_timings
veth
vfat
vfio
vfio_iommu_type1
vfio_pci
vfio_pci_core
vhost
vhost_iotlb
vhost_net
video
videobuf2_common
videobuf2_memops
videobuf2_v4l2
videobuf2_vmalloc
videodev
virtio_pci
virtio_pci_legacy_dev
virtio_pci_modern_dev
virtio_scsi
vivaldi_fmap
vmw_vmci
vmw_vsock_virtio_transport_common
vmw_vsock_vmci_transport
vsock
vsock_loopback
wacom
watchdog
wireguard
wireless_hotkey
wmi
wmi_bmof
x86_pkg_temp_thermal
x_tables
xc2028
xc4000
xc5000
xfrm6_tunnel
xfrm_interface
xfs
xhci_hcd
xhci_pci
xhci_pci_renesas
xor
xpad
xt_CHECKSUM
xt_LOG
xt_MASQUERADE
xt_NFQUEUE
xt_REDIRECT
xt_addrtype
xt_cgroup
xt_comment
xt_conntrack
xt_hl
xt_limit
xt_mark
xt_nat
xt_recent
xt_state
xt_tcpudp
xxhash_generic
zlib_deflate
zram