mirror of
https://github.com/cirosantilli/linux-kernel-module-cheat.git
synced 2026-01-23 02:05:57 +01:00
linux: update to v5.2.1
Improve the release procedure description.
This commit is contained in:
17
README.adoc
17
README.adoc
@@ -1,5 +1,5 @@
|
||||
= Linux Kernel Module Cheat
|
||||
:description: The perfect emulation setup to study and develop the <<linux-kernel>> v5.1, kernel modules, <<qemu-buildroot-setup,QEMU>>, <<gem5-buildroot-setup,gem5>> and x86_64, ARMv7 and ARMv8 <<userland-assembly,userland>> and <<baremetal-setup,baremetal>> assembly, <<c,ANSI C>>, <<cpp,C++>> and <<posix,POSIX>>. <<gdb>> and <<kgdb>> just work. Powered by <<about-the-qemu-buildroot-setup,Buildroot>> and <<about-the-baremetal-setup,crosstool-NG>>. Highly automated. Thoroughly documented. Automated <<test-this-repo,tests>>. "Tested" in an Ubuntu 18.04 host.
|
||||
:description: The perfect emulation setup to study and develop the <<linux-kernel>> v5.2.1, kernel modules, <<qemu-buildroot-setup,QEMU>>, <<gem5-buildroot-setup,gem5>> and x86_64, ARMv7 and ARMv8 <<userland-assembly,userland>> and <<baremetal-setup,baremetal>> assembly, <<c,ANSI C>>, <<cpp,C++>> and <<posix,POSIX>>. <<gdb>> and <<kgdb>> just work. Powered by <<about-the-qemu-buildroot-setup,Buildroot>> and <<about-the-baremetal-setup,crosstool-NG>>. Highly automated. Thoroughly documented. Automated <<test-this-repo,tests>>. "Tested" in an Ubuntu 18.04 host.
|
||||
:idprefix:
|
||||
:idseparator: -
|
||||
:nofooter:
|
||||
@@ -5198,6 +5198,17 @@ This also makes this repo the perfect setup to develop the Linux kernel.
|
||||
|
||||
In case something breaks while updating the Linux kernel, you can try to bisect it to understand the root cause: <<bisection>>.
|
||||
|
||||
===== Update the Linux kernel LKMC procedure
|
||||
|
||||
First, use use the branching procedure described at: <<update-a-forked-submodule>>
|
||||
|
||||
Because the kernel is so central to this repository, almost all tests must be re-run, so basically just follow the full testing procedure described at: <<test-this-repo>>. The only tests that can be skipped are essentially the <<baremetal>> tests.
|
||||
|
||||
Before comitting, don't forget to update:
|
||||
|
||||
* the `linux_kernel_version` constant in link:common.py[]
|
||||
* the tagline of this README
|
||||
|
||||
==== Downgrade the Linux kernel
|
||||
|
||||
The kernel is not forward compatible, however, so downgrading the Linux kernel requires downgrading the userland too to the latest Buildroot branch that supports it.
|
||||
@@ -15672,7 +15683,7 @@ There is no result reporting web UI however... but neither does GitLab CI: https
|
||||
Run all kernel boot benchmarks for one arch:
|
||||
|
||||
....
|
||||
./build-test-boot --size 3 && ./test-boot --all-archs --size 3
|
||||
./build-test-boot --size 3 && ./test-boot --all-archs --all-emulators --size 3
|
||||
cat "$(./getvar test_boot_benchmark_file)"
|
||||
....
|
||||
|
||||
@@ -16733,7 +16744,7 @@ Whenever a relative path is used inside a guest sample command, e.g. `insmod hel
|
||||
Run almost all tests:
|
||||
|
||||
....
|
||||
./build-test --size 3 && \
|
||||
./build-test --all-archs --all-emulators --size 3 && \
|
||||
./test --size 3
|
||||
echo $?
|
||||
....
|
||||
|
||||
@@ -38,7 +38,7 @@ common = sys.modules[__name__]
|
||||
# Fixed parameters that don't depend on CLI arguments.
|
||||
consts = {}
|
||||
consts['repo_short_id'] = 'lkmc'
|
||||
consts['linux_kernel_version'] = '5.1'
|
||||
consts['linux_kernel_version'] = '5.2.1'
|
||||
# https://stackoverflow.com/questions/20010199/how-to-determine-if-a-process-runs-inside-lxc-docker
|
||||
consts['in_docker'] = os.path.exists('/.dockerenv')
|
||||
consts['root_dir'] = os.path.dirname(os.path.abspath(__file__))
|
||||
|
||||
Reference in New Issue
Block a user