Skip to content

Commit 617171e

Browse files
authored
feat: add experimental support to locally build new kernel versions (#86)
* feat: add experimental support to locally build new kernel versions * fix: shellcheck issues * chore: revert to default option value
1 parent c18c6b4 commit 617171e

File tree

2 files changed

+280
-43
lines changed

2 files changed

+280
-43
lines changed

README.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ Download & install the latest kernel available from kernel.ubuntu.com
3939
4040
Arguments:
4141
-c Check if a newer kernel version is available
42+
-b [VERSION] Build kernel VERSION locally and then install it (requires git & docker)
4243
-i [VERSION] Install kernel VERSION, see -l for list. You don't have to prefix
4344
with v. E.g. -i 4.9 is the same as -i v4.9. If version is
4445
omitted the latest available version will be installed
@@ -74,6 +75,23 @@ This script needs elevated privileges when installing or uninstalling kernels.
7475

7576
Either run this script with sudo or configure the path to sudo within the script to sudo automatically
7677

78+
## Building kernels locally *(EXPERIMENTAL)*
79+
80+
> :warning: YMMV, this is experimental support. Don't build kernel's if you don't know what you are doing
81+
82+
> :warning: If the build fails, please debug yourself and create a PR with fixes if needed. Also if you don't know how to debug the build failure, then you probably shouldn't be building your own kernels!
83+
84+
> :information_source: There are no plans to add full fledged support for building kernels. This functionality might stay experimental for a long time
85+
86+
The mainline kernel ppa only supports the latest Ubuntu release. But newer Ubuntu releases could use newer library versions then the current LTS releases (f.e. both libssl or glibc version issues have existed in the past). Which means that you won't be able to (fully) install the newer kernel anymore.
87+
88+
When that happens you could try to build your own kernel releases by using the `--build VERSION` argument (f.e. `-b 6.7.0`).
89+
90+
Kernel building support is provided by [TuxInvader/focal-mainline-builder](https://github.com/TuxInvader/focal-mainline-builder) so requires:
91+
92+
- git & docker
93+
- quite a bit of free disk space (~3GB to checkout the kernel source, maybe ~10GB or more during build)
94+
- can take quite a while depending on how fast your computer is
7795

7896
## Example output
7997

0 commit comments

Comments
 (0)