Lean and simple performance oriented build of the Linux kernel.
Every change aims to maintain - or, possibly, optimize - the power usage-to-performance ratio.
- Kernel compression mode LZ4
- BMQ Process Scheduler
- No I/O Scheduler (suited for better SSD performance)
- Swap Pages LZ4/z3fold
- Westwood+ TCP Congestion Control + FQ_CODEL Queue Scheduler
- Disabled several hardening and debugging options
- Low swappiness value
- GCC optimization -O3, graysky2's patch
- LLVM/Clang build facility
Pre-built releases no more provided
Optionally, before jumping to the actual build, you may wish to edit the iodine.sh
to set your personal configs under Configurations
.
To build a DEB package (you could omit --deb as it's the default option), use:
./iodine.sh -gpc --deb --build
for a RPM package, use:
./iodine.sh -gpc --rpm --build
Append --generic
to build a generic kernel.
Complete usage ./iodine.sh -h
:
-h, --help
Print these options
-g, --get-kernel
Clone the Linux repository only
-p, --apply-patches
Apply patches only
-c, --set-config
Generate the kernel config with the selected options
-b, --build
Run over all the commands to build the kernel
--llvm
Use LLVM
--deb, --rpm
Package to either DEB or RPM
--generic
Optimize for generic x86_64 CPUs
--sign-modules
Signing facility
To sign the modules, proceed to update the option in the iodine.sh file to IODINE_SIGNING="y"
and use IODINE_SIGNING_KEY
to assign the signing key path.
Since the kernel is compressed using LZ4, be sure to have it installed!
$ sudo apt install lz4
For a faster, less safe, experience you could disable the security mitigations editing the GRUB default (/etc/default/grub), appending mitigations=off
to the GRUB_CMDLINE_LINUX_DEFAULT option:
GRUB_CMDLINE_LINUX_DEFAULT="quiet mitigations=off"