Skip to content

Commit bab84f8

Browse files
Text-safe update: 2.0.2 โ†’ 2.2.0 [skip ci]
1 parent e66e211 commit bab84f8

9 files changed

Lines changed: 61 additions & 61 deletions

โ€ŽREADME.mdโ€Ž

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
- [What's New in v2.2.0](#whats-new-in-v220)
4949
- [v2.2.0 โ€” USB Stability & Autosuspend Elimination](#v220--usb-stability--autosuspend-elimination)
5050
- [v2.1.0 โ€” Precision Tuning Pass](#v210--precision-tuning-pass)
51-
- [v2.0.2 โ€” Universal Daily-Driver Pass](#v202--universal-daily-driver-pass)
51+
- [v2.2.0 โ€” Universal Daily-Driver Pass](#v202--universal-daily-driver-pass)
5252
- [Philosophy](#philosophy)
5353
- [Key Features](#key-features)
5454
- [Monolithic Architecture](#monolithic-architecture)
@@ -183,7 +183,7 @@ uname -v -> #1 SMP PREEMPT Linux 6.19.6-Hyperion-2.2.0 (Soumalya Das) 2026
183183

184184
---
185185

186-
### v2.0.2 โ€” Universal Daily-Driver Pass
186+
### v2.2.0 โ€” Universal Daily-Driver Pass
187187

188188
> 39 new config groups, 5 new subsystems, full distro compatibility. Full changelog below for reference.
189189

โ€Žci/reproducible-build.shโ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
set -euo pipefail
1313

1414
KERNEL_VERSION="${1:-6.19.6}"
15-
HYPERION_VERSION="2.0.2"
15+
HYPERION_VERSION="2.2.0"
1616
SOURCE_DIR="${2:-./linux-${KERNEL_VERSION%.*}}"
1717

1818
# Fixed timestamp for reproducible builds (ISO 8601)

โ€Ždocs/build.mdโ€Ž

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ done
9292
```bash
9393
# Build the kernel image, modules, and DTBs
9494
# Use all available CPU cores for maximum speed
95-
make -j$(nproc) LOCALVERSION="-Hyperion-2.0.2" 2>&1 | tee build.log
95+
make -j$(nproc) LOCALVERSION="-Hyperion-2.2.0" 2>&1 | tee build.log
9696

9797
# Build modules only
9898
make modules -j$(nproc)
@@ -137,10 +137,10 @@ sudo reboot
137137

138138
```bash
139139
uname -r
140-
# Expected: 6.19.6-Hyperion-2.0.2
140+
# Expected: 6.19.6-Hyperion-2.2.0
141141

142142
uname -v
143-
# Expected: #1 SMP PREEMPT Linux 6.19.6-Hyperion-2.0.2 (Soumalya Das) 2026
143+
# Expected: #1 SMP PREEMPT Linux 6.19.6-Hyperion-2.2.0 (Soumalya Das) 2026
144144

145145
# Verify headers symlink exists
146146
ls -la /lib/modules/$(uname -r)/build

โ€Ždocs/dkms-compatibility.mdโ€Ž

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ sudo make headers_install INSTALL_HDR_PATH=/usr
9090
sudo make modules_prepare
9191

9292
# Step 3: Copy full headers directory
93-
KVER="6.19.6-Hyperion-2.0.2"
93+
KVER="6.19.6-Hyperion-2.2.0"
9494
sudo mkdir -p /usr/src/linux-headers-${KVER}
9595

9696
# Copy all header files
@@ -106,7 +106,7 @@ sudo ln -sfn /usr/src/linux-headers-${KVER} \
106106

107107
# Verify
108108
ls -la /lib/modules/${KVER}/build
109-
# โ†’ /lib/modules/6.19.6-Hyperion-2.0.2/build -> /usr/src/linux-headers-6.19.6-Hyperion-2.0.2
109+
# โ†’ /lib/modules/6.19.6-Hyperion-2.2.0/build -> /usr/src/linux-headers-6.19.6-Hyperion-2.2.0
110110
```
111111

112112
The `install-headers.sh` script does all of this automatically.
@@ -147,7 +147,7 @@ sudo dnf install akmod-nvidia # Fedora (akmods variant)
147147

148148
# Verify
149149
sudo dkms status | grep nvidia
150-
# nvidia/550.54.14, 6.19.6-Hyperion-2.0.2, x86_64: installed โœ“
150+
# nvidia/550.54.14, 6.19.6-Hyperion-2.2.0, x86_64: installed โœ“
151151

152152
# Load
153153
sudo modprobe nvidia
@@ -190,7 +190,7 @@ with the current kernel's CRC.
190190

191191
**Hyperion provides** `Module.symvers` at:
192192
```
193-
/usr/src/linux-headers-6.19.6-Hyperion-2.0.2/Module.symvers
193+
/usr/src/linux-headers-6.19.6-Hyperion-2.2.0/Module.symvers
194194
```
195195

196196
DKMS automatically uses this file during module builds via:

โ€Ždocs/installation.mdโ€Ž

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ cd linux-6.19.6
1313
sudo make modules_install
1414
```
1515

16-
This installs `.ko` files to `/lib/modules/6.19.6-Hyperion-2.0.2/`.
16+
This installs `.ko` files to `/lib/modules/6.19.6-Hyperion-2.2.0/`.
1717

1818
### 2. Install Headers
1919

@@ -23,8 +23,8 @@ sudo bash /path/to/hyperion/scripts/install-headers.sh
2323

2424
This:
2525
- Runs `make headers_install` to install sanitised user-space headers
26-
- Copies build artifacts to `/usr/src/linux-headers-6.19.6-Hyperion-2.0.2/`
27-
- Creates the `/lib/modules/6.19.6-Hyperion-2.0.2/build` symlink
26+
- Copies build artifacts to `/usr/src/linux-headers-6.19.6-Hyperion-2.2.0/`
27+
- Creates the `/lib/modules/6.19.6-Hyperion-2.2.0/build` symlink
2828
- Triggers DKMS to rebuild all registered modules for the new kernel
2929

3030
### 3. Install Kernel Image
@@ -65,7 +65,7 @@ DKMS modules will auto-build for the new kernel after headers are installed.
6565
sudo dkms status
6666

6767
# Force rebuild for current kernel
68-
sudo dkms autoinstall -k 6.19.6-Hyperion-2.0.2
68+
sudo dkms autoinstall -k 6.19.6-Hyperion-2.2.0
6969

7070
# Example: NVIDIA
7171
sudo apt install nvidia-dkms-550 # Debian/Ubuntu
@@ -90,15 +90,15 @@ sudo apt install v4l2loopback-dkms
9090
sudo reboot
9191

9292
# After reboot:
93-
uname -r # Should show: 6.19.6-Hyperion-2.0.2
93+
uname -r # Should show: 6.19.6-Hyperion-2.2.0
9494
uname -a # Full version string with author credit
9595

9696
# Verify headers are at the correct path
97-
ls /usr/src/linux-headers-6.19.6-Hyperion-2.0.2/
97+
ls /usr/src/linux-headers-6.19.6-Hyperion-2.2.0/
9898

9999
# Verify build symlink
100100
readlink /lib/modules/$(uname -r)/build
101-
# Should show: /usr/src/linux-headers-6.19.6-Hyperion-2.0.2
101+
# Should show: /usr/src/linux-headers-6.19.6-Hyperion-2.2.0
102102

103103
# Verify DKMS modules all built
104104
sudo dkms status
@@ -114,20 +114,20 @@ ls /sys/kernel/kheaders.tar.xz
114114

115115
```bash
116116
# Remove kernel image and associated files
117-
sudo rm -f /boot/vmlinuz-6.19.6-Hyperion-2.0.2
118-
sudo rm -f /boot/initrd.img-6.19.6-Hyperion-2.0.2
119-
sudo rm -f /boot/System.map-6.19.6-Hyperion-2.0.2
120-
sudo rm -f /boot/config-6.19.6-Hyperion-2.0.2
117+
sudo rm -f /boot/vmlinuz-6.19.6-Hyperion-2.2.0
118+
sudo rm -f /boot/initrd.img-6.19.6-Hyperion-2.2.0
119+
sudo rm -f /boot/System.map-6.19.6-Hyperion-2.2.0
120+
sudo rm -f /boot/config-6.19.6-Hyperion-2.2.0
121121

122122
# Remove modules
123-
sudo rm -rf /lib/modules/6.19.6-Hyperion-2.0.2/
123+
sudo rm -rf /lib/modules/6.19.6-Hyperion-2.2.0/
124124

125125
# Remove headers
126-
sudo rm -rf /usr/src/linux-headers-6.19.6-Hyperion-2.0.2/
126+
sudo rm -rf /usr/src/linux-headers-6.19.6-Hyperion-2.2.0/
127127

128128
# Update bootloader
129129
sudo update-grub # or your distro equivalent
130130

131131
# Remove DKMS records for this kernel
132-
sudo dkms remove --all -k 6.19.6-Hyperion-2.0.2
132+
sudo dkms remove --all -k 6.19.6-Hyperion-2.2.0
133133
```

โ€Ždocs/kernel-attribution.mdโ€Ž

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ all version strings, `uname` output, and boot messages correctly identify as
77
Expected result:
88

99
```
10-
Linux version 6.19.6-Hyperion-2.0.2 (Soumalya Das) (gcc version 13.2.0) #1 SMP PREEMPT 2026
10+
Linux version 6.19.6-Hyperion-2.2.0 (Soumalya Das) (gcc version 13.2.0) #1 SMP PREEMPT 2026
1111
```
1212

1313
---
@@ -28,12 +28,12 @@ NAME = Hurr durr I'ma ninja sloth
2828
VERSION = 6
2929
PATCHLEVEL = 12
3030
SUBLEVEL = 0
31-
EXTRAVERSION = -Hyperion-2.0.2
31+
EXTRAVERSION = -Hyperion-2.2.0
3232
NAME = Hyperion
3333
```
3434

3535
The `EXTRAVERSION` is what appears in `uname -r` **when not overridden by**
36-
`CONFIG_LOCALVERSION`. Since we also set `CONFIG_LOCALVERSION="-Hyperion-2.0.2"`
36+
`CONFIG_LOCALVERSION`. Since we also set `CONFIG_LOCALVERSION="-Hyperion-2.2.0"`
3737
in `hyperion.config`, they work together. Set `EXTRAVERSION` in Makefile to
3838
empty and rely on `CONFIG_LOCALVERSION` for flexibility, OR set both to the
3939
same value for a hard-coded build.
@@ -42,7 +42,7 @@ same value for a hard-coded build.
4242

4343
```makefile
4444
EXTRAVERSION =
45-
# CONFIG_LOCALVERSION="-Hyperion-2.0.2" in .config handles the suffix
45+
# CONFIG_LOCALVERSION="-Hyperion-2.2.0" in .config handles the suffix
4646
```
4747

4848
---
@@ -51,16 +51,16 @@ EXTRAVERSION =
5151

5252
```kconfig
5353
# In hyperion.config (already set):
54-
CONFIG_LOCALVERSION="-Hyperion-2.0.2"
54+
CONFIG_LOCALVERSION="-Hyperion-2.2.0"
5555
CONFIG_LOCALVERSION_AUTO=n
5656
```
5757

58-
This produces: `6.19.6-Hyperion-2.0.2`
58+
This produces: `6.19.6-Hyperion-2.2.0`
5959

6060
**Build-time override** (takes precedence over config):
6161

6262
```bash
63-
make -j$(nproc) LOCALVERSION="-Hyperion-2.0.2"
63+
make -j$(nproc) LOCALVERSION="-Hyperion-2.2.0"
6464
```
6565

6666
---
@@ -104,7 +104,7 @@ In your build environment:
104104
```bash
105105
export KBUILD_BUILD_USER="Soumalya Das"
106106
export KBUILD_BUILD_HOST="hyperion-build"
107-
make -j$(nproc) LOCALVERSION="-Hyperion-2.0.2"
107+
make -j$(nproc) LOCALVERSION="-Hyperion-2.2.0"
108108
```
109109

110110
This is the **recommended approach** as it requires no source modification.
@@ -128,10 +128,10 @@ If you want to also embed the git commit hash:
128128

129129
```bash
130130
# In scripts/setlocalversion, near the end, append custom string:
131-
echo "-Hyperion-2.0.2-$(git rev-parse --short HEAD 2>/dev/null || echo 'release')"
131+
echo "-Hyperion-2.2.0-$(git rev-parse --short HEAD 2>/dev/null || echo 'release')"
132132
```
133133

134-
This produces: `6.19.6-Hyperion-2.0.2-a3f9c21`
134+
This produces: `6.19.6-Hyperion-2.2.0-a3f9c21`
135135

136136
---
137137

@@ -168,23 +168,23 @@ After building and booting:
168168
```bash
169169
# Release string (uname -r)
170170
uname -r
171-
# โ†’ 6.19.6-Hyperion-2.0.2
171+
# โ†’ 6.19.6-Hyperion-2.2.0
172172
173173
# Full version string (uname -v)
174174
uname -v
175-
# โ†’ #1 SMP PREEMPT Linux 6.19.6-Hyperion-2.0.2 (Soumalya Das) 2026
175+
# โ†’ #1 SMP PREEMPT Linux 6.19.6-Hyperion-2.2.0 (Soumalya Das) 2026
176176
177177
# All info
178178
uname -a
179-
# โ†’ Linux hyperion 6.19.6-Hyperion-2.0.2 #1 SMP PREEMPT ... (Soumalya Das) 2026 x86_64 GNU/Linux
179+
# โ†’ Linux hyperion 6.19.6-Hyperion-2.2.0 #1 SMP PREEMPT ... (Soumalya Das) 2026 x86_64 GNU/Linux
180180
181181
# /proc interface
182182
cat /proc/version
183-
# โ†’ Linux version 6.19.6-Hyperion-2.0.2 (Soumalya Das) (gcc version 13.2.0 ...) #1 SMP PREEMPT 2026
183+
# โ†’ Linux version 6.19.6-Hyperion-2.2.0 (Soumalya Das) (gcc version 13.2.0 ...) #1 SMP PREEMPT 2026
184184
185185
# Kernel banner in dmesg
186186
dmesg | head -3
187-
# โ†’ [ 0.000000] Linux version 6.19.6-Hyperion-2.0.2 (Soumalya Das) ...
187+
# โ†’ [ 0.000000] Linux version 6.19.6-Hyperion-2.2.0 (Soumalya Das) ...
188188
```
189189

190190
---

โ€Ždocs/troubleshooting.mdโ€Ž

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -61,29 +61,29 @@ ls /boot/loader/entries/
6161

6262
**Symptom:**
6363
```
64-
Error! Bad return status for module build on kernel: 6.19.6-Hyperion-2.0.2
64+
Error! Bad return status for module build on kernel: 6.19.6-Hyperion-2.2.0
6565
```
6666

6767
**Step 1: Check if headers exist**
6868
```bash
69-
ls /usr/src/linux-headers-6.19.6-Hyperion-2.0.2/
69+
ls /usr/src/linux-headers-6.19.6-Hyperion-2.2.0/
7070
# If empty or missing โ†’ run install-headers.sh
7171
sudo bash /path/to/hyperion/scripts/install-headers.sh
7272
```
7373

7474
**Step 2: Verify build symlink**
7575
```bash
76-
readlink /lib/modules/6.19.6-Hyperion-2.0.2/build
77-
# Must point to /usr/src/linux-headers-6.19.6-Hyperion-2.0.2
76+
readlink /lib/modules/6.19.6-Hyperion-2.2.0/build
77+
# Must point to /usr/src/linux-headers-6.19.6-Hyperion-2.2.0
7878

7979
# Fix if wrong:
80-
sudo ln -sfn /usr/src/linux-headers-6.19.6-Hyperion-2.0.2 \
81-
/lib/modules/6.19.6-Hyperion-2.0.2/build
80+
sudo ln -sfn /usr/src/linux-headers-6.19.6-Hyperion-2.2.0 \
81+
/lib/modules/6.19.6-Hyperion-2.2.0/build
8282
```
8383

8484
**Step 3: Try building DKMS module manually**
8585
```bash
86-
sudo dkms build -m nvidia -v 550.54.14 -k 6.19.6-Hyperion-2.0.2 --verbose
86+
sudo dkms build -m nvidia -v 550.54.14 -k 6.19.6-Hyperion-2.2.0 --verbose
8787
```
8888

8989
**Step 4: Check module build log**
@@ -98,7 +98,7 @@ cat /var/lib/dkms/<module>/<version>/build/make.log
9898
**Symptom:**
9999
```
100100
insmod: ERROR: could not insert module foo.ko: Invalid module format
101-
dmesg: foo: version magic '6.19.6 ...' should be '6.19.6-Hyperion-2.0.2 ...'
101+
dmesg: foo: version magic '6.19.6 ...' should be '6.19.6-Hyperion-2.2.0 ...'
102102
```
103103

104104
**Cause:** Module was built for a different kernel version

โ€Žhyperion.configโ€Ž

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2615,7 +2615,7 @@ CONFIG_PANIC_ON_OOPS=n
26152615
CONFIG_PANIC_TIMEOUT=0
26162616

26172617
# ==============================================================
2618-
# HYPERION v2.0.2 -- GOD-TIER ADDITIONS
2618+
# HYPERION v2.2.0 -- GOD-TIER ADDITIONS
26192619
# All features below are sourced from: CachyOS kernel config,
26202620
# RHEL Low-Latency Tuning Guide, sched-ext upstream, XanMod,
26212621
# kernel.org documentation, LKML, Phoronix benchmarks (2024-2026)
@@ -2949,7 +2949,7 @@ CONFIG_ARCH_SUPPORTS_INT128=y
29492949
# CRYPTO -- BLAKE2B/S, GHASH CLMUL explicit
29502950
# STABILITY-- LIVEPATCH=y
29512951
#
2952-
# v2.0.2 -- MONOLITHIC INTEGRATION PASS
2952+
# v2.2.0 -- MONOLITHIC INTEGRATION PASS
29532953
# All previous features retained -- see inline comments above.
29542954
# ==============================================================
29552955
# SCHED -- SCHED_HRTICK=y: sub-ms scheduler ticks via hrtimer
@@ -2984,15 +2984,15 @@ CONFIG_ARCH_SUPPORTS_INT128=y
29842984
# STABILITY-- LIVEPATCH=y: live kernel patching (kpatch/kGraft).
29852985
# Apply CVE fixes without rebooting running VMs/games.
29862986
#
2987-
# v2.0.2 -- MONOLITHIC INTEGRATION PASS (all =m -> =y):
2987+
# v2.2.0 -- MONOLITHIC INTEGRATION PASS (all =m -> =y):
29882988
# BUILTIN -- 608 module entries promoted to built-in (=y)
29892989
# Zero module-load latency for ANY in-tree driver.
29902990
# bzImage handles everything on its own.
29912991
# BUILTIN -- KALLSYMS_ALL=y (full symbol table, safe now everything
29922992
# is in-tree -- required for sched_ext BPF introspection)
29932993
# BUILTIN -- EFIVAR_FS=y (was =m -- efibootmgr works from initramfs)
29942994
#
2995-
# All previous v2.0.2 additions retained
2995+
# All previous v2.2.0 additions retained
29962996
# ==============================================================
29972997
# TARGET -- Full compatibility: Arch - Ubuntu - Debian - Fedora -
29982998
# openSUSE - RHEL - Mint - Pop!_OS - NixOS and any
@@ -3058,18 +3058,18 @@ CONFIG_ARCH_SUPPORTS_INT128=y
30583058
# CONFIG_L2TP=y + L2TP_V3/IP/ETH: enterprise/ISP VPNs.
30593059
# CONFIG_NETFILTER_XT_TARGET_CHECKSUM=y: VM DHCP/DNS fix.
30603060
#
3061-
# All previous v2.0.2 additions retained (see below)
3061+
# All previous v2.2.0 additions retained (see below)
30623062
# ==============================================================
30633063
#
3064-
# v2.0.2 -- MONOLITHIC INTEGRATION PASS (all =m -> =y):
3064+
# v2.2.0 -- MONOLITHIC INTEGRATION PASS (all =m -> =y):
30653065
# BUILTIN -- 608 module entries promoted to built-in (=y)
30663066
# Zero module-load latency for ANY in-tree driver.
30673067
# bzImage handles everything on its own.
30683068
# BUILTIN -- KALLSYMS_ALL=y (full symbol table, safe now everything
30693069
# is in-tree -- required for sched_ext BPF introspection)
30703070
# BUILTIN -- EFIVAR_FS=y (was =m -- efibootmgr works from initramfs)
30713071
#
3072-
# v2.0.2 -- NEW GOD-TIER TWEAKS (sourced from web + upstream):
3072+
# v2.2.0 -- NEW GOD-TIER TWEAKS (sourced from web + upstream):
30733073
# SCHED -- SCHED_CLASS_EXT=y: sched_ext BPF framework (Linux 6.12)
30743074
# Runtime-swappable CPU schedulers: scx_bpfland, scx_lavd,
30753075
# scx_rusty -- no recompile needed to switch schedulers.
@@ -3102,18 +3102,18 @@ CONFIG_ARCH_SUPPORTS_INT128=y
31023102
# HW -- X86_SGX=y: Intel SGX enclave support (zero cost unused)
31033103
# HW -- VIRT_CPU_ACCOUNTING_GEN=y: correct accounting w/ nohz_full
31043104
#
3105-
# v2.0.2: SCHED_CORE, INTEL_IDLE, ZSWAP_SHRINKER, PER_VMA_LOCK,
3105+
# v2.2.0: SCHED_CORE, INTEL_IDLE, ZSWAP_SHRINKER, PER_VMA_LOCK,
31063106
# INET_DIAG=y, NVME_AUTH, RANDOM_KMALLOC_CACHES
31073107
#
3108-
# v2.0.2 -- QEMU boot + Waydroid:
3108+
# v2.2.0 -- QEMU boot + Waydroid:
31093109
# BOOT FIX -- BLK_DEV_INITRD=y + RD_* decompressors (was missing)
31103110
# BOOT FIX -- VIRTIO=y, VIRTIO_PCI=y, VIRTIO_BLK=y (was =m)
31113111
# BOOT FIX -- ATA_PIIX=y (was =m)
31123112
# WAYDROID -- ANDROID=y, ANDROID_BINDER_IPC=y, ANDROID_BINDERFS=y
31133113
# GUI INPUT -- INPUT_EVDEV=y (was missing)
31143114
# BLUETOOTH -- BT=y stack + UHID (was entirely absent)
31153115
#
3116-
# v2.0.2 -- KVM / VM / Waydroid full pass (new additions):
3116+
# v2.2.0 -- KVM / VM / Waydroid full pass (new additions):
31173117
# KVM -- KVM_ASYNC_PF=y: async page fault delivery (huge win for
31183118
# ballooned/swapped guest memory -- vCPU parks instead of halts)
31193119
# KVM -- KVM_COMPAT=y: 32-bit compat ioctls for legacy mgmt tools
@@ -3131,7 +3131,7 @@ CONFIG_ARCH_SUPPORTS_INT128=y
31313131
# WAYDROID -- ANDROID_BINDER_IPC_SELFTEST disabled (production-safe)
31323132
# Full container dependency audit added as inline comments
31333133
#
3134-
# v2.0.2 -- Real hardware (UEFI) sanity pass:
3134+
# v2.2.0 -- Real hardware (UEFI) sanity pass:
31353135
# REAL HW -- CONFIG_EFI=y: UEFI runtime services (was missing)
31363136
# REAL HW -- CONFIG_EFI_STUB=y: kernel IS the EFI executable
31373137
# REAL HW -- CONFIG_EFIVAR_FS=y: /sys/firmware/efi/efivars

0 commit comments

Comments
ย (0)