diff --git a/README.adoc b/README.adoc index f4be2a5..7319455 100644 --- a/README.adoc +++ b/README.adoc @@ -1,5 +1,5 @@ = Linux Kernel Module Cheat -:description: The perfect emulation setup to study and develop the <> v5.1, kernel modules, <>, <> and x86_64, ARMv7 and ARMv8 <> and <> assembly, <>, <> and <>. <> and <> just work. Powered by <> and <>. Highly automated. Thoroughly documented. Automated <>. "Tested" in an Ubuntu 18.04 host. +:description: The perfect emulation setup to study and develop the <> v5.2.1, kernel modules, <>, <> and x86_64, ARMv7 and ARMv8 <> and <> assembly, <>, <> and <>. <> and <> just work. Powered by <> and <>. Highly automated. Thoroughly documented. Automated <>. "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: <>. +===== Update the Linux kernel LKMC procedure + +First, use use the branching procedure described at: <> + +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: <>. The only tests that can be skipped are essentially the <> 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 $? .... diff --git a/common.py b/common.py index 8a09ac5..bf94a76 100644 --- a/common.py +++ b/common.py @@ -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__))