<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.alpinelinux.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Anthumchris</id>
	<title>Alpine Linux - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.alpinelinux.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Anthumchris"/>
	<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/wiki/Special:Contributions/Anthumchris"/>
	<updated>2026-05-02T02:16:28Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28299</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28299"/>
		<updated>2024-12-11T23:31:36Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;This draft was removed&#039;&#039; and is published at https://wiki.alpinelinux.org/wiki/How_to_build_the_Alpine_Linux_kernel&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28298</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28298"/>
		<updated>2024-12-11T23:30:52Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: removed&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;This draft was removed&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris&amp;diff=28285</id>
		<title>User:Anthumchris</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris&amp;diff=28285"/>
		<updated>2024-12-11T14:28:48Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;👨‍💻 [https://gitlab.alpinelinux.org/anthumchris/ gitlab.alpinelinux.org/anthumchris]&lt;br /&gt;
&lt;br /&gt;
== To do ==&lt;br /&gt;
* Kernel build tutorial&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Custom_Kernel&amp;diff=28272</id>
		<title>Custom Kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Custom_Kernel&amp;diff=28272"/>
		<updated>2024-12-11T03:37:55Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: add How to build the Alpine Linux kernel&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Draft}}&lt;br /&gt;
&lt;br /&gt;
This process of building a &#039;&#039;&#039;custom configured kernel&#039;&#039;&#039; assumes you are running on Alpine Linux utilizing abuild &amp;amp; aports.&lt;br /&gt;
&lt;br /&gt;
== But why? ==&lt;br /&gt;
&lt;br /&gt;
You want to build a custom kernel to enable experimental hardware or features or outdated hardware, to reduce bloat further, to tune the kernel to the hardware.&lt;br /&gt;
&lt;br /&gt;
The lts kernel for most Alpine ARCHs uses defaults to balance throughput at the expense of some responsiveness, and support for many devices.  You can tweak the kernel for desktop use and low latency and responsiveness.&lt;br /&gt;
&lt;br /&gt;
You should disable modules to increase security.  By default, Alpine will install modules but not disable most of them.  Disabling modules will reduce an DMA attack but not eliminate it completely.  If you have a newer processor with VT-d, you can mitigate as long as you:&lt;br /&gt;
&lt;br /&gt;
Leave &amp;lt;code&amp;gt;CONFIG_INTEL_IOMMU_DEFAULT_ON=y&amp;lt;/code&amp;gt; or pass &amp;lt;code&amp;gt;intel_iommu=on&amp;lt;/code&amp;gt; as a kernel parameter and disable kernel logging so the attacker doesn&#039;t gain DMAR address information through dmesg.[https://blog.frizk.net/2016/11/disable-virtualization-based-security.html]  Also remove references to the kernel version to calculate the IOMMU addresses.[https://link.springer.com/content/pdf/10.1186/s13173-017-0066-7.pdf]&lt;br /&gt;
&lt;br /&gt;
To increase the security of the boot process, if you have a TPM, you could set &amp;lt;code&amp;gt;CONFIG_INTEL_TXT=y&amp;lt;/code&amp;gt; (Enable Intel(R) Trusted Execution Technology (Intel(R) TXT)) (which is not enabled in the hardened kernel by default), then you would need the SINIT module (provided only by Intel)[https://software.intel.com/en-us/articles/intel-trusted-execution-technology], a possibly compiled TrustedGrub2[https://github.com/Rohde-Schwarz-Cybersecurity/TrustedGRUB2], trousers[https://sourceforge.net/projects/trousers/?source=navbar], tboot[https://sourceforge.net/projects/tboot/].  These packages are not in aports and it is unknown if these tools work on musl.  It&#039;s not recommended for Edge.  Also, there would be trigger packages to generate hashes for the kernel and the mkinitfs updates.&lt;br /&gt;
&lt;br /&gt;
== Setting up the Alpine Build System ==&lt;br /&gt;
&lt;br /&gt;
First, you need to follow the steps in [[Creating_an_Alpine_package#Setup_your_system_and_account|Setup your system and account for building packages]].  You also need to configure your {{path|/etc/apk/repositories}} so that they search locally for your apks.  See [[Creating_an_Alpine_package#Testing_the_package_locally|Testing the package locally]] for details.&lt;br /&gt;
&lt;br /&gt;
After setting up accounts and repos, change your shell&#039;s current working directory to &#039;&#039;&#039;aports&#039;&#039;&#039; that you just cloned.&lt;br /&gt;
&lt;br /&gt;
{{cmd|$ cd aports}}&lt;br /&gt;
&lt;br /&gt;
== Working with aports ==&lt;br /&gt;
&lt;br /&gt;
We will try using an existing lts kernel just tweaking the {{path|lts.ARCH.config}} file.  &lt;br /&gt;
&lt;br /&gt;
=== Switching to the proper release version ===&lt;br /&gt;
&lt;br /&gt;
You need to switch to the proper branch that matches the release so that the kernel compiles against the dependencies properly.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! Alpine version&lt;br /&gt;
! Remote branch&lt;br /&gt;
|-&lt;br /&gt;
| Edge&lt;br /&gt;
| master&lt;br /&gt;
|-&lt;br /&gt;
| 3.17.0&lt;br /&gt;
| 3.17-stable&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following is required to get access to the {{path|APKBUILD}} released for that version of Alpine and which you will create a commit for.&lt;br /&gt;
&lt;br /&gt;
If you are on 3.17 do:&lt;br /&gt;
&lt;br /&gt;
{{cmd|$ git checkout -b 3.17-stable origin/3.17-stable}}&lt;br /&gt;
&lt;br /&gt;
If you are on Edge do:&lt;br /&gt;
&lt;br /&gt;
{{cmd|$ git checkout master}}&lt;br /&gt;
&lt;br /&gt;
=== Creating your config ===&lt;br /&gt;
&lt;br /&gt;
You can use {{pkg|linux-lts}} but what you should do is create a local branch by doing:&lt;br /&gt;
&lt;br /&gt;
For Alpine Edge:&lt;br /&gt;
&lt;br /&gt;
{{cmd|$ git checkout -b my-custom-kernel}}&lt;br /&gt;
&lt;br /&gt;
For Alpine 3.17:&lt;br /&gt;
&lt;br /&gt;
{{cmd|$ git checkout -b my-custom-kernel origin/3.17-stable}}&lt;br /&gt;
&lt;br /&gt;
Doing it this way, you do less work in maintaining.  All you need to do is keep &#039;&#039;master&#039;&#039; or &#039;&#039;3.17-stable&#039;&#039; in sync[https://help.github.com/articles/syncing-a-fork/][https://help.github.com/articles/configuring-a-remote-for-a-fork/] and merge any conflicts.  &lt;br /&gt;
&lt;br /&gt;
First switch to the branch by doing &amp;lt;code&amp;gt;git checkout my-custom-kernel&amp;lt;/code&amp;gt;.  Then, you need to navigate to the {{path|main/linux-lts}} folder where you should see a APKBUILD and some config- files.  When you are done with your edits either by editing directly the APKBUILD and copying the {{path|lts.ARCH.config}} as {{path|.config}} in the {{path|linux-4.15}} folder.  You will then move the {{path|.config}} back overriding the {{path|lts.ARCH.config}} generated by &amp;lt;code&amp;gt;make menuconfig&amp;lt;/code&amp;gt; (discussed below in the &#039;&#039;Configuring kernel&#039;&#039; section).  After generating your config, you need to &amp;lt;code&amp;gt;abuild checksum&amp;lt;/code&amp;gt;.  Then, do &amp;lt;code&amp;gt;git add APKBUILD lts.ARCH.config&amp;lt;/code&amp;gt; where ARCH is whatever architecture (x86, x86_64, ...) you use.  Then, you need to do &amp;lt;code&amp;gt;git commit APKBUILD config-NAME.ARCH -m &amp;quot;Enabled these options ....&amp;quot;&amp;lt;/code&amp;gt; for your customization the ARCHitecture of your system.  You do this so that git can keep your code separate from Alpine&#039;s and so your changes float forward between kernel updates.&lt;br /&gt;
&lt;br /&gt;
== Adding custom patches ==&lt;br /&gt;
&lt;br /&gt;
Custom patches should be added to &#039;&#039;sources=&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
After you added the URL, you need to produce a checksum by doing &amp;lt;code&amp;gt;abuild checksum&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The custom patches may not be autopatched, due to being distributed as an archive or different patch level, so you need to define what to do with it in the prepare().&lt;br /&gt;
&lt;br /&gt;
== Configuring kernel ==&lt;br /&gt;
&lt;br /&gt;
Attempt to build the kernel first.  To do that, you do &amp;lt;code&amp;gt;abuild -rK&amp;lt;/code&amp;gt; to install most of the dependencies.  If it complains about a dependency like {{pkg|elfutils-dev}} use &amp;lt;code&amp;gt;-rKd&amp;lt;/code&amp;gt;.  Then, when it prompts for values for new found config options just hold enter till it starts compiling the kernel.  There should be two sets one for -lts and the other for the -virt.  Just {{Key|Ctrl}}+{{Key|C}} out of the compilation process after the second set so you can further customize the config.  Then you go into the {{path|src/linux-VER}} and edit the config file.  Copy the {{path|.config}} file overriding the {{path|lts.ARCH.config}} in the srcdir.&lt;br /&gt;
&lt;br /&gt;
The alternative is to use the kernel configuration menu in the build-NAME folder, but before yo do that you need to &amp;lt;code&amp;gt;sudo apk add {{pkg|ncurses-dev}}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you are done using the menu in the build-NAME folder by doing &amp;lt;code&amp;gt;make menuconfig&amp;lt;/code&amp;gt;, you want to remove &amp;lt;code&amp;gt;ncurses-dev&amp;lt;/code&amp;gt;.  When you are done, it will be stored in &#039;&#039;.config&#039;&#039; which you need to again override the {{path|lts.ARCH.config}} file.  When you are done updating the {{path|config-NAME.ARCH}}, you need to do &amp;lt;code&amp;gt;abuild checksum&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The options in the kernel config are typically defaults.  If your device is old, it may be set to n by default.&lt;br /&gt;
&lt;br /&gt;
=== Vanilla targets and tuning ===&lt;br /&gt;
&lt;br /&gt;
{|cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!ARCH&lt;br /&gt;
!Processor Type / CPU Selection / System Type&lt;br /&gt;
!Code Generation / Instruction Extensions&lt;br /&gt;
!Timer Frequency&lt;br /&gt;
!Preemption Model&lt;br /&gt;
!Bitness&lt;br /&gt;
|-&lt;br /&gt;
|s390x&lt;br /&gt;
|IBM zEnterprise 114 and 196&lt;br /&gt;
|IBM zBC12 and zEC12 (&amp;lt;code&amp;gt;-march=zEC12 -mtune=zEC12&amp;lt;/code&amp;gt;)&lt;br /&gt;
|100 Hz&lt;br /&gt;
|No Forced Preemption (Server)&lt;br /&gt;
|64&lt;br /&gt;
|-&lt;br /&gt;
|ppc64le&lt;br /&gt;
|Server processors&lt;br /&gt;
|POWER8 (&amp;lt;code&amp;gt;-mcpu=power8&amp;lt;/code&amp;gt;), AltiVec (&amp;lt;code&amp;gt;-Wa,-maltivec&amp;lt;/code&amp;gt; to assembler or &amp;lt;code&amp;gt;-maltivec -mabi=altivec&amp;lt;/code&amp;gt;), VSX&lt;br /&gt;
|100 HZ&lt;br /&gt;
|No Forced Preemption (Server)&lt;br /&gt;
|64&lt;br /&gt;
|-&lt;br /&gt;
|ppc&lt;br /&gt;
|&lt;br /&gt;
512x/52xx/6xx/7xx/74xx/82xx/83xx/86xx&lt;br /&gt;
* Apple PowerMac based machines&lt;br /&gt;
|AltiVec (&amp;lt;code&amp;gt;-Wa,-maltivec&amp;lt;/code&amp;gt; to assembler or &amp;lt;code&amp;gt;-maltivec -mabi=altivec&amp;lt;/code&amp;gt;) on &amp;gt;=74xx&lt;br /&gt;
|250 HZ&lt;br /&gt;
|No Forced Preemption (Server)&lt;br /&gt;
|32&lt;br /&gt;
|-&lt;br /&gt;
|x86_64&lt;br /&gt;
|Generic-x86-64&lt;br /&gt;
|(-mtune=generic ; SIMD assembly modules enabled based on simple compile test and/or presence of CPU flag)&lt;br /&gt;
|300 HZ&lt;br /&gt;
|Voluntary Kernel Preemption (Desktop)&lt;br /&gt;
|64&lt;br /&gt;
|-&lt;br /&gt;
|x86&lt;br /&gt;
|586/K5/5x86/6x86/6x86MX&lt;br /&gt;
|(-mtune=generic ; SIMD assembly modules enabled based on simple compile test and/or presence of CPU flag)&lt;br /&gt;
|300 HZ&lt;br /&gt;
|Voluntary Kernel Preemption (Desktop)&lt;br /&gt;
|32&lt;br /&gt;
|-&lt;br /&gt;
|armhf&lt;br /&gt;
|&lt;br /&gt;
* ARMv7 based platforms (Cortex-A, PJ4, Scorpion, Krait)&lt;br /&gt;
* Freescale i.MX family -- Cortex A (i.MX51, i.MX53, i.MX6 Quad/DualLite, i.MX6 SoloLite, i.MX6 SoloX, i.MX6 UltraLite, i.MX7 Dual)&lt;br /&gt;
* Qualcomm -- (MSM8X60, MSM8960, MSM8974)&lt;br /&gt;
* Allwinner SoCs -- (A10 (sun4i), A10s / A13 (sun5i), A31 (sun6i), A20 (sun7i), sun8i Family, (sun9i))&lt;br /&gt;
* ARM Ldt Versatile Express family -- &lt;br /&gt;
|Either &amp;lt;code&amp;gt;-march=armv7-a&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-march=armv5t -Wa,-march=armv7-a&amp;lt;/code&amp;gt; based on a compile test. &amp;lt;code&amp;gt;-mfpu=vfp&amp;lt;/code&amp;gt;&lt;br /&gt;
|100 Hz&lt;br /&gt;
|Voluntary Kernel Preemption (Desktop)&lt;br /&gt;
|32&lt;br /&gt;
|-&lt;br /&gt;
|aarch64&lt;br /&gt;
|&lt;br /&gt;
* Allwinner sunxi 64-bit SoC Family&lt;br /&gt;
* Broadcom BCM2835 family&lt;br /&gt;
* Marvell Berlin SoC Family&lt;br /&gt;
* ARMv8 based Samsung Exynos SoC family&lt;br /&gt;
* ARMv8 based Freescale Layerscape SoC family&lt;br /&gt;
* Hisilicon SoC Family&lt;br /&gt;
* Mediatek MT65xx &amp;amp; MT81xx ARMv8 SoC&lt;br /&gt;
* Marvell EBU SoC Family&lt;br /&gt;
* Qualcomm Platforms&lt;br /&gt;
* Rockchip Platforms&lt;br /&gt;
* AMD Seattle SoC Family&lt;br /&gt;
* Altera&#039;s Stratix 10 SoCFPGA Family&lt;br /&gt;
* NVIDIA Tegra SoC Family&lt;br /&gt;
* Spreadtrum SoC platform&lt;br /&gt;
* Cavium Inc. Thunder SoC Family&lt;br /&gt;
* ARMv8 software model (Versatile Express)&lt;br /&gt;
* AppliedMicro X-Gene SOC Family&lt;br /&gt;
* Xilinx ZynqMP Family&lt;br /&gt;
|&lt;br /&gt;
|300 HZ&lt;br /&gt;
|Voluntary Kernel Preemption (Desktop)&lt;br /&gt;
|64&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
If you do desktop multitasking, you may want to switch to Voluntary Kernel Preemption (Desktop) or Preemptible Kernel (Low-Latency Desktop) and up the Timer Frequency.  If you run a dedicated render farm node or a dedicated bitcoin miner use No Forced Preemption (Server) and decrease the Timer Frequency.&lt;br /&gt;
&lt;br /&gt;
Optimized modules (most are already compiled as modules):&lt;br /&gt;
* raid6 -- altivec, avx512, ssse3, avx2, mmx, sse, sse2, neon&lt;br /&gt;
* some operations of raid5 -- mmx (32 bit), sse (64 bit), avx&lt;br /&gt;
For Kernel API:&lt;br /&gt;
* 32-bit memcpy -- 3dnow&lt;br /&gt;
* 32-bit memory page clearing and copying -- sse (Athlon/K7 only), mmx&lt;br /&gt;
From x86/crypto, arm/crypto, powerpc/crypto:&lt;br /&gt;
* CAMELLIA -- avx2, avx, aes-ni&lt;br /&gt;
* CHACHA20 -- avx2, neon&lt;br /&gt;
* CAST5 -- avx&lt;br /&gt;
* CAST6 -- avx&lt;br /&gt;
* TWOFISH -- avx&lt;br /&gt;
* SERPENT -- avx2, avx, sse2&lt;br /&gt;
* SHA1 -- avx2, ssse3, neon, spe&lt;br /&gt;
* SHA2 -- avx2&lt;br /&gt;
* SHA256 -- ssse3, neon, spe&lt;br /&gt;
* SHA512 -- avx2, ssse3, neon&lt;br /&gt;
* POLY1305 -- avx2&lt;br /&gt;
* GHASH -- pclmulqdq (part of aes-ni), vmx (power8)&lt;br /&gt;
* AES -- aes-ni, neon, vmx (power8), spe&lt;br /&gt;
* CRC32 -- pclmulqdq, sse, neon, vmx (power8)&lt;br /&gt;
* CRCT10DIF -- pclmulqdq, sse, neon, vmx (power8)&lt;br /&gt;
&lt;br /&gt;
=== Fast reboots with kexec ===&lt;br /&gt;
{{main|kexec}}&lt;br /&gt;
&lt;br /&gt;
If you want to reboot the kernel fast avoiding the POST test, you need {{ic|doas apk add {{pkg|kexec-tools}}}} and enable kexec in the kernel:&lt;br /&gt;
&lt;br /&gt;
  Processor type and features&lt;br /&gt;
    [*] kexec system call&lt;br /&gt;
&lt;br /&gt;
=== Hibernation to prevent data loss ===&lt;br /&gt;
&lt;br /&gt;
  Power management and ACPI options&lt;br /&gt;
    [*] Hibernation (aka &#039;suspend to disk&#039;)&lt;br /&gt;
&lt;br /&gt;
Hibernation should be used if you have a laptop.  You don&#039;t want the laptop to suddenly shut off resulting in data loss, you want it to save your work based on a percentage of battery life (this requires special script).  When hibernation resumes, should lock and ask for credentials.  Depending on your needs, the hibernated image can be encrypted/decrypted which again requires additional customization to scripts.&lt;br /&gt;
&lt;br /&gt;
Hibernation with an unsanitized swap file is generally insecure because data and unlocked memory pages are swapped out in plaintext.  To increase the security either disable swap or use an encrypted swap.  The swap file/partition is typically used as the hibernation resume image.&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
Before building, you may want to remove as many modules as possible.  This will reduce the time to compile greatly.  Also, you may want to use [https://github.com/ccache/ccache/ ccache] for faster recompiles especially if you are searching for the minimal set of options or modules to use or include.&lt;br /&gt;
&lt;br /&gt;
You should then do an &amp;lt;code&amp;gt;abuild -r&amp;lt;/code&amp;gt; to attempt to build it.&lt;br /&gt;
&lt;br /&gt;
== Installing ==&lt;br /&gt;
&lt;br /&gt;
To install it you do a {{ic|doas apk add linux-NAME}} where NAME is your custom kernel name.&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
&lt;br /&gt;
Before you test, you should install the lts kernel too, using &amp;lt;code&amp;gt;apk add {{pkg|linux-lts}}&amp;lt;/code&amp;gt;.  You may be missing a module and can&#039;t boot, so you use the other kernel as the fallback boot kernel.  Don&#039;t forget to update your bootloader configuration.&lt;br /&gt;
&lt;br /&gt;
To test, first you should make a bootable Alpine USB image.  Then, when you have your rescue USB done, you &amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt; the computer.&lt;br /&gt;
&lt;br /&gt;
To test it, you basically do trial and error.  Sometimes your config is missing something if you want to have a bare minimum setting.&lt;br /&gt;
&lt;br /&gt;
If you are curious about correctness testing, some kernel modules or components do preform self tests at the beginning of the boot process.  The tools may have test suites that you run with the make command.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [https://wiki.archlinux.org/title/Kernel Archwiki Kernels]&lt;br /&gt;
* [https://wiki.gentoo.org/wiki/Kernel Gentoo Wiki Kernel]&lt;br /&gt;
* [https://wiki.gentoo.org/wiki/Kernel/Configuration Gentoo Wiki Kernel Configuration]&lt;br /&gt;
* [[How to build the Alpine Linux kernel]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Kernel]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Kernels&amp;diff=28271</id>
		<title>Kernels</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Kernels&amp;diff=28271"/>
		<updated>2024-12-11T03:36:53Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Alpine Linux has several kernels (see {{Pkg|linux-*}}) designed to suit different situations.&lt;br /&gt;
&lt;br /&gt;
* {{Pkg|linux-lts}} is the stock modular kernel and is configured for a generous selection of hardware.&lt;br /&gt;
* {{Pkg|linux-virt}} ({{Pkg|linux-lts}}, see the -virt configs) is recommended for Alpine Linux guests, and disables most hardware in favor of a commonly-virtualized subset of drivers.&lt;br /&gt;
* {{pkg|linux-rpi|arch=}} is optimized for the Raspberry Pi. For alpine 3.18 and older there is also {{pkg|linux-rpi2|branch=v3.18|arch=}} and {{pkg|linux-rpi4|branch=v3.18|arch=}} optimized for the raspberry pi 2 and 4 respectively. See {{issue|15324}} for future plans.&lt;br /&gt;
&lt;br /&gt;
For installing a custom kernel, see [[Custom Kernel]]. To select a specific kernel or firmware packages during installation from the Alpine ISO, simply install the desired kernel flavor and firmware packages with {{ic|apk add}} before running {{ic|setup-alpine}}.&lt;br /&gt;
&lt;br /&gt;
== Firmware ==&lt;br /&gt;
&lt;br /&gt;
The {{Pkg|linux-firmware}} meta-package is included in the [[Installation|default installation]], and depends on all firmware. It is a large download. You may be better served by installing only the firmware you need (see {{Pkg|linux-firmware-*}}), or {{Pkg|linux-firmware-none}} if you do not require any firmware. If you&#039;re unsure which firmware you need, boot with no firmware installed and run {{ic|dmesg &amp;amp;vert; grep firmware}} to get an idea. Be aware that most firmware is non-free.&lt;br /&gt;
&lt;br /&gt;
== Experimental Kernels ==&lt;br /&gt;
&lt;br /&gt;
Some kernels are not well tested and are therefor only available in the testing repository. Use at own risk.&lt;br /&gt;
&lt;br /&gt;
* {{pkg|linux-asahi|arch=aarch64}} for Apple silicon&lt;br /&gt;
* {{pkg|linux-elm|arch=aarch64}} for elm chromebooks&lt;br /&gt;
* {{pkg|linux-gru|arch=aarch64}} for gru chromebooks&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[How to build the Alpine Linux kernel]]&lt;br /&gt;
* [https://wiki.archlinux.org/title/Kernel Kernel - Archwiki]&lt;br /&gt;
&lt;br /&gt;
[[category:Kernel]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Tutorials_and_Howtos&amp;diff=28270</id>
		<title>Tutorials and Howtos</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Tutorials_and_Howtos&amp;diff=28270"/>
		<updated>2024-12-11T03:14:32Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: add Kernels howto&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Todo|This material has been re-organized..., but grouping should be checked: &#039;&#039;&#039;Howtos are smaller articles&#039;&#039;&#039; and &#039;&#039;&#039;tutorials are more detailed document&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
[[Image:package_edutainment.svg|right|link=]]&lt;br /&gt;
{{TOC left}}&lt;br /&gt;
&#039;&#039;&#039;Welcome to Tutorials and Howtos, a place of basic and advanced configuration tasks for your Alpine Linux.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The tutorials are hands-on&#039;&#039;&#039; and the reader is expected to try and achieve the goals described in each step, possibly with the help of a good example. The output in one step is the starting point for the following step.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Howtos are smaller articles&#039;&#039;&#039; explaining how to perform a particular task with Alpine Linux, that expects a minimal knowledge from reader to perform actions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039; contributions on those pages must be complete articles as well as requesting topics to be covered, don&#039;t override already made contributions. If you want to request a topic, please add your request in this page&#039;s [[Talk:Tutorials_and_Howtos|Discussion]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
= Howtos =&lt;br /&gt;
&lt;br /&gt;
== Applications ==&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
&lt;br /&gt;
* [[Ansible]] &#039;&#039;(Configuration management)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Monitoring ===&lt;br /&gt;
&lt;br /&gt;
* [[Awstats]] &#039;&#039;(Free log file analyzer)&#039;&#039;&lt;br /&gt;
* [[Cacti: traffic analysis and monitoring network]] &#039;&#039;(Front-end for rrdtool networking monitor)&#039;&#039;&lt;br /&gt;
* [[Cvechecker]] &#039;&#039;(Compare installed packages for Common Vulnerabilities Exposure)&#039;&#039; &amp;lt;!-- Monitoring and Security --&amp;gt;&lt;br /&gt;
* [[Linfo]]&lt;br /&gt;
* [[Obtaining user information via SNMP]] &#039;&#039;(Using squark-auth-snmp as a Squid authentication helper)&#039;&#039; &amp;lt;!-- Networking and Server, &amp;lt;== Using squark-auth-snmp --&amp;gt;&lt;br /&gt;
* [[PhpSysInfo]] &#039;&#039;(A simple application that displays information about the host it&#039;s running on)&#039;&#039;&lt;br /&gt;
* [[Matomo]] &#039;&#039;(A real time web analytics software program)&#039;&#039;&lt;br /&gt;
* [[Setting up A Network Monitoring and Inventory System]] &#039;&#039;(Nagios + OpenAudit and related components)&#039;&#039; &amp;lt;!-- draft, solution, Networking and Monitoring and Server --&amp;gt;&lt;br /&gt;
** [[Setting up NRPE daemon]] &#039;&#039;(Performs remote Nagios checks)&#039;&#039; &amp;lt;!-- Networking and Monitoring --&amp;gt;&lt;br /&gt;
* [[Setting Up Fprobe And Ntop|Ntop]] &#039;&#039;(NetFlow collection and analysis using a remote fprobe instance; for alpine 3.10-3.12 only)&#039;&#039; &amp;lt;!-- Networking and Monitoring --&amp;gt;&lt;br /&gt;
* [[Setting up lm_sensors]]&lt;br /&gt;
* [[SqStat]] &#039;&#039;(Script to look at active squid users connections)&#039;&#039;&lt;br /&gt;
* [[Traffic monitoring]] &amp;lt;!-- Networking and Monitoring --&amp;gt;&lt;br /&gt;
** [[Setting up monitoring using rrdtool (and rrdcollect)]]&lt;br /&gt;
** [[Setting up traffic monitoring using rrdtool (and snmp)]] &amp;lt;!-- Monitoring --&amp;gt;&lt;br /&gt;
* [[Zabbix|Zabbix - the professional complete manager]] &#039;&#039;(Monitor and track the status of network services and hardware)&#039;&#039;&lt;br /&gt;
* [[ZoneMinder video camera security and surveillance]]&lt;br /&gt;
&lt;br /&gt;
=== Networking ===&lt;br /&gt;
&lt;br /&gt;
* Alpine Wall &#039;&#039;(a new firewall management framework)&#039;&#039;&lt;br /&gt;
** [[Alpine Wall]]&lt;br /&gt;
** [https://git.alpinelinux.org/awall/about/ Alpine Wall User&#039;s Guide]&lt;br /&gt;
** [[How-To Alpine Wall]]&lt;br /&gt;
* [[Freeradius Active Directory Integration]]&lt;br /&gt;
* [[GNUnet]]&lt;br /&gt;
* [[Setting up a OpenVPN server|OpenVPN server]] &#039;&#039;(Allowing single users or devices to remotely connect to your network)&#039;&#039;&lt;br /&gt;
* [[OpenVSwitch]]&lt;br /&gt;
* [[Using Alpine on Windows domain with IPSEC isolation]]&lt;br /&gt;
* [[Configure a Wireguard interface (wg)|Wireguard]]&lt;br /&gt;
&lt;br /&gt;
=== Telephony ===&lt;br /&gt;
&lt;br /&gt;
* [[FreePBX|FreePBX on Alpine Linux]]&lt;br /&gt;
* [[Setting up Zaptel/Asterisk on Alpine]]&lt;br /&gt;
* [[Kamailio]] &#039;&#039;(SIP Server, formerly OpenSER)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Backup and data migration ==&lt;br /&gt;
&lt;br /&gt;
* [[Alpine local backup|Alpine local backup (lbu)]] &#039;&#039;(Permanently store your modifications in case your box needs reboot)&#039;&#039;&lt;br /&gt;
** [[Back Up a Flash Memory Installation]]&lt;br /&gt;
** [[Manually editing a existing apkovl]]&lt;br /&gt;
* [[Migrating data]]&lt;br /&gt;
* [[Rsnapshot]] - setting up periodic backups&lt;br /&gt;
&lt;br /&gt;
== Desktop ==&lt;br /&gt;
* [[Daily driver guide]]&lt;br /&gt;
* [[Alpine and UEFI]]&lt;br /&gt;
* [[Default applications]]&lt;br /&gt;
* Desktop cloud&lt;br /&gt;
** [[Nextcloud]] &#039;&#039;(Self hostable cloud suite - Dropbox Alternative)&#039;&#039;&lt;br /&gt;
* [[Desktop environments and Window managers]] (overall information only)&lt;br /&gt;
* [[Gaming on Alpine]]&lt;br /&gt;
* [[Printer Setup]]&lt;br /&gt;
* [[Remote Desktop Server]]&lt;br /&gt;
* Sound Systems&lt;br /&gt;
** [[ALSA]]&lt;br /&gt;
** [[PipeWire]]&lt;br /&gt;
** [[PulseAudio]]&lt;br /&gt;
&lt;br /&gt;
== Power management ==&lt;br /&gt;
&lt;br /&gt;
* [[Configure action when power-button is pressed]]&lt;br /&gt;
* [[Suspend on LID close]]&lt;br /&gt;
* [[Configure Wake-on-LAN]]&lt;br /&gt;
&lt;br /&gt;
== Kernel ==&lt;br /&gt;
&lt;br /&gt;
* [[How to build the Alpine Linux kernel]]&lt;br /&gt;
&lt;br /&gt;
== Networking ==&lt;br /&gt;
&lt;br /&gt;
* [[Bluetooth]] - Instructions for installing and configuring Bluetooth&lt;br /&gt;
* [[Bonding]] - Bond (or aggregate) multiple ethernet interfaces&lt;br /&gt;
* [[Bridge]] - Configuring a network bridge&lt;br /&gt;
** [[Bridge wlan0 to eth0]]&lt;br /&gt;
* [[Configure Networking]]&lt;br /&gt;
* [[How to configure static routes]]&lt;br /&gt;
* Modem&lt;br /&gt;
** [[Using HSDPA modem]]&lt;br /&gt;
** [[Using serial modem]]&lt;br /&gt;
* [[mDNS]] - Howto implement multicast DNS resolution in Alpine. &lt;br /&gt;
* [[Multi ISP]] &#039;&#039;(Dual-ISP setup with load-balancing and automatic failover)&#039;&#039;&lt;br /&gt;
* [[PXE boot]]&lt;br /&gt;
* Wi-Fi&lt;br /&gt;
** [[Wi-Fi|Connecting to a wireless access point]]&lt;br /&gt;
** [[How to setup a wireless access point]] &#039;&#039;(Setting up Secure Wireless AP w/ WPA encryption with bridge to wired network)&#039;&#039;&lt;br /&gt;
* [[VLAN]]&lt;br /&gt;
&lt;br /&gt;
== Other Architectures ==&lt;br /&gt;
&lt;br /&gt;
=== ARM ===&lt;br /&gt;
&lt;br /&gt;
* [[Alpine on ARM]]&lt;br /&gt;
&lt;br /&gt;
==== Raspberry Pi ====&lt;br /&gt;
&lt;br /&gt;
* [[Raspberry Pi Bluetooth Speaker|Raspberry Pi - Bluetooth Speaker]]&lt;br /&gt;
* [[Raspberry Pi|Raspberry Pi - Installation]]&lt;br /&gt;
* [[Linux Router with VPN on a Raspberry Pi|Raspberry Pi - Router with VPN]]&lt;br /&gt;
* [[Linux Router with VPN on a Raspberry Pi (IPv6)|Raspberry Pi - Router with VPN (IPv6)]]&lt;br /&gt;
* [[Classic install or sys mode on Raspberry Pi|Raspberry Pi - Sys mode install]]&lt;br /&gt;
* [[Raspberry Pi LVM on LUKS|Raspberry Pi - Sys mode install - LVM on LUKS]]&lt;br /&gt;
* [[RPI Video Receiver|Raspberry Pi - Video Receiver]] &#039;&#039;(network video decoder using Rasperry Pi and omxplayer)&#039;&#039;&lt;br /&gt;
* [[Raspberry Pi 3 - Browser Client]] - kiosk or digital sign&lt;br /&gt;
* [[Raspberry Pi 3 - Configuring it as wireless access point -AP Mode]]&lt;br /&gt;
* [[Raspberry Pi 3 - Setting Up Bluetooth]]&lt;br /&gt;
* [[Raspberry Pi 4 - Persistent system acting as a NAS and Time Machine]]&lt;br /&gt;
* [[How to set up Alpine as a wireless router|Raspberry Pi Zero W - Wireless router]] &#039;&#039;(Setting up a firewalled, Wireless AP with wired network on a Pi Zero W)&#039;&#039;&lt;br /&gt;
* [[RPI Video Receiver]]&lt;br /&gt;
&lt;br /&gt;
=== IBM Z (IBM z Systems) ===&lt;br /&gt;
&lt;br /&gt;
* [[s390x|s390x - Installation]]&lt;br /&gt;
&lt;br /&gt;
=== PowerPC ===&lt;br /&gt;
&lt;br /&gt;
* [[Ppc64le|Powerpc64le - Installation]]&lt;br /&gt;
&lt;br /&gt;
== Post-Install ==&lt;br /&gt;
&lt;br /&gt;
* [[CPU frequency scaling]]&lt;br /&gt;
* [[Repositories#Enabling_the_community_repository|Enable Community repository]] &#039;&#039;(Providing additional packages)&#039;&#039;&lt;br /&gt;
* [[Enable Serial Console on Boot]]&lt;br /&gt;
* [[Alpine Linux Init System|Init System (OpenRC)]] &#039;&#039;(Configure a service to automatically boot at next reboot)&#039;&#039;&lt;br /&gt;
** [[Multiple Instances of Services|Init System - Multiple Instances of Services]]&lt;br /&gt;
** [[Writing Init Scripts|Init System - Writing Init Scripts]]&lt;br /&gt;
* [[Installing Oracle Java|Oracle Java (installation)]]&lt;br /&gt;
* [[IGMPproxy]]&lt;br /&gt;
* [[Alpine Package Keeper|Package Management (apk)]] &#039;&#039;(How to add/remove packages on your Alpine)&#039;&#039;&lt;br /&gt;
** [[Comparison with other distros|Package Management - Comparison with other distros]]&lt;br /&gt;
* [[Running glibc programs]]&lt;br /&gt;
* [[Setting up a new user]]&lt;br /&gt;
* [[Upgrading Alpine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Remote Administration ==&lt;br /&gt;
&lt;br /&gt;
* ACF&lt;br /&gt;
** [[Changing passwords for ACF|ACF - changing passwords]]&lt;br /&gt;
** [[Generating SSL certs with ACF]] &amp;lt;!-- Generating SSL certs with ACF 1.9 --&amp;gt;&lt;br /&gt;
** [[setup-acf| ACF - setup]] &#039;&#039;(Configures ACF (webconfiguration/webmin) so you can manage your box through https)&#039;&#039;&lt;br /&gt;
* [[Setting up a SSH server]] &#039;&#039;(Using ssh is a good way to administer your box remotely)&#039;&#039;&lt;br /&gt;
** [[HOWTO OpenSSH 2FA with password and Google Authenticator |OpenSSH 2FA]] &#039;&#039;(A simple two factor setup for OpenSSH)&#039;&#039;&lt;br /&gt;
* [[OpenVCP]] &#039;&#039;(VServer Control Panel)&#039;&#039;&lt;br /&gt;
* [[PhpMyAdmin]] &#039;&#039;(Web-based administration tool for MYSQL)&#039;&#039;&lt;br /&gt;
* [[PhpPgAdmin]] &#039;&#039;(Web-based administration tool for PostgreSQL)&#039;&#039;&lt;br /&gt;
* [[Webmin]] &#039;&#039;(A web-based interface for Linux system)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
&lt;br /&gt;
* [[Hosting services on Alpine]] &#039;&#039;(Hosting mail, webservices and other services)&#039;&#039;&lt;br /&gt;
* [[Hosting Web/Email services on Alpine]]&lt;br /&gt;
&lt;br /&gt;
=== DNS ===&lt;br /&gt;
&lt;br /&gt;
* [[DNSCrypt-Proxy]] &#039;&#039;Encrypt and authenticate DNS calls from your system&#039;&#039;&lt;br /&gt;
* [[Setting up nsd DNS server]]&lt;br /&gt;
* [[Setting up unbound DNS server]]&lt;br /&gt;
* [[TinyDNS Format]]&lt;br /&gt;
&lt;br /&gt;
=== HTTP ===&lt;br /&gt;
&lt;br /&gt;
* [[Apache]]&lt;br /&gt;
** [[Apache with php-fpm]]&lt;br /&gt;
** [[Setting Up Apache with PHP]]&lt;br /&gt;
** [[Apache authentication: NTLM Single Signon]]&lt;br /&gt;
* [[Darkhttpd]]&lt;br /&gt;
* [[Lighttpd]]&lt;br /&gt;
** [[Lighttpd Advanced security]]&lt;br /&gt;
** [[Setting Up Lighttpd With FastCGI]]&lt;br /&gt;
* [[Nginx]]&lt;br /&gt;
** [[Nginx as reverse proxy with acme (letsencrypt)]]&lt;br /&gt;
** [[Nginx with PHP]]&lt;br /&gt;
* Squid Proxy&lt;br /&gt;
** [[Obtaining user information via SNMP]] &#039;&#039;(Using squark-auth-snmp as a Squid authentication helper)&#039;&#039; &amp;lt;!-- Networking and Server, &amp;lt;== Using squark-auth-snmp --&amp;gt;&lt;br /&gt;
** [[Setting up Explicit Squid Proxy]]&lt;br /&gt;
** [[Setting up Transparent Squid Proxy]] &#039;&#039;(Covers Squid proxy and URL Filtering system)&#039;&#039;&lt;br /&gt;
** [[SqStat]] &#039;&#039;(Script to look at active squid users connections)&#039;&#039;&lt;br /&gt;
* [[Tomcat]]&lt;br /&gt;
&lt;br /&gt;
==== Hostable Content ====&lt;br /&gt;
&lt;br /&gt;
* [[DokuWiki]]&lt;br /&gt;
* [[Drupal]] &#039;&#039;(Content Management System (CMS) written in PHP)&#039;&#039;&lt;br /&gt;
* [[Kopano]] &#039;&#039;(Microsoft Outlook compatible Groupware)&#039;&#039;&lt;br /&gt;
* [[Mahara]] &#039;&#039;(E-portfolio and social networking system)&#039;&#039;&lt;br /&gt;
* [[MediaWiki]] &#039;&#039;(Free web-based wiki software application)&#039;&#039;&lt;br /&gt;
* [[Pastebin]] &#039;&#039;(Pastebin software application)&#039;&#039;&lt;br /&gt;
* [[WordPress]] &#039;&#039;(Web software to create website or blog)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== IRC ===&lt;br /&gt;
&lt;br /&gt;
* [[NgIRCd]] &#039;&#039;(Server for Internet Relay Chat/IRC)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Mail ===&lt;br /&gt;
&lt;br /&gt;
* Exim/Dovecot&lt;br /&gt;
** [[Small-Time Email with Exim and Dovecot]] &#039;&#039;(A simple configuration for your home network.)&lt;br /&gt;
** [[Setting up dovecot with imap and tls]]&lt;br /&gt;
* [[relay email to gmail (msmtp, mailx, sendmail]]&lt;br /&gt;
* [[Roundcube]] &#039;&#039;(Webmail system)&#039;&#039;&lt;br /&gt;
* [[Setting up postfix with virtual domains]]&lt;br /&gt;
* Server protection&lt;br /&gt;
** [[Setting up clamsmtp]]&lt;br /&gt;
&lt;br /&gt;
=== Other Servers ===&lt;br /&gt;
&lt;br /&gt;
* [[apcupsd]] &#039;&#039;(UPS Monitoring with apcupsd)&#039;&#039;&lt;br /&gt;
* [[Chrony and GPSD | Chrony, gpsd, and a garmin LVC 18 as a Stratum 1 NTP source ]]&lt;br /&gt;
* [[Glpi]] &#039;&#039;(Manage inventory of technical resources)&#039;&#039;&lt;br /&gt;
* [[How to setup a Alpine Linux mirror]]&lt;br /&gt;
* [[Setting up an NFS server|nfs-server]]&lt;br /&gt;
* [[nut-ups|NUT UPS]] &#039;&#039;(UPS Monitoring with Network UPS Tools)&#039;&#039;&lt;br /&gt;
* [[Odoo]]&lt;br /&gt;
* [[Configure OpenLDAP | OpenLDAP]] &#039;&#039;(Installing and configuring the Alpine package for OpenLDAP)&#039;&#039;&lt;br /&gt;
* [[Setting up a LLDAP server|lldap-server]] &#039;&#039;(Directory Server)&#039;&#039;&lt;br /&gt;
* [[Setting up a samba-ad-dc|samba-ad-dc]] &#039;&#039;(Active Directory compatible domain controller)&#039;&#039;&lt;br /&gt;
* [[Setting up a Samba server|samba-server]] &#039;&#039;(standard file sharing)&#039;&#039;&lt;br /&gt;
* [[Setting up Transmission (bittorrent) with Clutch WebUI]]&lt;br /&gt;
&lt;br /&gt;
=== Software development ===&lt;br /&gt;
&lt;br /&gt;
* [[Cgit]]&lt;br /&gt;
* [[OsTicket]] &#039;&#039;(Ticket system)&#039;&#039;&lt;br /&gt;
* [[Patchwork]] &#039;&#039;(Patch review management system)&#039;&#039;&lt;br /&gt;
* [[Redmine]] &#039;&#039;(Project management system)&#039;&#039;&lt;br /&gt;
* [[Request Tracker]] &#039;&#039;(Ticket system)&#039;&#039;&lt;br /&gt;
* [[Setting up trac wiki|Trac]] &#039;&#039;(Enhanced wiki and issue tracking system for software development projects)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Storage ==&lt;br /&gt;
&lt;br /&gt;
* [[Setting up disks manually|Manual partitioning]]&lt;br /&gt;
* [[Disk Replication with DRBD|DRBD: Disk Replication]]&lt;br /&gt;
* [[Filesystems]]&lt;br /&gt;
** [[Burning ISOs]]&lt;br /&gt;
* [[Setting up iSCSI|iSCSI Setup]]&lt;br /&gt;
** [[iSCSI Raid and Clustered File Systems]]&lt;br /&gt;
** [[Linux iSCSI Target (TCM)|iSCSI Target (TCM)/LinuxIO (LIO)]]&lt;br /&gt;
** [[Linux iSCSI Target (tgt)|User space iSCSI Target (tgt)]]&lt;br /&gt;
* [[Setting up Logical Volumes with LVM|LVM Setup]]&lt;br /&gt;
** [[Setting up LVM on GPT-labeled disks|LVM on GPT-labeled disks]]&lt;br /&gt;
** [[Installing on GPT LVM|LVM on GPT-labeled disks (updated)]]&lt;br /&gt;
** [[LVM on LUKS]]&lt;br /&gt;
* RAID&lt;br /&gt;
** [[Raid Administration]]&lt;br /&gt;
** [[Setting up a software RAID array]]&lt;br /&gt;
* ZFS&lt;br /&gt;
** [[Root on ZFS with native encryption]]&lt;br /&gt;
** [[Setting up ZFS on LUKS]]&lt;br /&gt;
** [[Setting up ZFS with native encryption]]&lt;br /&gt;
** [[ZFS scrub and trim]]&lt;br /&gt;
* [[CEPH|CEPH]]&lt;br /&gt;
&lt;br /&gt;
== Virtualization ==&lt;br /&gt;
&lt;br /&gt;
* [[Docker]]&lt;br /&gt;
* [[Installing Alpine in a virtual machine]]&lt;br /&gt;
** [[Install Alpine on VMware ESXi]]&lt;br /&gt;
* [[KVM]] &#039;&#039;(Setting up Alpine as a KVM hypervisor)&#039;&#039;&lt;br /&gt;
* [[LXC]] &#039;&#039;(Setting up a Linux container in Alpine Linux)&#039;&#039;&lt;br /&gt;
* [[QEMU]]&lt;br /&gt;
* Xen&lt;br /&gt;
** [[Xen Dom0]] &#039;&#039;(Setting up Alpine as a dom0 for Xen hypervisor)&#039;&#039;&lt;br /&gt;
** [[Xen Dom0 on USB or SD]]&lt;br /&gt;
** [[Create Alpine Linux PV DomU|Xen DomU (paravirtualized)]]&lt;br /&gt;
** [[Xen LiveCD]]&lt;br /&gt;
** [[Xen PCI Passthrough]]&lt;br /&gt;
&lt;br /&gt;
= Tutorials =&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&lt;br /&gt;
* [[TTY_Autologin|TTY Autologin]]&lt;br /&gt;
* [[Kexec|Faster rebooting with kexec]]&lt;br /&gt;
* [[Dynamic Multipoint VPN (DMVPN)]] combined with [[Small Office Services]]&lt;br /&gt;
* [[DIY Fully working Alpine Linux for Allwinner and Other ARM SOCs]]&lt;br /&gt;
* [[Fault Tolerant Routing with Alpine Linux]]&lt;br /&gt;
* [[High Availability High Performance Web Cache]] &#039;&#039;(uCarp + HAProxy for High Availability Services such as Squid web proxy)&#039;&#039;&lt;br /&gt;
* [[Linux iSCSI Target (TCM)]]&lt;br /&gt;
* [[ISP Mail Server 3.x HowTo]] &#039;&#039;(Postfix+PostfixAdmin+DoveCot+Roundcube+ClamAV+Spamd - A full-service ISP mail server)&#039;&#039;&lt;br /&gt;
* [[Grommunio Mail Server]] &#039;&#039;(Mariadb+Postfix+Rspamd+Grommunio - Full-service mail server as MS exchange replacement)&#039;&#039;&lt;br /&gt;
* [[Replacing non-Alpine Linux with Alpine remotely]]&lt;br /&gt;
* [[Setting up A Network Monitoring and Inventory System]] &#039;&#039;(Nagios + OpenAudit and related components)&#039;&#039; &amp;lt;!-- draft --&amp;gt;&lt;br /&gt;
* [[Streaming Security Camera Video with VLC]]&lt;br /&gt;
* [[Install Alpine on a btrfs filesystem with refind as boot manager]]&lt;br /&gt;
* [[Compile software from source|How to Compile a software from source in Alpine Linux]]&lt;br /&gt;
&lt;br /&gt;
== Newbie corner ==&lt;br /&gt;
&lt;br /&gt;
* [[How to get regular stuff working]] &#039;&#039;some notes on need-to-know topics&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Servers ==&lt;br /&gt;
&lt;br /&gt;
* [[Alpine production deploy]]&lt;br /&gt;
** [[Production Web server: Lighttpd|Production web server: Lighttpd‎‎]]&lt;br /&gt;
** [[MySQL|Production database: MySQL]]&lt;br /&gt;
** [[Production LAMP system: Lighttpd + PHP + MySQL‎‎]]&lt;br /&gt;
* Alpine production monitoring&lt;br /&gt;
** [[Cacti: traffic analysis and monitoring network]]&lt;br /&gt;
** [[Zabbix|Zabbix - the professional complete manager]]&lt;br /&gt;
* Kubernetes&lt;br /&gt;
** [[K8s]] Building a K8s Cluster on Alpine Linux&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
&lt;br /&gt;
* [[Securing Alpine Linux]] How to Secure Alpine Linux using Security Technical Implementation Guides (STIGs)&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=How_to_build_the_Alpine_Linux_kernel&amp;diff=28269</id>
		<title>How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=How_to_build_the_Alpine_Linux_kernel&amp;diff=28269"/>
		<updated>2024-12-11T03:11:57Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: initial page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How to build the Alpine Linux kernel ==&lt;br /&gt;
&lt;br /&gt;
This [[Tutorials and Howtos|Howto]] quickly demonstrates building/compiling the default Alpine Linux [[Kernels|kernels]] &amp;quot;LTS&amp;quot; and &amp;quot;virt&amp;quot;. Alpine kernels extend the standard [https://www.kernel.org/linux.html Linux kernel] and build within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;, [https://gitlab.alpinelinux.org/alpine/aports aports], and [https://pkgs.alpinelinux.org/package/edge/main/x86_64/alpine-sdk alpine-sdk].&lt;br /&gt;
&lt;br /&gt;
Kernel customizations (not covered here) allow you to experiment by adding/removing kernel modules/features. Alpine releases multiple [https://alpinelinux.org/downloads/ downloads] which contain kernels that vary in features and file sizes.&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user with [https://pkgs.alpinelinux.org/package/edge/main/x86_64/doas doas] privileges (i.e. sudo, wheel group) are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doas apk add alpine-sdk&lt;br /&gt;
doas addgroup USERNAME abuild         # your non-root user&lt;br /&gt;
&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append --install&lt;br /&gt;
doas chmod a+r /etc/apk/keys/*        # ensure new keys are readable&lt;br /&gt;
&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Identify backup ===&lt;br /&gt;
&lt;br /&gt;
Identify the package name of your current kernel (e.g. linux-lts, linux-virt). This example shows that &#039;&#039;&#039;linux-lts&#039;&#039;&#039; is the current package that we would revert to as a backup.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
apk list --installed linux-*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-package2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
Find the newly-built kernel file to install. This example shows how to install a newly-built x86_64 LTS kernel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ls -r ~/packages/main/*&lt;br /&gt;
doas apk add FILENAME&lt;br /&gt;
doas reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-install.png|600px]]&lt;br /&gt;
&lt;br /&gt;
After rebooting, verify the newly-installed kernel version:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-new.png|320px]]&lt;br /&gt;
&lt;br /&gt;
=== Revert ===&lt;br /&gt;
If needed, revert to the previous backup kernel package we identified earlier. This example shows how to revert to the previous &amp;quot;alpine-lts&amp;quot; package after removing the newly-installed &amp;quot;alpine-lts&amp;quot; (both are named &amp;quot;alpine-lts&amp;quot; yet refer to different versions/locations):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk list linux-lts            # newly-compiled kernel installed&lt;br /&gt;
doas apk del linux-lts        # newly-compiled kernel from file&lt;br /&gt;
doas apk add linux-lts        # previous kernel from Alpine repo&lt;br /&gt;
apk list linux-lts            # previous kernel installed&lt;br /&gt;
doas reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-revert.png|465px]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel|Custom Kernel (2018-present)]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28268</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28268"/>
		<updated>2024-12-11T03:00:45Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How to build the Alpine Linux kernel ==&lt;br /&gt;
&lt;br /&gt;
This [[Tutorials and Howtos|Howto]] quickly demonstrates how to build and compile the default Alpine Linux [[Kernels|kernels]]. Kernel customizations (not covered here) allow you to experiment by adding/removing kernel modules/features. For example, Alpine releases multiple [[Kernels|kernels]] (e.g. LTS, virt) that vary in features and file sizes.  Alpine kernels extend the standard [https://www.kernel.org/linux.html Linux kernel] and build within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;, [https://gitlab.alpinelinux.org/alpine/aports aports], and [https://pkgs.alpinelinux.org/package/edge/main/x86_64/alpine-sdk alpine-sdk].&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user with [https://pkgs.alpinelinux.org/package/edge/main/x86_64/doas doas] privileges (i.e. sudo, wheel group) are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doas apk add alpine-sdk&lt;br /&gt;
doas addgroup USERNAME abuild         # your non-root user&lt;br /&gt;
&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append --install&lt;br /&gt;
doas chmod a+r /etc/apk/keys/*        # ensure new keys are readable&lt;br /&gt;
&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Identify backup ===&lt;br /&gt;
&lt;br /&gt;
Identify the package name of your current kernel (e.g. linux-lts, linux-virt). This example shows that &#039;&#039;&#039;linux-lts&#039;&#039;&#039; is the current package that we would revert to as a backup.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
apk list --installed linux-*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-package2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
Find the newly-built kernel file to install. This example shows how to install a newly-built x86_64 LTS kernel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ls -r ~/packages/main/*&lt;br /&gt;
doas apk add FILENAME&lt;br /&gt;
doas reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-install.png|600px]]&lt;br /&gt;
&lt;br /&gt;
After rebooting, verify the newly-installed kernel version:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-new.png|320px]]&lt;br /&gt;
&lt;br /&gt;
=== Revert ===&lt;br /&gt;
If needed, revert to the previous backup kernel package we identified earlier. This example shows how to revert to the previous &amp;quot;alpine-lts&amp;quot; package after removing the newly-installed &amp;quot;alpine-lts&amp;quot; (both are named &amp;quot;alpine-lts&amp;quot; yet refer to different versions/locations):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk list linux-lts            # newly-compiled kernel installed&lt;br /&gt;
doas apk del linux-lts        # newly-compiled kernel from file&lt;br /&gt;
doas apk add linux-lts        # previous kernel from Alpine repo&lt;br /&gt;
apk list linux-lts            # previous kernel installed&lt;br /&gt;
doas reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-revert.png|465px]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel|Custom Kernel (2018-present)]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28267</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28267"/>
		<updated>2024-12-11T03:00:01Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How to build the Alpine Linux kernel ==&lt;br /&gt;
&lt;br /&gt;
This [[Tutorials and Howtos|Howto]] quickly demonstrates how to build and compile the default Alpine Linux [[Kernels|kernels]] (currently &amp;quot;lts&amp;quot; and &amp;quot;virt&amp;quot;). Kernel customizations (not covered here) allow you to experiment by adding/removing kernel modules/features. For example, Alpine releases multiple [[Kernels|kernels]] that vary in features and file sizes.  Alpine kernels extend the standard [https://www.kernel.org/linux.html Linux kernel] and build within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;, [https://gitlab.alpinelinux.org/alpine/aports aports], and [https://pkgs.alpinelinux.org/package/edge/main/x86_64/alpine-sdk alpine-sdk].&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user with [https://pkgs.alpinelinux.org/package/edge/main/x86_64/doas doas] privileges (i.e. sudo, wheel group) are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doas apk add alpine-sdk&lt;br /&gt;
doas addgroup USERNAME abuild         # your non-root user&lt;br /&gt;
&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append --install&lt;br /&gt;
doas chmod a+r /etc/apk/keys/*        # ensure new keys are readable&lt;br /&gt;
&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Identify backup ===&lt;br /&gt;
&lt;br /&gt;
Identify the package name of your current kernel (e.g. linux-lts, linux-virt). This example shows that &#039;&#039;&#039;linux-lts&#039;&#039;&#039; is the current package that we would revert to as a backup.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
apk list --installed linux-*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-package2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
Find the newly-built kernel file to install. This example shows how to install a newly-built x86_64 LTS kernel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ls -r ~/packages/main/*&lt;br /&gt;
doas apk add FILENAME&lt;br /&gt;
doas reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-install.png|600px]]&lt;br /&gt;
&lt;br /&gt;
After rebooting, verify the newly-installed kernel version:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-new.png|320px]]&lt;br /&gt;
&lt;br /&gt;
=== Revert ===&lt;br /&gt;
If needed, revert to the previous backup kernel package we identified earlier. This example shows how to revert to the previous &amp;quot;alpine-lts&amp;quot; package after removing the newly-installed &amp;quot;alpine-lts&amp;quot; (both are named &amp;quot;alpine-lts&amp;quot; yet refer to different versions/locations):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk list linux-lts            # newly-compiled kernel installed&lt;br /&gt;
doas apk del linux-lts        # newly-compiled kernel from file&lt;br /&gt;
doas apk add linux-lts        # previous kernel from Alpine repo&lt;br /&gt;
apk list linux-lts            # previous kernel installed&lt;br /&gt;
doas reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-revert.png|465px]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel|Custom Kernel (2018-present)]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28266</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28266"/>
		<updated>2024-12-11T02:59:28Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How to build the Alpine Linux kernel ==&lt;br /&gt;
&lt;br /&gt;
This [[Tutorials and Howtos|Howto]] quickly demonstrates how to build and compile the default Alpine Linux [[Kernels|kernels]]. Kernel customizations (not covered here) allow you to experiment by adding/removing kernel modules/features. For example, Alpine releases multiple [[Kernels|kernels]] that vary in features and file sizes.  Alpine kernels extend the standard [https://www.kernel.org/linux.html Linux kernel] and build within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;, [https://gitlab.alpinelinux.org/alpine/aports aports], and [https://pkgs.alpinelinux.org/package/edge/main/x86_64/alpine-sdk alpine-sdk].&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user with [https://pkgs.alpinelinux.org/package/edge/main/x86_64/doas doas] privileges (i.e. sudo, wheel group) are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doas apk add alpine-sdk&lt;br /&gt;
doas addgroup USERNAME abuild         # your non-root user&lt;br /&gt;
&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append --install&lt;br /&gt;
doas chmod a+r /etc/apk/keys/*        # ensure new keys are readable&lt;br /&gt;
&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Identify backup ===&lt;br /&gt;
&lt;br /&gt;
Identify the package name of your current kernel (e.g. linux-lts, linux-virt). This example shows that &#039;&#039;&#039;linux-lts&#039;&#039;&#039; is the current package that we would revert to as a backup.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
apk list --installed linux-*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-package2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
Find the newly-built kernel file to install. This example shows how to install a newly-built x86_64 LTS kernel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ls -r ~/packages/main/*&lt;br /&gt;
doas apk add FILENAME&lt;br /&gt;
doas reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-install.png|600px]]&lt;br /&gt;
&lt;br /&gt;
After rebooting, verify the newly-installed kernel version:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-new.png|320px]]&lt;br /&gt;
&lt;br /&gt;
=== Revert ===&lt;br /&gt;
If needed, revert to the previous backup kernel package we identified earlier. This example shows how to revert to the previous &amp;quot;alpine-lts&amp;quot; package after removing the newly-installed &amp;quot;alpine-lts&amp;quot; (both are named &amp;quot;alpine-lts&amp;quot; yet refer to different versions/locations):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk list linux-lts            # newly-compiled kernel installed&lt;br /&gt;
doas apk del linux-lts        # newly-compiled kernel from file&lt;br /&gt;
doas apk add linux-lts        # previous kernel from Alpine repo&lt;br /&gt;
apk list linux-lts            # previous kernel installed&lt;br /&gt;
doas reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-revert.png|465px]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel|Custom Kernel (2018-present)]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=How_to_write_a_HOWTO&amp;diff=28265</id>
		<title>How to write a HOWTO</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=How_to_write_a_HOWTO&amp;diff=28265"/>
		<updated>2024-12-11T02:56:27Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: remove bold from how to template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you are reading this, it probably means you are interested in contributing a Howto or Tutorial to Alpine Linux Wiki. This is great! Just follow those simple steps and you will end up with a great howto in no time.&lt;br /&gt;
&lt;br /&gt;
== Writing the HOWTO ==&lt;br /&gt;
Know your readers and what you are trying to tell them to do and pay proper attention to name your page. Changing the name of pages in Wiki is not trivial.&lt;br /&gt;
#Login to Alpine Linux Wiki.{{tip|If you have never logged in, click the Log in / create account on the top-right, and then click the Create an account link.}}&lt;br /&gt;
#Read the basics of wiki editing with specific reference to Alpine Wiki at [[Help:Editing]]. &lt;br /&gt;
# If you are new to Wiki editing, use a subpage of your User namespace or use [[Sandbox]] to create a Temporary page first.&lt;br /&gt;
#Paste the [[#Basic_HOWTO_Template|Basic HOWTO Template]] into your new Temporary page.&lt;br /&gt;
#Follow the instructions in the template.&lt;br /&gt;
#Try as much as possible to refer existing wiki content for standard tasks like [[installation]], [[Setting_up_disks_manually#Manual partitioning|partitioning]], [[Setting_up_disks_manually#Formatting_partitions|formatting]], [[Setting_up_a_new_user#Creating_a_new_user|user management]], [[Repositories#Managing_repositories|managing repositories]] etc.. instead of repeating the same in your page. This avoids confusing users and prevents content fragmentation. &lt;br /&gt;
# Finally create the properly named HOWTO page as explained in [[Help:Editing]] and paste your content from the temporary page.&lt;br /&gt;
&lt;br /&gt;
== Learn to format Wiki text ==&lt;br /&gt;
*Refer [[Help:Editing]] to understand the Text Formatting Rules &lt;br /&gt;
*By clicking the Edit page button on Alpine Linux Wiki articles to read the source. Do not accidentally modify them.&lt;br /&gt;
*By experimenting in [[Sandbox]]&lt;br /&gt;
&lt;br /&gt;
== Basic HOWTO Template ==&lt;br /&gt;
&lt;br /&gt;
A WikiText skeleton of a basic HOWTO:&lt;br /&gt;
 == How To Do Something ==&lt;br /&gt;
 &lt;br /&gt;
 Summarize your article here so readers can decide&lt;br /&gt;
 quickly whether to read it.&lt;br /&gt;
 &lt;br /&gt;
 == Before You Start Title ==&lt;br /&gt;
 Your readers might need to get ready before they can do the work.&lt;br /&gt;
 If so explain those prerequisites first. This section might alternatively &lt;br /&gt;
 contain background information readers need to know before they can make &lt;br /&gt;
 sense of your example or carry out your instructions.&lt;br /&gt;
 &lt;br /&gt;
 == Doing Something Title ==&lt;br /&gt;
 Write the steps of how to do something in this section.&lt;br /&gt;
 If possible, show an example first, then tell your readers the steps.&lt;br /&gt;
 Break this procedure into separate procedures to avoid more than&lt;br /&gt;
 about 7-9 steps per procedure.&lt;br /&gt;
 &lt;br /&gt;
  INSERT GREAT EXAMPLE HERE&lt;br /&gt;
 &lt;br /&gt;
 #Answer the following three questions, at least in your head.&lt;br /&gt;
 ##What do I explain how to do?&lt;br /&gt;
 ##How do I do that?&lt;br /&gt;
 ##What do HOWTO readers already know about doing that?&lt;br /&gt;
 #Write up a good example. This ensures you can do it.&lt;br /&gt;
 #Write up the steps to do it.&lt;br /&gt;
 #Write the background info/prerequisites readers need.&lt;br /&gt;
 #Write the summary.&lt;br /&gt;
 #Clean up your work.&lt;br /&gt;
 # Add relevant [[Special:Categories|category]] to your page, as every page should be assigned at least one Category.&lt;br /&gt;
 #Revise, revise, revise.&lt;br /&gt;
 &lt;br /&gt;
 == See Also ==&lt;br /&gt;
 If you ought to point your readers to related information&lt;br /&gt;
 they no doubt need but that does not fit in your HOWTO, add links here.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
*[[Help:Editing]]&lt;br /&gt;
*[[Project:Wiki etiquette|Wiki etiquette]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Wiki]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=How_to_write_a_HOWTO&amp;diff=28264</id>
		<title>How to write a HOWTO</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=How_to_write_a_HOWTO&amp;diff=28264"/>
		<updated>2024-12-11T02:55:58Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: add link to howto template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you are reading this, it probably means you are interested in contributing a Howto or Tutorial to Alpine Linux Wiki. This is great! Just follow those simple steps and you will end up with a great howto in no time.&lt;br /&gt;
&lt;br /&gt;
== Writing the HOWTO ==&lt;br /&gt;
Know your readers and what you are trying to tell them to do and pay proper attention to name your page. Changing the name of pages in Wiki is not trivial.&lt;br /&gt;
#Login to Alpine Linux Wiki.{{tip|If you have never logged in, click the Log in / create account on the top-right, and then click the Create an account link.}}&lt;br /&gt;
#Read the basics of wiki editing with specific reference to Alpine Wiki at [[Help:Editing]]. &lt;br /&gt;
# If you are new to Wiki editing, use a subpage of your User namespace or use [[Sandbox]] to create a Temporary page first.&lt;br /&gt;
#Paste the [[#Basic_HOWTO_Template|&#039;&#039;&#039;Basic HOWTO Template&#039;&#039;&#039;]] into your new Temporary page.&lt;br /&gt;
#Follow the instructions in the template.&lt;br /&gt;
#Try as much as possible to refer existing wiki content for standard tasks like [[installation]], [[Setting_up_disks_manually#Manual partitioning|partitioning]], [[Setting_up_disks_manually#Formatting_partitions|formatting]], [[Setting_up_a_new_user#Creating_a_new_user|user management]], [[Repositories#Managing_repositories|managing repositories]] etc.. instead of repeating the same in your page. This avoids confusing users and prevents content fragmentation. &lt;br /&gt;
# Finally create the properly named HOWTO page as explained in [[Help:Editing]] and paste your content from the temporary page.&lt;br /&gt;
&lt;br /&gt;
== Learn to format Wiki text ==&lt;br /&gt;
*Refer [[Help:Editing]] to understand the Text Formatting Rules &lt;br /&gt;
*By clicking the Edit page button on Alpine Linux Wiki articles to read the source. Do not accidentally modify them.&lt;br /&gt;
*By experimenting in [[Sandbox]]&lt;br /&gt;
&lt;br /&gt;
== Basic HOWTO Template ==&lt;br /&gt;
&lt;br /&gt;
A WikiText skeleton of a basic HOWTO:&lt;br /&gt;
 == How To Do Something ==&lt;br /&gt;
 &lt;br /&gt;
 Summarize your article here so readers can decide&lt;br /&gt;
 quickly whether to read it.&lt;br /&gt;
 &lt;br /&gt;
 == Before You Start Title ==&lt;br /&gt;
 Your readers might need to get ready before they can do the work.&lt;br /&gt;
 If so explain those prerequisites first. This section might alternatively &lt;br /&gt;
 contain background information readers need to know before they can make &lt;br /&gt;
 sense of your example or carry out your instructions.&lt;br /&gt;
 &lt;br /&gt;
 == Doing Something Title ==&lt;br /&gt;
 Write the steps of how to do something in this section.&lt;br /&gt;
 If possible, show an example first, then tell your readers the steps.&lt;br /&gt;
 Break this procedure into separate procedures to avoid more than&lt;br /&gt;
 about 7-9 steps per procedure.&lt;br /&gt;
 &lt;br /&gt;
  INSERT GREAT EXAMPLE HERE&lt;br /&gt;
 &lt;br /&gt;
 #Answer the following three questions, at least in your head.&lt;br /&gt;
 ##What do I explain how to do?&lt;br /&gt;
 ##How do I do that?&lt;br /&gt;
 ##What do HOWTO readers already know about doing that?&lt;br /&gt;
 #Write up a good example. This ensures you can do it.&lt;br /&gt;
 #Write up the steps to do it.&lt;br /&gt;
 #Write the background info/prerequisites readers need.&lt;br /&gt;
 #Write the summary.&lt;br /&gt;
 #Clean up your work.&lt;br /&gt;
 # Add relevant [[Special:Categories|category]] to your page, as every page should be assigned at least one Category.&lt;br /&gt;
 #Revise, revise, revise.&lt;br /&gt;
 &lt;br /&gt;
 == See Also ==&lt;br /&gt;
 If you ought to point your readers to related information&lt;br /&gt;
 they no doubt need but that does not fit in your HOWTO, add links here.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
*[[Help:Editing]]&lt;br /&gt;
*[[Project:Wiki etiquette|Wiki etiquette]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Wiki]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28263</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28263"/>
		<updated>2024-12-11T02:50:39Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How to build the Alpine Linux kernel ==&lt;br /&gt;
&lt;br /&gt;
This [[Tutorials and Howtos|Howto]] quickly demonstrates building/compiling the default Alpine Linux [[Kernels|kernels]]. Kernel customizations (not covered here) allow you to experiment by adding/removing kernel modules/features. For example, Alpine releases multiple [[Kernels|kernels]] that vary in features and file sizes.  Alpine kernels extend the standard [https://www.kernel.org/linux.html Linux kernel] and build within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;, [https://gitlab.alpinelinux.org/alpine/aports aports], and [https://pkgs.alpinelinux.org/package/edge/main/x86_64/alpine-sdk alpine-sdk].&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user with [https://pkgs.alpinelinux.org/package/edge/main/x86_64/doas doas] privileges (i.e. sudo, wheel group) are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doas apk add alpine-sdk&lt;br /&gt;
doas addgroup USERNAME abuild         # your non-root user&lt;br /&gt;
&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append --install&lt;br /&gt;
doas chmod a+r /etc/apk/keys/*        # ensure new keys are readable&lt;br /&gt;
&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Identify backup ===&lt;br /&gt;
&lt;br /&gt;
Identify the package name of your current kernel (e.g. linux-lts, linux-virt). This example shows that &#039;&#039;&#039;linux-lts&#039;&#039;&#039; is the current package that we would revert to as a backup.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
apk list --installed linux-*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-package2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
Find the newly-built kernel file to install. This example shows how to install a newly-built x86_64 LTS kernel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ls -r ~/packages/main/*&lt;br /&gt;
doas apk add FILENAME&lt;br /&gt;
doas reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-install.png|600px]]&lt;br /&gt;
&lt;br /&gt;
After rebooting, verify the newly-installed kernel version:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-new.png|320px]]&lt;br /&gt;
&lt;br /&gt;
=== Revert ===&lt;br /&gt;
If needed, revert to the previous backup kernel package we identified earlier. This example shows how to revert to the previous &amp;quot;alpine-lts&amp;quot; package after removing the newly-installed &amp;quot;alpine-lts&amp;quot; (both are named &amp;quot;alpine-lts&amp;quot; yet refer to different versions/locations):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk list linux-lts            # newly-compiled kernel installed&lt;br /&gt;
doas apk del linux-lts        # newly-compiled kernel from file&lt;br /&gt;
doas apk add linux-lts        # previous kernel from Alpine repo&lt;br /&gt;
apk list linux-lts            # previous kernel installed&lt;br /&gt;
doas reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-revert.png|465px]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel|Custom Kernel (2018-present)]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28262</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28262"/>
		<updated>2024-12-11T02:48:53Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How to build the Alpine Linux kernel ==&lt;br /&gt;
&lt;br /&gt;
This [[Tutorials and Howtos|Howto]] quickly demonstrates building/compiling the default Alpine Linux [[Kernels|kernels]]. Kernel customizations (not covered here) allow you to experiment by adding/removing kernel modules/features. For example, Alpine releases multiple [[Kernels|kernels]] that vary in features and file sizes.  Alpine kernels extend the standard [https://www.kernel.org/linux.html Linux kernel] and build within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;, [https://gitlab.alpinelinux.org/alpine/aports aports], and [https://pkgs.alpinelinux.org/package/edge/main/x86_64/alpine-sdk alpine-sdk].&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user with [https://pkgs.alpinelinux.org/package/edge/main/x86_64/doas doas] privileges (i.e. sudo, wheel group) are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doas apk add alpine-sdk&lt;br /&gt;
doas addgroup USERNAME abuild         # your non-root user&lt;br /&gt;
&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append --install&lt;br /&gt;
doas chmod a+r /etc/apk/keys/*        # ensure new keys are readable&lt;br /&gt;
&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Identify backup ===&lt;br /&gt;
&lt;br /&gt;
Identify the package name of your current kernel (e.g. linux-lts, linux-virt). This example shows that &#039;&#039;&#039;linux-lts&#039;&#039;&#039; is the current package that we would revert to as a backup.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
apk list --installed linux-*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-package2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
Find the newly-built kernel file to install. This example shows how to install a newly-built x86_64 LTS kernel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ls -r ~/packages/main/*&lt;br /&gt;
doas apk add FILENAME&lt;br /&gt;
doas reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-install.png|600px]]&lt;br /&gt;
&lt;br /&gt;
After rebooting, verify the newly-installed kernel version:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-new.png|320px]]&lt;br /&gt;
&lt;br /&gt;
=== Revert ===&lt;br /&gt;
If needed, revert to the previous backup kernel package we identified earlier. This example shows how to revert to the previous &amp;quot;alpine-lts&amp;quot; package after removing the newly-installed &amp;quot;alpine-lts&amp;quot; (both are named &amp;quot;alpine-lts&amp;quot; yet refer to different versions/locations):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk list linux-lts            # newly-compiled kernel installed&lt;br /&gt;
doas apk del linux-lts        # newly-compiled kernel from file&lt;br /&gt;
doas apk add linux-lts        # previous kernel from Alpine repo&lt;br /&gt;
apk list linux-lts            # previous kernel installed&lt;br /&gt;
doas reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-revert.png|465px]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel|Custom Kernel (2018-present)]]&lt;br /&gt;
&lt;br /&gt;
[[User:Anthumchris|anthumchris]] ([[User talk:Anthumchris|talk]]) 02:48, 11 December 2024 (UTC)&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28261</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28261"/>
		<updated>2024-12-11T02:47:59Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[User:Anthumchris|anthumchris]] ([[User talk:Anthumchris|talk]]) 02:47, 11 December 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
== How to build the Alpine Linux kernel ==&lt;br /&gt;
This [[Tutorials and Howtos|Howto]] quickly demonstrates building/compiling the default Alpine Linux [[Kernels|kernels]]. Kernel customizations (not covered here) allow you to experiment by adding/removing kernel modules/features. For example, Alpine releases multiple [[Kernels|kernels]] that vary in features and file sizes.  Alpine kernels extend the standard [https://www.kernel.org/linux.html Linux kernel] and build within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;, [https://gitlab.alpinelinux.org/alpine/aports aports], and [https://pkgs.alpinelinux.org/package/edge/main/x86_64/alpine-sdk alpine-sdk].&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user with [https://pkgs.alpinelinux.org/package/edge/main/x86_64/doas doas] privileges (i.e. sudo, wheel group) are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doas apk add alpine-sdk&lt;br /&gt;
doas addgroup USERNAME abuild         # your non-root user&lt;br /&gt;
&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append --install&lt;br /&gt;
doas chmod a+r /etc/apk/keys/*        # ensure new keys are readable&lt;br /&gt;
&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Identify backup ===&lt;br /&gt;
&lt;br /&gt;
Identify the package name of your current kernel (e.g. linux-lts, linux-virt). This example shows that &#039;&#039;&#039;linux-lts&#039;&#039;&#039; is the current package that we would revert to as a backup.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
apk list --installed linux-*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-package2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
Find the newly-built kernel file to install. This example shows how to install a newly-built x86_64 LTS kernel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ls -r ~/packages/main/*&lt;br /&gt;
doas apk add FILENAME&lt;br /&gt;
doas reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-install.png|600px]]&lt;br /&gt;
&lt;br /&gt;
After rebooting, verify the newly-installed kernel version:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-new.png|320px]]&lt;br /&gt;
&lt;br /&gt;
=== Revert ===&lt;br /&gt;
If needed, revert to the previous backup kernel package we identified earlier. This example shows how to revert to the previous &amp;quot;alpine-lts&amp;quot; package after removing the newly-installed &amp;quot;alpine-lts&amp;quot; (both are named &amp;quot;alpine-lts&amp;quot; yet refer to different versions/locations):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk list linux-lts            # newly-compiled kernel installed&lt;br /&gt;
doas apk del linux-lts        # newly-compiled kernel from file&lt;br /&gt;
doas apk add linux-lts        # previous kernel from Alpine repo&lt;br /&gt;
apk list linux-lts            # previous kernel installed&lt;br /&gt;
doas reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-revert.png|465px]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel|Custom Kernel (2018-present)]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28260</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28260"/>
		<updated>2024-12-11T02:45:36Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: add tilde signature&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How to build the Alpine Linux kernel ==&lt;br /&gt;
This [[Tutorials and Howtos|Howto]] quickly demonstrates building/compiling the default Alpine Linux [[Kernels|kernels]]. Kernel customizations (not covered here) allow you to experiment by adding/removing kernel modules/features. For example, Alpine releases multiple [[Kernels|kernels]] that vary in features and file sizes.  Alpine kernels extend the standard [https://www.kernel.org/linux.html Linux kernel] and build within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;, [https://gitlab.alpinelinux.org/alpine/aports aports], and [https://pkgs.alpinelinux.org/package/edge/main/x86_64/alpine-sdk alpine-sdk].&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user with [https://pkgs.alpinelinux.org/package/edge/main/x86_64/doas doas] privileges (i.e. sudo, wheel group) are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doas apk add alpine-sdk&lt;br /&gt;
doas addgroup USERNAME abuild         # your non-root user&lt;br /&gt;
&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append --install&lt;br /&gt;
doas chmod a+r /etc/apk/keys/*        # ensure new keys are readable&lt;br /&gt;
&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Identify backup ===&lt;br /&gt;
&lt;br /&gt;
Identify the package name of your current kernel (e.g. linux-lts, linux-virt). This example shows that &#039;&#039;&#039;linux-lts&#039;&#039;&#039; is the current package that we would revert to as a backup.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
apk list --installed linux-*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-package2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
Find the newly-built kernel file to install. This example shows how to install a newly-built x86_64 LTS kernel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ls -r ~/packages/main/*&lt;br /&gt;
doas apk add FILENAME&lt;br /&gt;
doas reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-install.png|600px]]&lt;br /&gt;
&lt;br /&gt;
After rebooting, verify the newly-installed kernel version:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-new.png|320px]]&lt;br /&gt;
&lt;br /&gt;
=== Revert ===&lt;br /&gt;
If needed, revert to the previous backup kernel package we identified earlier. This example shows how to revert to the previous &amp;quot;alpine-lts&amp;quot; package after removing the newly-installed &amp;quot;alpine-lts&amp;quot; (both are named &amp;quot;alpine-lts&amp;quot; yet refer to different versions/locations):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk list linux-lts            # newly-compiled kernel installed&lt;br /&gt;
doas apk del linux-lts        # newly-compiled kernel from file&lt;br /&gt;
doas apk add linux-lts        # previous kernel from Alpine repo&lt;br /&gt;
apk list linux-lts            # previous kernel installed&lt;br /&gt;
doas reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-revert.png|465px]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel|Custom Kernel (2018-present)]]&lt;br /&gt;
&lt;br /&gt;
[[User:Anthumchris|anthumchris]] ([[User talk:Anthumchris|talk]]) 02:45, 11 December 2024 (UTC)&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User_talk:Anthumchris&amp;diff=28259</id>
		<title>User talk:Anthumchris</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User_talk:Anthumchris&amp;diff=28259"/>
		<updated>2024-12-11T02:41:25Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: Created page with &amp;quot;Please add your thoughts or questions below, starting new topics with wikimarkup: &amp;lt;code&amp;gt;== Heading ==&amp;lt;/code&amp;gt;  == Example ==&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please add your thoughts or questions below, starting new topics with wikimarkup: &amp;lt;code&amp;gt;== Heading ==&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28075</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28075"/>
		<updated>2024-12-03T22:57:12Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How to build the Alpine Linux kernel ==&lt;br /&gt;
This [[Tutorials and Howtos|Howto]] quickly demonstrates building/compiling the default Alpine Linux [[Kernels|kernels]]. Kernel customizations (not covered here) allow you to experiment by adding/removing kernel modules/features. For example, Alpine releases multiple [[Kernels|kernels]] that vary in features and file sizes.  Alpine kernels extend the standard [https://www.kernel.org/linux.html Linux kernel] and build within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;, [https://gitlab.alpinelinux.org/alpine/aports aports], and [https://pkgs.alpinelinux.org/package/edge/main/x86_64/alpine-sdk alpine-sdk].&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user with [https://pkgs.alpinelinux.org/package/edge/main/x86_64/doas doas] privileges (i.e. sudo, wheel group) are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doas apk add alpine-sdk&lt;br /&gt;
doas addgroup USERNAME abuild         # your non-root user&lt;br /&gt;
&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append --install&lt;br /&gt;
doas chmod a+r /etc/apk/keys/*        # ensure new keys are readable&lt;br /&gt;
&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Identify backup ===&lt;br /&gt;
&lt;br /&gt;
Identify the package name of your current kernel (e.g. linux-lts, linux-virt). This example shows that &#039;&#039;&#039;linux-lts&#039;&#039;&#039; is the current package that we would revert to as a backup.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
apk list --installed linux-*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-package2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
Find the newly-built kernel file to install. This example shows how to install a newly-built x86_64 LTS kernel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ls -r ~/packages/main/*&lt;br /&gt;
doas apk add FILENAME&lt;br /&gt;
doas reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-install.png|600px]]&lt;br /&gt;
&lt;br /&gt;
After rebooting, verify the newly-installed kernel version:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-new.png|320px]]&lt;br /&gt;
&lt;br /&gt;
=== Revert ===&lt;br /&gt;
If needed, revert to the previous backup kernel package we identified earlier. This example shows how to revert to the previous &amp;quot;alpine-lts&amp;quot; package after removing the newly-installed &amp;quot;alpine-lts&amp;quot; (both are named &amp;quot;alpine-lts&amp;quot; yet refer to different versions/locations):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk list linux-lts            # newly-compiled kernel installed&lt;br /&gt;
doas apk del linux-lts        # newly-compiled kernel from file&lt;br /&gt;
doas apk add linux-lts        # previous kernel from Alpine repo&lt;br /&gt;
apk list linux-lts            # previous kernel installed&lt;br /&gt;
doas reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-revert.png|465px]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel|Custom Kernel (2018-present)]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28074</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28074"/>
		<updated>2024-12-03T22:50:13Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How to build the Alpine Linux kernel ==&lt;br /&gt;
This [[Tutorials and Howtos|Howto]] quickly demonstrates building/compiling the default Alpine Linux [[Kernels|kernels]]. Kernel customizations (not covered here) allow you to experiment by adding/removing kernel modules/features. For example, Alpine releases multiple [[Kernels|kernels]] that vary in features and file sizes.  Alpine kernels extend the standard [https://www.kernel.org/linux.html Linux kernel] and build within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;, [https://gitlab.alpinelinux.org/alpine/aports aports], and [https://pkgs.alpinelinux.org/package/edge/main/x86_64/alpine-sdk alpine-sdk].&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user with [https://pkgs.alpinelinux.org/package/edge/main/x86_64/doas doas] privileges (i.e. sudo, wheel group) are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doas apk add alpine-sdk&lt;br /&gt;
doas addgroup USERNAME abuild         # your non-root user&lt;br /&gt;
&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append --install&lt;br /&gt;
doas chmod a+r /etc/apk/keys/*        # ensure new keys are readable&lt;br /&gt;
&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Identify backup ===&lt;br /&gt;
&lt;br /&gt;
Identify the package name of your current kernel (e.g. linux-lts, linux-virt). This example shows that &#039;&#039;&#039;linux-lts&#039;&#039;&#039; is the current package that we would revert to as a backup.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
apk list --installed linux-*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-package2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
Find the newly-built kernel file to install. This example shows how to install a newly-built x86_64 LTS kernel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doas apk add FILENAME&lt;br /&gt;
doas reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-install.png|600px]]&lt;br /&gt;
&lt;br /&gt;
After rebooting, verify the newly-installed kernel version:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-new.png|320px]]&lt;br /&gt;
&lt;br /&gt;
=== Revert ===&lt;br /&gt;
If needed, revert to the previous backup kernel package we identified earlier. This example shows how to revert to the previous &amp;quot;alpine-lts&amp;quot; package after removing the newly-installed &amp;quot;alpine-lts&amp;quot; (both are named &amp;quot;alpine-lts&amp;quot; yet refer to different versions/locations):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk list linux-lts            # newly-compiled kernel installed&lt;br /&gt;
doas apk del linux-lts        # newly-compiled kernel from file&lt;br /&gt;
doas apk add linux-lts        # previous kernel from Alpine repo&lt;br /&gt;
apk list linux-lts            # previous kernel installed&lt;br /&gt;
doas reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-revert.png|465px]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel|Custom Kernel (2018-present)]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28073</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28073"/>
		<updated>2024-12-03T22:44:31Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How to build the Alpine Linux kernel ==&lt;br /&gt;
This [[Tutorials and Howtos|Howto]] quickly demonstrates building/compiling the default Alpine Linux [[Kernels|kernels]]. Kernel customizations (not covered here) allow you to experiment by adding/removing kernel modules/features. For example, Alpine releases multiple [[Kernels|kernels]] that vary in features and file sizes.  Alpine kernels extend the standard [https://www.kernel.org/linux.html Linux kernel] and build within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;, [https://gitlab.alpinelinux.org/alpine/aports aports], and [https://pkgs.alpinelinux.org/package/edge/main/x86_64/alpine-sdk alpine-sdk].&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user with [https://pkgs.alpinelinux.org/package/edge/main/x86_64/doas doas] (i.e. sudo, wheel group) privileges are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doas apk add alpine-sdk&lt;br /&gt;
doas addgroup USERNAME abuild         # your non-root user&lt;br /&gt;
&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append --install&lt;br /&gt;
doas chmod a+r /etc/apk/keys/*        # ensure new keys are readable&lt;br /&gt;
&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Identify backup ===&lt;br /&gt;
&lt;br /&gt;
Identify the package name of your current kernel (e.g. linux-lts, linux-virt). This example shows that &#039;&#039;&#039;linux-lts&#039;&#039;&#039; is the current package that we would revert to as a backup.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
apk list --installed linux-*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-package2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
Find the newly-built kernel file to install. This example shows how to install a newly-built x86_64 LTS kernel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doas apk add FILENAME&lt;br /&gt;
doas reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-install.png|600px]]&lt;br /&gt;
&lt;br /&gt;
After rebooting, verify the newly-installed kernel version:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-new.png|320px]]&lt;br /&gt;
&lt;br /&gt;
=== Revert ===&lt;br /&gt;
If needed, revert to the previous backup kernel package we identified earlier. This example shows how to revert to the previous &amp;quot;alpine-lts&amp;quot; package after removing the newly-installed &amp;quot;alpine-lts&amp;quot; (both are named &amp;quot;alpine-lts&amp;quot; yet refer to different versions/locations):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk list linux-lts            # newly-compiled kernel installed&lt;br /&gt;
doas apk del linux-lts        # newly-compiled kernel from file&lt;br /&gt;
doas apk add linux-lts        # previous kernel from Alpine repo&lt;br /&gt;
apk list linux-lts            # previous kernel installed&lt;br /&gt;
doas reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-revert.png|465px]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel|Custom Kernel (2018-present)]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28072</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28072"/>
		<updated>2024-12-03T22:43:20Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How to build the Alpine Linux kernel ==&lt;br /&gt;
This HOWTO quickly demonstrates building/compiling the default Alpine Linux [[Kernels|kernels]]. Kernel customizations (not covered here) allow you to experiment by adding/removing kernel modules/features. For example, Alpine releases multiple [[Kernels|kernels]] that vary in features and file sizes.  Alpine kernels extend the standard [https://www.kernel.org/linux.html Linux kernel] and build within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;, [https://gitlab.alpinelinux.org/alpine/aports aports], and [https://pkgs.alpinelinux.org/package/edge/main/x86_64/alpine-sdk alpine-sdk].&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user with [https://pkgs.alpinelinux.org/package/edge/main/x86_64/doas doas] (i.e. sudo, wheel group) privileges are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doas apk add alpine-sdk&lt;br /&gt;
doas addgroup USERNAME abuild         # your non-root user&lt;br /&gt;
&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append --install&lt;br /&gt;
doas chmod a+r /etc/apk/keys/*        # ensure new keys are readable&lt;br /&gt;
&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Identify backup ===&lt;br /&gt;
&lt;br /&gt;
Identify the package name of your current kernel (e.g. linux-lts, linux-virt). This example shows that &#039;&#039;&#039;linux-lts&#039;&#039;&#039; is the current package that we would revert to as a backup.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
apk list --installed linux-*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-package2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
Find the newly-built kernel file to install. This example shows how to install a newly-built x86_64 LTS kernel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doas apk add FILENAME&lt;br /&gt;
doas reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-install.png|600px]]&lt;br /&gt;
&lt;br /&gt;
After rebooting, verify the newly-installed kernel version:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-new.png|320px]]&lt;br /&gt;
&lt;br /&gt;
=== Revert ===&lt;br /&gt;
If needed, revert to the previous backup kernel package we identified earlier. This example shows how to revert to the previous &amp;quot;alpine-lts&amp;quot; package after removing the newly-installed &amp;quot;alpine-lts&amp;quot; (both are named &amp;quot;alpine-lts&amp;quot; yet refer to different versions/locations):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk list linux-lts            # newly-compiled kernel installed&lt;br /&gt;
doas apk del linux-lts        # newly-compiled kernel from file&lt;br /&gt;
doas apk add linux-lts        # previous kernel from Alpine repo&lt;br /&gt;
apk list linux-lts            # previous kernel installed&lt;br /&gt;
doas reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-revert.png|465px]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel|Custom Kernel (2018-present)]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28071</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28071"/>
		<updated>2024-12-03T22:36:47Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How to build the Alpine Linux kernel ==&lt;br /&gt;
A customized Alpine Linux kernel may be needed if you are experimenting with adding/removing kernel modules/features. For example, Alpine releases multiple [[Kernels|kernels]] that vary in features and file sizes.  Alpine kernels extend the standard [https://www.kernel.org/linux.html Linux kernel] and build within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;, [https://gitlab.alpinelinux.org/alpine/aports aports], and [https://pkgs.alpinelinux.org/package/edge/main/x86_64/alpine-sdk alpine-sdk].&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user with [https://pkgs.alpinelinux.org/package/edge/main/x86_64/doas doas] (i.e. sudo, wheel group) privileges are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doas apk add alpine-sdk&lt;br /&gt;
doas addgroup USERNAME abuild         # your non-root user&lt;br /&gt;
&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append --install&lt;br /&gt;
doas chmod a+r /etc/apk/keys/*        # ensure new keys are readable&lt;br /&gt;
&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Identify backup ===&lt;br /&gt;
&lt;br /&gt;
Identify the package name of your current kernel (e.g. linux-lts, linux-virt). This example shows that &#039;&#039;&#039;linux-lts&#039;&#039;&#039; is the current package that we would revert to as a backup.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
apk list --installed linux-*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-package2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
Find the newly-built kernel file to install. This example shows how to install a newly-built x86_64 LTS kernel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doas apk add FILENAME&lt;br /&gt;
doas reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-install.png|600px]]&lt;br /&gt;
&lt;br /&gt;
After rebooting, verify the newly-installed kernel version:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-new.png|320px]]&lt;br /&gt;
&lt;br /&gt;
=== Revert ===&lt;br /&gt;
If needed, revert to the previous backup kernel package we identified earlier. This example shows how to revert to the previous &amp;quot;alpine-lts&amp;quot; package after removing the newly-installed &amp;quot;alpine-lts&amp;quot; (both are named &amp;quot;alpine-lts&amp;quot; yet refer to different versions/locations):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk list linux-lts            # newly-compiled kernel installed&lt;br /&gt;
doas apk del linux-lts        # newly-compiled kernel from file&lt;br /&gt;
doas apk add linux-lts        # previous kernel from Alpine repo&lt;br /&gt;
apk list linux-lts            # previous kernel installed&lt;br /&gt;
doas reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-revert.png|465px]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel|Custom Kernel (2018-present)]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28070</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28070"/>
		<updated>2024-12-03T22:24:24Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How build the Alpine Linux kernel ==&lt;br /&gt;
A customized Alpine Linux kernel may be needed if you are experimenting with adding/removing kernel modules/features. For example, Alpine releases multiple [[Kernels|kernels]] that vary in features and file sizes.  Alpine kernels extend the standard [https://www.kernel.org/linux.html Linux kernel] and build within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;, [https://gitlab.alpinelinux.org/alpine/aports aports], and [https://pkgs.alpinelinux.org/package/edge/main/x86_64/alpine-sdk alpine-sdk].&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user with [https://pkgs.alpinelinux.org/package/edge/main/x86_64/doas doas] (i.e. sudo, wheel group) privileges are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doas apk add alpine-sdk&lt;br /&gt;
doas addgroup USERNAME abuild         # your non-root user&lt;br /&gt;
&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append --install&lt;br /&gt;
doas chmod a+r /etc/apk/keys/*        # ensure new keys are readable&lt;br /&gt;
&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Identify backup ===&lt;br /&gt;
&lt;br /&gt;
Identify the package name of your current kernel (e.g. linux-lts, linux-virt). This example shows that &#039;&#039;&#039;linux-lts&#039;&#039;&#039; is the current package that we would revert to as a backup.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
apk list --installed linux-*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-package2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
Find the newly-built kernel file to install. This example shows how to install a newly-built x86_64 LTS kernel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doas apk add FILENAME&lt;br /&gt;
doas reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-install.png|600px]]&lt;br /&gt;
&lt;br /&gt;
After rebooting, verify the newly-installed kernel version:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-new.png|320px]]&lt;br /&gt;
&lt;br /&gt;
=== Revert ===&lt;br /&gt;
If needed, revert to the previous backup kernel package we identified earlier. This example shows how to revert to the previous &amp;quot;alpine-lts&amp;quot; package after removing the newly-installed &amp;quot;alpine-lts&amp;quot; (both are named &amp;quot;alpine-lts&amp;quot; yet refer to different versions/locations):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk list linux-lts            # newly-compiled kernel installed&lt;br /&gt;
doas apk del linux-lts        # newly-compiled kernel from file&lt;br /&gt;
doas apk add linux-lts        # previous kernel from Alpine repo&lt;br /&gt;
apk list linux-lts            # previous kernel installed&lt;br /&gt;
doas reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-revert.png|465px]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel|Custom Kernel (2018-present)]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28069</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28069"/>
		<updated>2024-12-03T22:19:37Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How build the Alpine Linux kernel ==&lt;br /&gt;
A customized Alpine Linux kernel may be needed if you are experimenting with adding/removing kernel modules/features. For example, Alpine releases multiple [[Kernels|kernels]] that vary in features and file sizes.  Alpine kernels extend the standard [https://www.kernel.org/linux.html Linux kernel] and build within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;, [https://gitlab.alpinelinux.org/alpine/aports aports], and [https://pkgs.alpinelinux.org/package/edge/main/x86_64/alpine-sdk alpine-sdk].&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user with [https://pkgs.alpinelinux.org/package/edge/main/x86_64/doas doas] (i.e. sudo, wheel group) privileges are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doas apk add alpine-sdk&lt;br /&gt;
doas addgroup USERNAME abuild         # your non-root user&lt;br /&gt;
&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append --install&lt;br /&gt;
doas chmod a+r /etc/apk/keys/*        # ensure new keys are readable&lt;br /&gt;
&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Identify backup ===&lt;br /&gt;
&lt;br /&gt;
Identify the package name of your current kernel (e.g. linux-lts, linux-virt). This example shows that &#039;&#039;&#039;linux-lts&#039;&#039;&#039; is the current package that we would revert to as a backup.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
apk list --installed linux-*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-package2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
Find the newly-built kernel file to install. This example shows how to install a newly-built x86_64 LTS kernel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk add FILENAME&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-install.png|600px]]&lt;br /&gt;
&lt;br /&gt;
After rebooting, verify the newly-installed kernel version:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-new.png|320px]]&lt;br /&gt;
&lt;br /&gt;
=== Revert ===&lt;br /&gt;
If needed, revert to the previous backup kernel package we identified earlier. This example shows how to revert to the previous &amp;quot;alpine-lts&amp;quot; package after removing the newly-installed &amp;quot;alpine-lts&amp;quot; (both are named &amp;quot;alpine-lts&amp;quot; yet refer to different versions/locations):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk list linux-lts            # newly-compiled kernel installed&lt;br /&gt;
doas apk del linux-lts        # newly-compiled kernel from file&lt;br /&gt;
doas apk add linux-lts        # previous kernel from Alpine repo&lt;br /&gt;
apk list linux-lts            # previous kernel installed&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-revert.png|465px]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel|Custom Kernel (2018-present)]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28068</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28068"/>
		<updated>2024-12-03T22:13:45Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How build the Alpine Linux kernel ==&lt;br /&gt;
A customized Alpine Linux kernel may be needed if you are experimenting with adding/removing kernel modules/features. For example, Alpine releases multiple [[Kernels|kernels]] that vary in features and file sizes.  Alpine kernels extend the standard [https://www.kernel.org/linux.html Linux kernel] and build within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;, [https://gitlab.alpinelinux.org/alpine/aports aports], and [https://pkgs.alpinelinux.org/package/edge/main/x86_64/alpine-sdk alpine-sdk].&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user with [https://pkgs.alpinelinux.org/package/edge/main/x86_64/doas doas] (i.e. sudo, wheel group) privileges are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doas apk add alpine-sdk&lt;br /&gt;
doas addgroup USERNAME abuild         # your non-root user&lt;br /&gt;
&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append --install&lt;br /&gt;
doas chmod a+r /etc/apk/keys/*        # ensure new keys are readable&lt;br /&gt;
&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Identify backup ===&lt;br /&gt;
&lt;br /&gt;
Identify the package name of your current kernel (e.g. linux-lts, linux-virt). This example shows that &#039;&#039;&#039;linux-lts&#039;&#039;&#039; is the current package that we would revert to as a backup.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
apk list --installed linux-*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-package2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
Find the newly-built kernel file to install. This example shows how to install a newly-built x86_64 LTS kernel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk add FILENAME&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-install.png|600px]]&lt;br /&gt;
&lt;br /&gt;
After rebooting, verify the newly-installed kernel version:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-new.png|320px]]&lt;br /&gt;
&lt;br /&gt;
=== Revert ===&lt;br /&gt;
If needed, revert to the previous backup kernel package we identified earlier. This example how to revert to the previous &amp;quot;alpine-lts&amp;quot; package after removing the newly-installed package &amp;quot;alpine-lts&amp;quot; (both are named &amp;quot;alpine-lts&amp;quot; yet refer to different versions/locations):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk list linux-lts            # newly-compiled kernel installed&lt;br /&gt;
doas apk del linux-lts        # newly-compiled kernel from file&lt;br /&gt;
doas apk add linux-lts        # previous kernel from Alpine repo&lt;br /&gt;
apk list linux-lts            # previous kernel installed&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-revert.png|465px]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel|Custom Kernel (2018-present)]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28067</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28067"/>
		<updated>2024-12-03T22:06:23Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How build the Alpine Linux kernel ==&lt;br /&gt;
A customized Alpine Linux kernel may be needed if you are experimenting with adding/removing kernel modules/features. For example, Alpine releases multiple [[Kernels|kernels]] that vary in features and file sizes.  Alpine kernels extend the standard [https://www.kernel.org/linux.html Linux kernel] and build within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;, [https://gitlab.alpinelinux.org/alpine/aports aports], and [https://pkgs.alpinelinux.org/package/edge/main/x86_64/alpine-sdk alpine-sdk].&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user with [https://pkgs.alpinelinux.org/package/edge/main/x86_64/doas doas] (&amp;lt;code&amp;gt;wheel&amp;lt;/code&amp;gt; group) privileges are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doas apk add alpine-sdk&lt;br /&gt;
doas addgroup USERNAME abuild         # your non-root user&lt;br /&gt;
&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append --install&lt;br /&gt;
doas chmod a+r /etc/apk/keys/*        # ensure new keys are readable&lt;br /&gt;
&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Identify backup ===&lt;br /&gt;
&lt;br /&gt;
Identify the package name of your current kernel (e.g. linux-lts, linux-virt). This example shows that &#039;&#039;&#039;linux-lts&#039;&#039;&#039; is the current package that we would revert to as a backup.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
apk list --installed linux-*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-package2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
Find the newly-built kernel file to install. This example shows how to install a newly-built x86_64 LTS kernel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk add FILENAME&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-install.png|600px]]&lt;br /&gt;
&lt;br /&gt;
After rebooting, verify the newly-installed kernel version:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-new.png|320px]]&lt;br /&gt;
&lt;br /&gt;
=== Revert ===&lt;br /&gt;
If needed, revert to the previous backup kernel package we identified earlier. This example how to revert to the previous &amp;quot;alpine-lts&amp;quot; package after removing the newly-installed package &amp;quot;alpine-lts&amp;quot; (both are named &amp;quot;alpine-lts&amp;quot; yet refer to different versions/locations):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk list linux-lts            # newly-compiled kernel installed&lt;br /&gt;
doas apk del linux-lts        # newly-compiled kernel from file&lt;br /&gt;
doas apk add linux-lts        # previous kernel from Alpine repo&lt;br /&gt;
apk list linux-lts            # previous kernel installed&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-revert.png|465px]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel|Custom Kernel (2018-present)]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28066</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28066"/>
		<updated>2024-12-03T22:05:11Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How build the Alpine Linux kernel ==&lt;br /&gt;
A customized Alpine Linux kernel may be needed if you are experimenting with adding/removing kernel modules/features. For example, Alpine releases multiple [[Kernels|kernels]] that vary in features and file sizes.  Alpine kernels extend the standard [https://www.kernel.org/linux.html Linux kernel] and build within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;, [https://gitlab.alpinelinux.org/alpine/aports aports], and [https://pkgs.alpinelinux.org/package/edge/main/x86_64/alpine-sdk alpine-sdk].&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user with [https://pkgs.alpinelinux.org/package/edge/main/x86_64/doas doas] (&amp;lt;code&amp;gt;wheel&amp;lt;/code&amp;gt; group) privileges are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doas apk add alpine-sdk&lt;br /&gt;
doas addgroup USERNAME abuild         # your non-root user&lt;br /&gt;
&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append --install&lt;br /&gt;
doas chmod a+r /etc/apk/keys/*        # ensure new keys are readable&lt;br /&gt;
&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Identify backup ===&lt;br /&gt;
&lt;br /&gt;
Identify the package name of your current kernel (e.g. linux-lts, linux-virt). This example shows that &#039;&#039;&#039;linux-lts&#039;&#039;&#039; is the current package that we would revert to as a backup.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
apk list --installed linux-*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-package2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
Find the newly-built kernel file to install. This example shows how to install a newly-built x86_64 LTS kernel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk add FILENAME&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-install.png|600px]]&lt;br /&gt;
&lt;br /&gt;
After rebooting, verify the newly-installed kernel version:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-new.png|320px]]&lt;br /&gt;
&lt;br /&gt;
=== Revert ===&lt;br /&gt;
If needed, revert to the previous backup kernel package we identified earlier. This example how to revert to the previous &amp;quot;alpine-lts&amp;quot; package after removing the newly-installed package &amp;quot;alpine-lts&amp;quot; (both are named &amp;quot;alpine-lts&amp;quot; yet refer to different versions/locations):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk list linux-lts            # newly-compiled kernel installed&lt;br /&gt;
doas apk del linux-lts        # newly-compiled kernel from file&lt;br /&gt;
doas apk add linux-lts        # previous kernel from Alpine repo&lt;br /&gt;
apk list linux-lts            # previous kernel installed&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-revert.png|465px]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28063</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28063"/>
		<updated>2024-12-03T22:04:17Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How build the Alpine Linux kernel ==&lt;br /&gt;
A customized Alpine Linux kernel may be needed if you are experimenting with adding/removing kernel modules/features. For example, Alpine releases multiple [[Kernels|kernels]] that vary in features and file sizes.  Alpine kernels extend the standard [https://www.kernel.org/linux.html Linux kernel] and build within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;, [https://gitlab.alpinelinux.org/alpine/aports aports], and [https://pkgs.alpinelinux.org/package/edge/main/x86_64/alpine-sdk alpine-sdk].&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user with [https://pkgs.alpinelinux.org/package/edge/main/x86_64/doas doas] (&amp;lt;code&amp;gt;wheel&amp;lt;/code&amp;gt; group) privileges are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doas apk add alpine-sdk&lt;br /&gt;
doas addgroup USERNAME abuild         # your non-root user&lt;br /&gt;
&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append --install&lt;br /&gt;
doas chmod a+r /etc/apk/keys/*        # ensure new keys are readable&lt;br /&gt;
&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Identify backup ===&lt;br /&gt;
&lt;br /&gt;
Identify the package name of your current kernel (e.g. linux-lts, linux-virt). This example shows that &#039;&#039;&#039;linux-lts&#039;&#039;&#039; is the current package that we would revert to as a backup.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
apk list --installed linux-*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-package2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
Find the newly-built kernel file to install. This example shows how to install a newly-built x86_64 LTS kernel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk add FILENAME&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-install.png|600px]]&lt;br /&gt;
&lt;br /&gt;
After rebooting, verify the newly-installed kernel version:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-new.png|320px]]&lt;br /&gt;
&lt;br /&gt;
=== Revert ===&lt;br /&gt;
If needed, revert to the previous backup kernel package we identified earlier. This example how to revert to the previous &#039;&#039;&#039;alpine-lts&#039;&#039;&#039; package after removing the newly-installed package (both are named &amp;quot;alpine-lts&amp;quot; yet refer to different versions/locations):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk list linux-lts            # newly-compiled kernel installed&lt;br /&gt;
doas apk del linux-lts        # newly-compiled kernel from file&lt;br /&gt;
doas apk add linux-lts        # previous kernel from Alpine repo&lt;br /&gt;
apk list linux-lts            # previous kernel installed&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-revert.png|465px]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28062</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28062"/>
		<updated>2024-12-03T22:03:50Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How build the Alpine Linux kernel ==&lt;br /&gt;
A customized Alpine Linux kernel may be needed if you are experimenting with adding/removing kernel modules/features. For example, Alpine releases multiple [[Kernels|kernels]] that vary in features and file sizes.  Alpine kernels extend the standard [https://www.kernel.org/linux.html Linux kernel] and build within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;, [https://gitlab.alpinelinux.org/alpine/aports aports], and [https://pkgs.alpinelinux.org/package/edge/main/x86_64/alpine-sdk alpine-sdk].&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user with [https://pkgs.alpinelinux.org/package/edge/main/x86_64/doas doas] (&amp;lt;code&amp;gt;wheel&amp;lt;/code&amp;gt; group) privileges are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doas apk add alpine-sdk&lt;br /&gt;
doas addgroup USERNAME abuild         # your non-root user&lt;br /&gt;
&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append --install&lt;br /&gt;
doas chmod a+r /etc/apk/keys/*        # ensure new keys are readable&lt;br /&gt;
&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Identify backup ===&lt;br /&gt;
&lt;br /&gt;
Identify the package name of your current kernel (e.g. linux-lts, linux-virt). This example shows that &#039;&#039;&#039;linux-lts&#039;&#039;&#039; is the current package that we would revert to as a backup.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
apk list --installed linux-*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-package2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
Find the newly-built kernel file to install. This example shows how to install a newly-built x86_64 LTS kernel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk add FILENAME&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-install.png|600px]]&lt;br /&gt;
&lt;br /&gt;
After rebooting, verify the newly-installed kernel version:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-new.png|320px]]&lt;br /&gt;
&lt;br /&gt;
=== Revert ===&lt;br /&gt;
If needed, revert to the previous backup kernel package we identified earlier. This example how to revert to the previous &#039;&#039;&#039;alpine-lts&#039;&#039;&#039; package after removing the newly-installed package (both have the same name alpine-lts but refer to different versions/locations):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk list linux-lts            # newly-compiled kernel installed&lt;br /&gt;
doas apk del linux-lts        # newly-compiled kernel from file&lt;br /&gt;
doas apk add linux-lts        # previous kernel from Alpine repo&lt;br /&gt;
apk list linux-lts            # previous kernel installed&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-revert.png|465px]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28060</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28060"/>
		<updated>2024-12-03T22:00:04Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How build the Alpine Linux kernel ==&lt;br /&gt;
A customized Alpine Linux kernel may be needed if you are experimenting with adding/removing kernel modules/features. For example, Alpine releases multiple [[Kernels|kernels]] that vary in features and file sizes.  Alpine kernels extend the standard [https://www.kernel.org/linux.html Linux kernel] and build within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;, [https://gitlab.alpinelinux.org/alpine/aports aports], and [https://pkgs.alpinelinux.org/package/edge/main/x86_64/alpine-sdk alpine-sdk].&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user with [https://pkgs.alpinelinux.org/package/edge/main/x86_64/doas doas] (&amp;lt;code&amp;gt;wheel&amp;lt;/code&amp;gt; group) privileges are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doas apk add alpine-sdk&lt;br /&gt;
doas addgroup USERNAME abuild         # your non-root user&lt;br /&gt;
&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append --install&lt;br /&gt;
doas chmod a+r /etc/apk/keys/*        # ensure new keys are readable&lt;br /&gt;
&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Identify backup ===&lt;br /&gt;
&lt;br /&gt;
Identify the package name of your current kernel (e.g. linux-lts, linux-virt). This example shows that &#039;&#039;&#039;linux-lts&#039;&#039;&#039; is the current package that we would revert to as a backup.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
apk list --installed linux-*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-package2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
Find the newly-built kernel file to install. This example shows how to install a newly-built x86_64 LTS kernel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk add FILENAME&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-install.png|600px]]&lt;br /&gt;
&lt;br /&gt;
After rebooting, verify the newly-installed kernel version:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-new.png|320px]]&lt;br /&gt;
&lt;br /&gt;
=== Revert ===&lt;br /&gt;
If needed, revert to the previous &#039;&#039;&#039;alpine-lts&#039;&#039;&#039; kernel we identified earlier:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk list linux-lts            # newly-compiled kernel installed&lt;br /&gt;
doas apk del linux-lts        # newly-compiled kernel from file&lt;br /&gt;
doas apk add linux-lts        # previous kernel from Alpine repo&lt;br /&gt;
apk list linux-lts            # previous kernel installed&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-revert.png|465px]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28059</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28059"/>
		<updated>2024-12-03T21:59:10Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How build the Alpine Linux kernel ==&lt;br /&gt;
A customized Alpine Linux kernel may be needed if you are experimenting with adding/removing kernel modules/features. For example, Alpine releases multiple [[Kernels|kernels]] that vary in features and file sizes.  Alpine kernels extend the standard [https://www.kernel.org/linux.html Linux kernel] and build within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;, [https://gitlab.alpinelinux.org/alpine/aports aports], and [https://pkgs.alpinelinux.org/package/edge/main/x86_64/alpine-sdk alpine-sdk].&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user with [https://pkgs.alpinelinux.org/package/edge/main/x86_64/doas doas] (&amp;lt;code&amp;gt;wheel&amp;lt;/code&amp;gt; group) privileges are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doas apk add alpine-sdk&lt;br /&gt;
doas addgroup USERNAME abuild         # your non-root user&lt;br /&gt;
&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append --install&lt;br /&gt;
doas chmod a+r /etc/apk/keys/*        # ensure new keys are readable&lt;br /&gt;
&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Identify backup ===&lt;br /&gt;
&lt;br /&gt;
Identify the package name of your current kernel (e.g. linux-lts, linux-virt). This example shows that &#039;&#039;&#039;linux-lts&#039;&#039;&#039; is the current package that we would revert to as a backup.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
apk list --installed linux-*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-package2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
Find the newly-build kernel file to install. This example shows how to install a newly-built x86_64 LTS kernel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk add FILENAME&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-install.png|600px]]&lt;br /&gt;
&lt;br /&gt;
After rebooting, verify the newly-installed kernel version:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-new.png|320px]]&lt;br /&gt;
&lt;br /&gt;
=== Revert ===&lt;br /&gt;
If needed, revert to the previous &#039;&#039;&#039;alpine-lts&#039;&#039;&#039; kernel we identified earlier:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk list linux-lts            # newly-compiled kernel installed&lt;br /&gt;
doas apk del linux-lts        # newly-compiled kernel from file&lt;br /&gt;
doas apk add linux-lts        # previous kernel from Alpine repo&lt;br /&gt;
apk list linux-lts            # previous kernel installed&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-revert.png|465px]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28058</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28058"/>
		<updated>2024-12-03T21:52:42Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How build the Alpine Linux kernel ==&lt;br /&gt;
A customized Alpine Linux kernel may be needed if you are experimenting with adding/removing kernel modules/features. For example, Alpine releases multiple [[Kernels|kernels]] that vary in features and file sizes.  Alpine kernels extend the standard [https://www.kernel.org/linux.html Linux kernel] and build within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;, [https://gitlab.alpinelinux.org/alpine/aports aports], and [https://pkgs.alpinelinux.org/package/edge/main/x86_64/alpine-sdk alpine-sdk].&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user with [https://pkgs.alpinelinux.org/package/edge/main/x86_64/doas doas] (&amp;lt;code&amp;gt;wheel&amp;lt;/code&amp;gt; group) privileges are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doas apk add alpine-sdk&lt;br /&gt;
doas addgroup USERNAME abuild         # your non-root user&lt;br /&gt;
&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append --install&lt;br /&gt;
doas chmod a+r /etc/apk/keys/*        # ensure keys are readable&lt;br /&gt;
&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Identify backup ===&lt;br /&gt;
&lt;br /&gt;
Identify the package name of your current kernel (e.g. linux-lts, linux-virt). This example shows that &#039;&#039;&#039;linux-lts&#039;&#039;&#039; is the current package that we would revert to as a backup.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
apk list --installed linux-*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-package2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
Find the newly-build kernel file to install. This example shows how to install a newly-built x86_64 LTS kernel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk add FILENAME&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-install.png|600px]]&lt;br /&gt;
&lt;br /&gt;
After rebooting, verify the newly-installed kernel version:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-new.png|320px]]&lt;br /&gt;
&lt;br /&gt;
=== Revert ===&lt;br /&gt;
If needed, revert to the previous &#039;&#039;&#039;alpine-lts&#039;&#039;&#039; kernel we identified earlier:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk list linux-lts            # newly-compiled kernel installed&lt;br /&gt;
doas apk del linux-lts        # newly-compiled kernel from file&lt;br /&gt;
doas apk add linux-lts        # previous kernel from Alpine repo&lt;br /&gt;
apk list linux-lts            # previous kernel installed&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-revert.png|465px]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=File:Alpine-kernel-revert.png&amp;diff=28057</id>
		<title>File:Alpine-kernel-revert.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=File:Alpine-kernel-revert.png&amp;diff=28057"/>
		<updated>2024-12-03T21:49:59Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;revert to previous kernel&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=File:Alpine-kernel-new.png&amp;diff=28055</id>
		<title>File:Alpine-kernel-new.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=File:Alpine-kernel-new.png&amp;diff=28055"/>
		<updated>2024-12-03T20:58:50Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;new kernel version&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=File:Alpine-kernel-install.png&amp;diff=28054</id>
		<title>File:Alpine-kernel-install.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=File:Alpine-kernel-install.png&amp;diff=28054"/>
		<updated>2024-12-03T20:53:12Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;install new kernel&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=File:Alpine-kernel-package2.png&amp;diff=28053</id>
		<title>File:Alpine-kernel-package2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=File:Alpine-kernel-package2.png&amp;diff=28053"/>
		<updated>2024-12-03T20:22:52Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;kernel package name&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28052</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28052"/>
		<updated>2024-12-03T19:51:58Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How build the Alpine Linux kernel ==&lt;br /&gt;
A customized Alpine Linux kernel may be needed if you are experimenting with adding/removing kernel features and modules. For example, Alpine releases multiple [[Kernels|kernels]] that vary in features and file sizes.  Alpine kernels extend the standard [https://www.kernel.org/linux.html Linux kernel] and build within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;, [https://gitlab.alpinelinux.org/alpine/aports aports], and [https://pkgs.alpinelinux.org/package/edge/main/x86_64/alpine-sdk alpine-sdk].&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user with [https://pkgs.alpinelinux.org/package/edge/main/x86_64/doas doas] (&amp;lt;code&amp;gt;wheel&amp;lt;/code&amp;gt; group) privileges are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doas apk add alpine-sdk&lt;br /&gt;
doas addgroup USERNAME abuild         # your non-root user&lt;br /&gt;
&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append --install&lt;br /&gt;
doas chmod a+r /etc/apk/keys/*        # ensure keys are readable&lt;br /&gt;
&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
&lt;br /&gt;
Identify the package name of your current kernel. This example shows that &amp;lt;code&amp;gt;linux-lts&amp;lt;/code&amp;gt; is the current package that we will later revert to.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;kernel: $(uname -r)&amp;quot;&lt;br /&gt;
apk list --installed linux-*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Alpine-kernel-package.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==== Install new kernel ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk add /home/USERNAME/packages/.....................................&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=File:Alpine-kernel-package.png&amp;diff=28051</id>
		<title>File:Alpine-kernel-package.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=File:Alpine-kernel-package.png&amp;diff=28051"/>
		<updated>2024-12-03T19:44:43Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;output showing kernel package name&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=File:Alpine-kernel-lts.png&amp;diff=28050</id>
		<title>File:Alpine-kernel-lts.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=File:Alpine-kernel-lts.png&amp;diff=28050"/>
		<updated>2024-12-03T19:36:16Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Command output of linux kernel package name&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28049</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28049"/>
		<updated>2024-12-03T19:13:39Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How build the Alpine Linux kernel ==&lt;br /&gt;
A customized Alpine Linux kernel may be needed if you are experimenting with adding/removing kernel features and modules. For example, Alpine releases multiple [[Kernels|kernels]] that vary in features and file sizes.  Alpine kernels extend the standard [https://www.kernel.org/linux.html Linux kernel] and build within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;, [https://gitlab.alpinelinux.org/alpine/aports aports], and [https://pkgs.alpinelinux.org/package/edge/main/x86_64/alpine-sdk alpine-sdk].&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user with [https://pkgs.alpinelinux.org/package/edge/main/x86_64/doas doas] (&amp;lt;code&amp;gt;wheel&amp;lt;/code&amp;gt; group) privileges are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doas apk add alpine-sdk&lt;br /&gt;
doas addgroup USERNAME abuild   # your non-root user&lt;br /&gt;
&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append --install&lt;br /&gt;
&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk add /home/USERNAME/packages/.....................................&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28048</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28048"/>
		<updated>2024-12-03T19:12:35Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How build the Alpine Linux kernel ==&lt;br /&gt;
A customized Alpine Linux kernel may be needed if you are experimenting with adding/removing kernel features and modules. For example, Alpine releases multiple [[Kernels|kernels]] that vary in features and file sizes.  Alpine kernels extend the standard [https://www.kernel.org/linux.html Linux kernel] and build within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;, [https://gitlab.alpinelinux.org/alpine/aports aports], and [https://pkgs.alpinelinux.org/package/edge/main/x86_64/alpine-sdk alpine-sdk].&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user with [https://pkgs.alpinelinux.org/package/edge/main/x86_64/doas doas] (&amp;lt;code&amp;gt;wheel&amp;lt;/code&amp;gt; group) privileges are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doas apk add alpine-sdk&lt;br /&gt;
doas addgroup USERNAME abuild             # your non-root user&lt;br /&gt;
&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append --install&lt;br /&gt;
&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk add /home/USERNAME/packages/.....................................&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28047</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28047"/>
		<updated>2024-12-03T19:12:02Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How build the Alpine Linux kernel ==&lt;br /&gt;
A customized Alpine Linux kernel may be needed if you are experimenting with adding/removing kernel features and modules. For example, Alpine releases multiple [[Kernels]kernels] that vary in features and file sizes.  Alpine kernels extend the standard [https://www.kernel.org/linux.html Linux kernel] and build within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;, [https://gitlab.alpinelinux.org/alpine/aports aports], and [https://pkgs.alpinelinux.org/package/edge/main/x86_64/alpine-sdk alpine-sdk].&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user with [https://pkgs.alpinelinux.org/package/edge/main/x86_64/doas doas] (&amp;lt;code&amp;gt;wheel&amp;lt;/code&amp;gt; group) privileges are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doas apk add alpine-sdk&lt;br /&gt;
doas addgroup USERNAME abuild             # your non-root user&lt;br /&gt;
&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append --install&lt;br /&gt;
&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk add /home/USERNAME/packages/.....................................&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28046</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28046"/>
		<updated>2024-12-03T19:11:10Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How build the Alpine Linux kernel ==&lt;br /&gt;
A customized build of the Alpine Linux may be needed if you are experimenting with adding/removing kernel features and modules. For example, Alpine releases multiple [[Kernels]kernels] that vary in features and file sizes.  Alpine kernels extend the standard [https://www.kernel.org/linux.html Linux kernel] and build within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;, [https://gitlab.alpinelinux.org/alpine/aports aports], and [https://pkgs.alpinelinux.org/package/edge/main/x86_64/alpine-sdk alpine-sdk].&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user with [https://pkgs.alpinelinux.org/package/edge/main/x86_64/doas doas] (&amp;lt;code&amp;gt;wheel&amp;lt;/code&amp;gt; group) privileges are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doas apk add alpine-sdk&lt;br /&gt;
doas addgroup USERNAME abuild             # your non-root user&lt;br /&gt;
&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append --install&lt;br /&gt;
&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk add /home/USERNAME/packages/.....................................&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28044</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28044"/>
		<updated>2024-12-03T18:32:26Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How build the Alpine Linux kernel ==&lt;br /&gt;
A customized build of the Alpine Linux kernel may be needed if you are experimenting with adding/removing kernel features and modules. The Alpine kernel extends the standard [https://www.kernel.org/linux.html Linux kernel] and builds within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;, [https://gitlab.alpinelinux.org/alpine/aports aports], and [https://pkgs.alpinelinux.org/package/edge/main/x86_64/alpine-sdk alpine-sdk].&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user with wheel/doas privileges are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
##  Run as root&lt;br /&gt;
&lt;br /&gt;
apk add alpine-sdk&lt;br /&gt;
addgroup USERNAME abuild     # your non-root user&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
##  Run as non-root user&lt;br /&gt;
&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append&lt;br /&gt;
&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk add /home/USERNAME/packages/.....................................&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28043</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28043"/>
		<updated>2024-12-03T18:29:10Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How build the Alpine Linux kernel ==&lt;br /&gt;
A customized build of the Alpine Linux kernel may be needed if you are experimenting with adding/removing kernel features and modules. The Alpine kernel extends the standard [https://www.kernel.org/linux.html Linux kernel] and builds within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;, [https://gitlab.alpinelinux.org/alpine/aports aports], and [https://pkgs.alpinelinux.org/package/edge/main/x86_64/alpine-sdk alpine-sdk].&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
##  Run as root&lt;br /&gt;
&lt;br /&gt;
apk add alpine-sdk&lt;br /&gt;
addgroup USERNAME abuild     # your non-root user&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
##  Run as non-root user&lt;br /&gt;
&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append&lt;br /&gt;
&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk add /home/USERNAME/packages/.....................................&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28042</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28042"/>
		<updated>2024-12-03T18:26:20Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How build the Alpine Linux kernel ==&lt;br /&gt;
A customized build of the Alpine Linux kernel may be needed if you are experimenting with adding/removing kernel features and modules. The Alpine kernel extends the standard [https://www.kernel.org/linux.html Linux kernel] and builds within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;, [https://gitlab.alpinelinux.org/alpine/aports aports], and [https://pkgs.alpinelinux.org/package/edge/main/x86_64/alpine-sdk alpine-sdk].&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
##  Run as root&lt;br /&gt;
&lt;br /&gt;
apk add alpine-sdk           # install required packages&lt;br /&gt;
addgroup USERNAME abuild     # your non-root user&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
##  Run as non-root user&lt;br /&gt;
&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append&lt;br /&gt;
&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk add /home/USERNAME/packages/.....................................&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28041</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28041"/>
		<updated>2024-12-03T18:22:20Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How build the Alpine Linux kernel ==&lt;br /&gt;
A customized build of the Alpine Linux kernel may be needed if you are experimenting with adding/removing kernel features and modules. The Alpine kernel extends the standard [https://www.kernel.org/linux.html Linux kernel] and builds within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt; and [https://gitlab.alpinelinux.org/alpine/aports aports]. &lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
Run as root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk add alpine-sdk           # install required packages&lt;br /&gt;
addgroup USERNAME abuild     # your non-root user&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run as non-root user:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append&lt;br /&gt;
&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk add /home/USERNAME/packages/.....................................&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28040</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28040"/>
		<updated>2024-12-03T18:21:49Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How build the Alpine Linux kernel ==&lt;br /&gt;
A customized build of the Alpine Linux kernel may be needed if you are experimenting with adding/removing kernel features and modules. The Alpine kernel extends the standard [https://www.kernel.org/linux.html Linux kernel] and builds within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt; and [https://gitlab.alpinelinux.org/alpine/aports aports]. &lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
Run as root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk add alpine-sdk           # install required packages&lt;br /&gt;
addgroup USERNAME abuild     # your non-root user&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run as non-root user:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk add /home/USERNAME/packages/.....................................&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28039</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28039"/>
		<updated>2024-12-03T18:19:59Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How build the Alpine Linux kernel ==&lt;br /&gt;
A customized build of the Alpine Linux kernel may be needed if you are experimenting with adding/removing kernel features and modules. The Alpine kernel extends the standard [https://www.kernel.org/linux.html Linux kernel] and builds within a few minutes to a few hours (depending on the speed of your system) using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt; and [https://gitlab.alpinelinux.org/alpine/aports aports]. &lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
Run as root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk add alpine-sdk           # install required packages&lt;br /&gt;
addgroup USERNAME abuild     # your non-root user&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run as non-root user:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append&lt;br /&gt;
&lt;br /&gt;
# build/install the kernel&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk add /home/USERNAME/packages/.....................................&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28038</id>
		<title>User:Anthumchris:How to build the Alpine Linux kernel</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Anthumchris:How_to_build_the_Alpine_Linux_kernel&amp;diff=28038"/>
		<updated>2024-12-03T18:12:31Z</updated>

		<summary type="html">&lt;p&gt;Anthumchris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How build the Alpine Linux kernel ==&lt;br /&gt;
A customized build of the Alpine Linux kernel may be needed if you are experimenting with adding/removing kernel features and modules. The Alpine kernel extends the standard [https://www.kernel.org/linux.html Linux kernel] and builds within a few minutes to a few hours (depending on the speed of your system). The kernel is built using &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt; and [https://gitlab.alpinelinux.org/alpine/aports aports]. &lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
A running instance of Alpine Linux and a non-root user are required to use &amp;lt;code&amp;gt;[[abuild]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Build &amp;amp; install the kernel ==&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
Run as root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk add alpine-sdk           # install required packages&lt;br /&gt;
addgroup USERNAME abuild     # your non-root user&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run as non-root user:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git&lt;br /&gt;
abuild-keygen --append&lt;br /&gt;
&lt;br /&gt;
# build/install the kernel&lt;br /&gt;
cd aports/main/linux-lts/&lt;br /&gt;
time abuild -crK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk add /home/USERNAME/packages/.....................................&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Kernels]]&lt;br /&gt;
* [[Custom Kernel]]&lt;/div&gt;</summary>
		<author><name>Anthumchris</name></author>
	</entry>
</feed>