nyuuzyou/wikis huggingface dataset:
Installing ArchLinux inside an Alpine chroot

It's sometimes useful to have another Linux system installed inside a chroot on an Alpine system. This page explains how to install a recent version of ArchLinux (either x86 or x86_64) inside an existing Alpine system (assumed to have the same architecture).
Some useful links:
* https://wiki.archlinux.org/title/Remote_Arch_Linux_Install
* https://wiki.archlinux.org/title/Install_from_Existing_Linux
* https://wiki.archlinux.org/title/Installation_Guide
* What's the proper way to prepare chroot to recover a broken Linux installation?
<OL>
<LI>
Inside your Alpine system:
<LI>
Then chroot into the newly-created Arch system. I use the following script to do this:
At least when setting the Arch system up, you'll want to disable Alpine's grsecurity prohibition against suid/sgid:
For more info, see:
* https://en.wikibooks.org/wiki/Grsecurity
* https://www.gentoo.org/proj/en/hardened/grsecurity.xml
<LI>
Inside the Arch chroot, do the following. (The first step may take a long time, especially if you're connected to the system in question by ssh. See this link for more info, and tips about how to speed the process up.)
You can also install any other packages you want. I use:
<LI>
Still inside the Arch chroot, assign a root password and create a non-root user:
Uncomment this line in , then save the file:
 ## Uncomment to allow members of group wheel to execute any command
 %wheel ALL=(ALL) ALL
</OL>
Now you're done. You can switch to the non-root user with:
or hit + to exit the chroot.
If you'll want to install any packages from the Arch User Repository, you may want to install a richer package manager, such as Yaourt. Do this as the non-root user:
Category:Development
Category:Installation
Installing Oracle Java

Using java requires having grsec play nice with the binaries. You may also want to install the JDK instead of the JRE depending on your needs.
This guide assumes you're running as root.
Download XXX-XXX-linux-x64.tar.gz from either the JRE or JDK section here:
https://www.oracle.com/technetwork/java/javase/downloads/index.html
 mkdir -p /opt/java
 cd /opt/java
 sudo tar -zxvf XXX-XXX-linux-x64.tar.gz 
Take note of the directory, e.g. /opt/java/jdk1.8.0_121, create a symbolic link as the current version:
 ln -s /opt/java/jdk1.8.0_121 /opt/java/current
Create a file in /etc/profile.d/java.sh:
 export JAVA_HOME=/opt/java/current
 export PATH=$PATH:$JAVA_HOME/bin
Execute this script or restart your shell:
 sh /etc/profile.d/java.sh
Now we need manage grsec with paxctl. Use this command to check if its installed:
 which paxctl
If nothing comes up install it:
 apk add paxctl
Now in your /opt/java/XXX/bin folder, execute:
 paxctl -c java
 paxctl -m java
If you have the JDK, you need to do the same to javac:
 paxctl -c javac
 paxctl -m javac
You can do this for any other binary you need to use.
NOTE: some users have reported they had to use this command to get it working:
 setfattr -n user.pax.flags -v "mr" java
 setfattr -n user.pax.flags -v "mr" javac
Alternative installation of Oracle Java on Linux Alpine
 1. Run apk update && apk upgrade
 2. Edit vim /etc/profile, add the value before the string: append_path "/user/local/sbin", value: append_path "/opt/java/current/bin"
 3. Download XXX-XXX-linux-x64.tar.gz and jce_policy-8.zip from official oracle suite.
 4. Сreate a directory in the root: mkdir -p /opt/java
 5. Copy XXX-XXX-linux-x64.tar.gz in the java directory: scp /home/username/XXX-XXX-linux-x64.tar.gz /opt/java/
 6. Let's go to the catalog java: cd /opt/java and unpack the file: XXX-XXX-linux-x64.tar.gz, tar -zxvf XXX-XXX-linux-x64.tar.gz
 7. Create simlink: ln -s /opt/java/jdkX.X.X_XXX /opt/java/current
 8. Download and install the certificate: wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub
 9. Download glibc: wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.34-r0/glibc-2.34-r0.apk
 10. Install glibc: apk add glibc-2.34-r0.apk
 11. Download glibc-bin: wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.34-r0/glibc-bin-2.34-r0.apk
 12. Install glibc-bin: apk add glibc-bin-2.34-r0.apk
 13. Install the license jce_policy-8.zip, сopy the file: scp /home/username/jce_policy-8.zip /opt/java/current/jre/lib/security/
 14. Let's go to the folder /opt/java/current/jre/lib/security/: cd /opt/java/current/jre/lib/security/ and unpack it: unzip -o -j jce_policy-8.zip UnlimitedJCEPolicyJDK8/*.jar
 15. Delete the archive file: rm -f jce_policy-8.zip
 16. Restart the computer or virtual machine: reboot
 17. Let's check the version of Java installed: java -version
 18. If it displays: java version "X.X.X_XXX", then we did everything correctly.
= =
* Native Java Debugging on Alpine Linux: GDB, OpenJDK and the Mysterious Unknown Signal Shahar Valiano 2019 
Category:Programming
Installing Xubuntu using Alpine boot floppy

Some computers does not boot on cdrom or USB. Then you can use Alpine boot floppy together with an USB with alpine to install Ubuntu. This document describes how.
You will need atleast version 1.0 of debootstrap to get feisty installed. Therefore, set APK_PATH to point at http://dev.alpinelinux.org/alpine/v1.7/apks or use alpine 1.7.3.
== Preparing boot media ==
* Create a floppy from http://dev.alpinelinux.org/alpine/v1.7/bootimages/usb.flp
* unpack the http://dev.alpinelinux.org/alpine/v1.7/usbdrive/alpine-1.7.2-i386.tar.gz usb image to an usb drive.
 wget -q -O - http://dev.alpinelinux.org/alpine/v1.7/usbdrive/alpine-1.7.2-i386.tar.gz | tar -zxv -C /media/usb
* boot the floppy with usb inserted. You have alpine running.
== Set up environment ==
* Log in as root (no password required)
* setup networking with:
 setup-alpine
* Unless you run alpine-1.7.3 or newer, set APK_PATH to network. This is to get newest version of debootstrap:
 export APK_PATH=http://dev.alpinelinux.org/alpine/v1.7/apks
* Set up http proxy if needed:
 export http_proxy=http://proxy:8080
== Prepare the harddisk ==
* Load driver for IDE disks if you run IDE. If you have SATA or SCSI disk you will not need to do this.
 modprobe ide-disk
* use fdisk to create the desired paritions
 fdisk /dev/hda
Here I will use this simple layout:
/dev/hda1	swap 	128MB
/dev/hda2	ext3/	
Delete all partition(s) using 'd' in fdisk. Create the swap partition as above with:
 n (New partition)
 p (primary partition)
 1 (partition number)
 <enter> (first cylinder = default)
 +128M (size of partition)
 t (set type)
 82 (partition type 82 hex for swap)
Create / partition
 n (new partition)
 p (primary partition)
 2 (partition number 2)
 <enter> (default first cylineder)
 <enter> (use rest of disk)
 w (write and quit. Warning! this will destroy all your current data on your disk!)
* Create and enable swap:
 mkswap /dev/hda1
 swapon /dev/hda1
* Create filesystem on disk (format)
 apk_add e2fsprogs
 mkfs.ext3 /dev/hda2
 
* mount the root partition
 mount -t ext3 /dev/hda2 /mnt
== Running debootstrap ==
* Allow debootstrap to run mount inside chroot
 for i in /proc/sys/kernel/grsecurity/chroot* ; do echo 0 > $i ; done
* install and run debootstrap utility
 apk_add debootstrap
 debootstrap --arch i386 feisty /mnt
From here you can chroot to your mount point, edit your /etc/apt/sources.list, install a kernel and reboot.
Category:Installation
Installing on GPT LVM

This is an updated version of: Setting up LVM on GPT-labeled disks.
This document describes how to set up an Alpine Linux system booting from a logical volume using lvm2 and GPT-labeled disks.
Begin by booting from the Alpine Linux installation media in the usual way. Log in as `root`, run `setup-alpine`, and answer `none` when asked to choose a disk. 
=== Info ===
Alpine Linux ISO used in this installation: alpine-vanilla-3.7.0-x86_64.iso
This PC has BIOS, not UEFI (UEFI installation may differ)
Tested on APU4C with 30GB Kingston mSata SSD (SMS200S3/30G).
=== Partitioning ===
We need to install some tools. i.e. 'gptfdisk' and 'sgdisk'.
Install gptfdisk.
Create partitions. In my case the SSD disk is found as sda, so I will use 'sda' throughout the process.
 # create a new empty GUID partition table (GPT) with 'o'
 o # then 'y' to confirm
 # create partitions: BIOS (needed only for GRUB2), Boot (needed by SYSLINUX), and LVM
 n
 1
 <enter>
 +2M
 ef02
 n
 2
 <enter>
 +100M
 8300
 n
 3
 <enter>
 <enter>
 8e00
 # print the partition with 'p'
You should get something like this:
 Number Start (sector) End (sector) Size Code Name
 1 2048 6143 2.0 MiB EF02 BIOS boot partition
 2 6144 210943 100.0 MiB 8300 Linux filesystem
 3 210944 15662270 7.4 GiB 8E00 Linux LVM
We need to set the 'legacy BIOS bootable' flag on our boot partition. That can be done in gdisk by first entering expert mode with 'x' then editing attributes with 'a'. It's used by SYSLINUX's GPT support to identify a partition that holds the second-stage boot code.
 x
 a
 2
 2
It looks like this:
 Command (? for help): x
 Expert command (? for help): a
 Partition number (1-3): 2
 Known attributes are:
 0: system partition
 1: hide from EFI
 2: legacy BIOS bootable
 60: read-only
 62: hidden
 63: do not automount
 Attribute value is 0000000000000000. Set fields are:
 No fields set
 Toggle which attribute field (0-63, 64 or <Enter> to exit): 2
 Have enabled the 'legacy BIOS bootable' attribute.
 Attribute value is 0000000000000004. Set fields are:
 2 (legacy BIOS bootable)
Press 'Enter' to exit the expert mode and then write the table to disk. Exit gdisk with 'w'.
You can verify the legacy_boot flag with sgdisk (also part of gptfdisk).
 2:2:1 (legacy BIOS bootable)
Remove gptfdisk (if not needed anymore).
=== LVM Setup ===
Now we can setup LVM on the third partition created in the process above.
 
 Physical volume "/dev/sda3" successfully created
 Volume group "vg00" successfully created
 Logical volume "alpine_rootfs" created
 Logical volume "swap" created
 * service lvm added to runlevel default
 2 logical volume(s) in volume group "vg00" now active
Format new logical volume and activate swap.
Mount for finishing Alpine Linux installation.
=== Finish installation ===
Run this command to finish installing Alpine Linux to our newly mounted partition:
Output of setup-disk should look like this:
 Installing system on /dev/vg00/alpine_rootfs:
 /mnt/boot is device /dev/sda2
 /boot is device /dev/sda2
 You might need fix the MBR to be able to boot
=== Syslinux ===
Install the MBR.
Reboot and enjoy your new Alpine Linux installation!
Category:Installation
Intel Video

This page documents the graphics driver for Intel GMA on-board graphics cards and Intel iGPU and dedicated graphics cards (excluding PowerVR-based models). Install the following packages as needed:
* : necessary Mesa drivers for all Intel Graphics.
* : Mesa vaapi drivers for all Intel video decoding acceleration. You want one of the below too.
* : VAAPI driver, for hardware accelerated video encoding and decoding. What you want since Intel Broadwell.
* : VAAPI driver, for processors older than Broadwell.
* : Needed if the i915 driver complains about firmware being missing in dmesg
== Use environment variables ==
For all Intel Graphics up to Haswell, the user must manually select crocus Mesa driver in order to let the graphics work properly:
export MESA_LOADER_DRIVER_OVERRIDE=crocus
For newer Intel Graphics, if automatic driver selection does not work and bugs such as missing mouse cursor under Sway occur (no hardware graphics acceleration), the user can manually select iris driver:
export MESA_LOADER_DRIVER_OVERRIDE=iris
== Legacy drivers ==
Legacy drivers like which have known Issues. Use these, only if nothing else works. 
Category:Hardware
Category:Drivers
Category:Graphics
Intrusion Detection using Snort, Sguil, Barnyard and more

This guide will set up (list subject to change):
* Snort
* Barnyard
* Sguil
This guide will assume:
* You have a knowledge of your network setup (at least know which subnets exist)
* You have Alpine 2.0.2 installed and working with networking setup
== Get Development Packages ==
Install Alpine and Pre-packaged components
 apk add alpine-sdk mysql-dev openssl-dev snort wireshark tcpdump tcpflow cvs
== Download Non-Packaged Applications ==
Download the following packages using wget
 cd /usr/src
 wget itcl3.4b1.tar.gz
 wget tcl8.4.19-src.tar.gz
 wget tk8.4.19-src.tar.gz
 wget mysqltcl-3.02.tar.gz
 wget tclx8.4.tar.bz2
 wget tls1.6-src.tar.gz
 wget barnyard-0.2.0.tar.gz
 wget tcllib-1.12.tar.gz
 wget p0f.tgz
 wget iwidgets4.0.1.tar.gz
(need to add source locations for all the packages above)
== sguild Configuration Steps ==
Configure sguild
 mkdir -p /home/sguil/sguild_data/archive
 mkdir /home/sguil/sguild_data/rules
 mkdir /home/sguil/sguild_data/load
 chown -R sguil.sguil /home/sguil/sguild_data
Now, start mysql using: mysql -u root -p
 GRANT ALL PRIVILEGES ON sguildb.* TO sguil@localhost IDENTIFIED BY "password";
 GRANT FILE ON *.* to sguil@localhost;
 update user set Password = OLD_PASSWORD("password") where User = "sguil";
 FLUSH PRIVILEGES;
 QUIT;
From the command line:
 mysql -u sguil -p -e "CREATE DATABASE sguildb"
 mysql -u sguil -p -D sguildb < /usr/local/sguil/server/sql_scripts/create_sguildb.sql
 mysql -u sguil -p -D sguildb -e "show tables"
 mkdir /var/run/sguil
 chown sguil.sguil /var/run/sguil
 mkdir -p /etc/sguild/certs
 cp /usr/local/sguil/server/sguild.conf /etc/sguild
 cp /usr/local/sguil/server/autocat.conf /etc/sguild
 cp /usr/local/sguil/server/sguild.users /etc/sguild
 cp /usr/local/sguil/server/sguild.queries /etc/sguild
 cp /usr/local/sguil/server/sguild.access /etc/sguild
 cp /usr/local/sguil/server/sguild.email /etc/sguild
 cp /usr/local/sguil/server/sguild.reports /etc/sguild
 chown -R sguil.sguil /etc/sguild
Now edit /etc/sguild/sguild.conf and change the following lines to match the below:
 set SGUILD_LIB_PATH /usr/local/sguil/server/lib
 set DEBUG 0
 set SENSOR_AGGREGATION_ON 0
 set RULESDIR /home/sguil/sguild_data/rules
 set DBPASS "password"
 set DBUSER sguil
 set LOCAL_LOG_DIR /home/sguil/sguild_data/archive
 set TCPFLOW /usr/bin/tcpflow
 set P0F 1
 set P0F_PATH /usr/local/bin/p0f
 set TMP_LOAD_DIR /home/sguil/sguild_data/load
Category:Server
Category:Monitoring
Category:SQL
Category:Security
Iptables

Iptables is a generic firewalling software that allows you to define rulesets. Each rule within an IP table consists of a number of classifiers (iptables matches) and one connected action (iptables target). iptables is the userspace command line program used to configure the Linux 2.4.x and later packet filtering ruleset. It is targeted towards system administrators. 
== Install iptables/ip6tables ==
* To install iptables (includes ip6tables in alpine 3.19 and up):
: 
* To install ip6tables (Alpine older than 3.19 only):
: 
* To install the man pages for iptables and ip6tables:
: 
== Configure iptables/ip6tables ==
== Save Firewall Rules ==
=== For iptables ===
# Set iptables to start on reboot
#* 
# Write the firewall rules to disk
#* 
# If you use Alpine Local Backup:
## Save the configuration
##* 
== For ip6tables ==
# Set ip6tables to start on reboot
#* 
# Write the firewall rules to disk
#* 
# If you use Alpine Local Backup:
## Save the configuration
##* 
== See also ==
Official website 
Category:SecurityCategory:Networking
Jitsi Meet

NOTE TODO: I will return and update this page with config files and rc scripts. But it's similar to the Debian config. Also TODO nginx reverse proxy / bosh config. 
== Prosody ==
# apk add prosody
edit /etc/prosody/prosody.cfg.lua
generate certs:
Edit /etc/prosody/certs/openssl.cnf
[FQDN] means www.example.com
# cd /etc/prosody/certs
# make [FQDN].cnf
edit file and make sure everything is correct
# make [FQDN].key
for self-signed certificate:
# make [FQDN].crt
or, for signing request:
# make [FQDN].csr
NOTE: repeat cert process for: auth.[FQDN] (ie, auth.www.example.com)
If you self-signed the cert, put it in the certs folder so it will be trusted on the local machine.
# ln -sf /etc/prosody/certs/auth.[FQDN] /usr/local/share/ca-certificates/
# update-ca-certificates -f
# prosodyctl start
# prosodyctl register focus auth.[FQDN] YOURSECRET3
(YOURSECRET3 is from cfg file /etc/prosody/prosody.cfg.lua)
# prosodyctl restart
== Videobridge ==
The jitsi-videobridge package is available in the testing repositories. For a stable release of Alpine, it needs to be built manually.
== Jicofo ==
The jicofo package is available in the testing repositories. For a stable release of Alpine, the aport needs to be built manually.
== Jigasi ==
The jigasi package is available in the testing repositories. For a stable release of Alpine, the aport needs to be built manually.
Julia abuild

== Missing packages ==
List of packages that should be created.
* openlibm
* openspecfun
* dsfmt
* amos
* suitesparse
* arpack
* pcre2 (pcre 10.x)
* utf8proc
== Concerns ==
According to readme, Julia requires LLVM 3.7. We should check if it really requires that exact version or if 3.8 is also acceptable.
== Resources ==
* ArchLinux julia package
Category:Programming
KDE

thumb |KDE Plasma screenshot.
Plasma is the desktop environment from KDE, a software project comprising of a collection of libraries known as KDE Frameworks, and several applications known as KDE Applications. Their UserBase wiki has detailed information about most KDE Applications.
When Plasma is chosen, the above utility also installs Pipewire for audio and SDDM as display manager.
== Manual Installation ==
=== Prerequisites ===
* For users interested in Xorg as opposed to Wayland, install the Xorg base packages
* Install and configure D-Bus
* Install and configure Elogind
* Wayland users: Install package 
The following command will install the Plasma desktop as specified by the plasma metapackage, including the display manager and other assorted niceties.
== KDE Applications ==
To install the full set of KDE Applications, install . You can also choose to install a smaller set of applications by installing any of the subpackages:
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
== Starting Plasma ==
Plasma can be started using a display manager or from the console.
=== Using a display manager ===
When Plasma is installed via the plasma meta-package, the display manager is set up using sddm.
Make sure you enable and start the SDDM service.
* Select Plasma to launch a new session in Wayland
* Select Plasma (X11) to launch a new session in Xorg
=== From the console ===
The Xorg session can be launched by installing and appending exec startplasma-x11 to your .xinitrc file. To start X:
For the Wayland session run
== Troubleshooting ==
=== HiDPI Scaling ===
When using high resolution screens, e.g. 4K, you might need to apply scaling so the fonts and windows are not too small.
In order to achieve this you can open Settings -> Display and Monitor and change the slider under Global Scale to an appropriate value.
You can also change the mouse cursor and icon size under Settings -> Appearance.
If your taskbar and window decorations are still too small, you might want to create the file to define the PLASMA_USE_QT_SCALING environment variable:
After creating this file, you may need to restart your session to apply this modification.
== See also ==
* Post installation
* Flatpak
* KDE - Archwiki
Category:Desktop
Category:Desktop Environments
Category:Wayland
Kamailio

Kamailio (former OpenSER) is an Open Source SIP Server released under GPL, able to handle thousands of call setups per second. Among features: asynchronous TCP, UDP and SCTP, secure communication via TLS for VoIP (voice, video), SIMPLE instant messaging and presence, ENUM, least cost routing, load balancing, routing fail-over, accounting, authentication and authorization against MySQL, Postgres, Oracle, Radius, LDAP, XMLRPC control interface, SNMP monitoring. It can be used to build large VoIP servicing platforms or to scale up SIP-to-PSTN gateways, PBX systems or media servers like Asterisk, FreeSWITCH or SEMS.
This document will be a quick c/p guide to setup Kamailio 4.3.4 on Alpinelinux 3.3, and assume that you have already installed the alpinelinux base system.
= Upgrade Installation =
= Install Postgresql =
* Setup postgresql
== Direct logging information to syslog ==
The default behavior is to log activity to postmaster.log without rotation. This can result in large log files filling the ramdisk. Edit the postgresql.conf file to enable logging information to be sent to syslog (logs will appear in /var/log/messages which is rotated and older logs are automatically deleted).
The following command will update the file correctly.
== Start postgresql and enable auto start ==
Create file for Kamailio to start after pg-restore when booting:
= Install SIP Router (Kamailio) =
==Install Kamailio ==
== Configuration of Kamailio ==
Edit the kamctlrc file - uncomment and/or change the following variables. Please note that in your production environment it is recommended that usernames and passwords be customized (defaults as used below should be avoided if at all possible) for added security.
== Create the Kamailio database ==
== Start Kamailio and setup for auto start on reboot ==
= Create a few SIP ROUTER users (extensions) =
 
Example:
Xlite (or other Software-based IP Phone) can be used for this preliminary test. You can register a soft-phone or sip-phone with the account "5000" and password "5000", using the SIP-Router aip as "domain" and other one with 5001 and call each other.
Category:Telephony
Kernel Modesetting

KMS (Kernel Mode Setting) allows setting the display resolution in kernel space instead of userspace. This allows setting native screen resolutions early in the system boot process and can reduce flickering, both when booting and when switching ttys.
Enabling KMS requires adding kms to the mkinitfs configuration by adding it to the features variable, e.g:
The relevant DRM module for the graphics card needs to be added to the kernel cmdline (e.g.: if your graphics card uses amdgpu, add modules=other-modules,amdgpu to the cmdline). Omitting this step will result in additional flickering (e.g.: early output will render at low resolution and the resolution will change when the module is later loaded).
The exact driver (and firmware) required will vary depending on the GPU being used. See the links below for further details.
=== Intel ===
See Intel_Video#Kernel_Modesetting_(KMS)
=== AMD/Radeon ===
See Radeon_Video#Kernel_Modesetting_(KMS)
=== Nouveau ===
See Nouveau_Video#Kernel_Modesetting_(KMS)
=== nVidia ===
=== See also ===
* Kernel mode setting archlinux.org
Category:Kernel
Kernel live patching

Kernel Live Patching (KLP) enables the capacity to apply patch to the kernel without rebooting the system.
To use KLP, you should follow the following steps:
* Run a livepatching enabled kernel
* Obtain the source tree of the kernel
* Prepare and build the patch
* Apply the patch
You can use Kernel Live Patching in Alpine Linux by running a modified kernel.
= Building the kernel =
# Obtain the source
# Enable the following flag CONFIG_LIVEPATCH and CONFIG_DEBUG_INFO
# Build the kernel: make
# Install: doas make modules_install && doas make install
# Rebuild initramfs
# Update bootloader
# Reboot: doas reboot
= Patching the kernel =
# Install kpatch: doas apk add kpatch
# Prepare the patch. You can create a file some.patch containing something around the following (it can need update depending on the kernel version):
 Index: src/fs/proc/meminfo.c
 ===================================================================
 --- src.orig/fs/proc/meminfo.c
 +++ src/fs/proc/meminfo.c
 @@ -95,7 +95,7 @@ static int meminfo_proc_show(struct seq_
 		"Committed_AS: %8lu kB\n"
 		"VmallocTotal: %8lu kB\n"
 		"VmallocUsed: %8lu kB\n"
 -		"VmallocChunk: %8lu kB\n"
 +		"VMALLOCCHUNK: %8lu kB\n"
 #ifdef CONFIG_MEMORY_FAILURE
 		"HardwareCorrupted: %5lu kB\n"
 #endif
# Build the patch: kpatch-build -s /path/to/kernel/source some.patch
= Enabling the patch =
# Enable the patch: doas insmod kpatch-some.ko or doas kpatch load kpatch-some.ko
# Check that the patch has been loaded: grep -i chunk /proc/meminfo
# Disable the patch: doas kpatch unload kpatch-some.ko
Category:Kernel