You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
These kernel OCI images contain the kernel binary (at `/boot/vmlinux`) and supporting modules (in `/lib/modules`)
4
+
for guest VMs ran by Ignite.
5
+
6
+
## Building the Kernel Images
7
+
8
+
```console
9
+
$ make
10
+
```
11
+
12
+
## Versions
13
+
14
+
All LTS versions starting from 4.14 and above are supported by the Ignite team.
15
+
This means in practice:
16
+
17
+
- 4.14.x
18
+
- 4.19.x
19
+
- 5.4.x
20
+
21
+
The exact patch versions may be found in the [Makefile](Makefile).
22
+
The available versions exist in the [stable kernel git tree](https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/refs/).
23
+
24
+
## Upgrading to a new kernel version
25
+
26
+
The kernel Makefile has an `upgrade` command that will generate patched kernel configs for each specific version in `KERNEL_VERSIONS`.
27
+
28
+
The linux kernel source code is checked out in a build container for each target version, and a resulting "olddefconfig" based on each Firecracker recommended base-config in the `upstream/` directory is then output to the `versioned/` directory.
29
+
30
+
Once `make upgrade-%` has produced a firecracker base-config for all `KERNEL_VERSIONS`, the resulting versioned configs are copied to the `generated/` dir and are patched with ignite specific `./config-patches`. These configs under `generated/` are used for the matching kernel builds.
31
+
32
+
Run:
33
+
34
+
```console
35
+
$ make upgrade
36
+
```
37
+
38
+
after you've upgraded the values in the Makefile.
39
+
40
+
## Kernel Config Parameters we care about
41
+
42
+
Some options to the kernel are specifically important for making guest software work.
43
+
44
+
Please see: [config-patches](config-patches) for what kernel configs we've changed.
45
+
The base kernel config is the MicroVM-optimized config file from the Firecracker team.
46
+
We're storing it in [upstream/config-amd64](upstream/config-amd64). It's available online
47
+
at [firecracker/resources](https://github.com/firecracker-microvm/firecracker/tree/master/resources).
0 commit comments