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
|
= 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:
|
:idprefix:
|
||||||
:idseparator: -
|
:idseparator: -
|
||||||
:nofooter:
|
: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>>.
|
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
|
==== 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.
|
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:
|
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)"
|
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:
|
Run almost all tests:
|
||||||
|
|
||||||
....
|
....
|
||||||
./build-test --size 3 && \
|
./build-test --all-archs --all-emulators --size 3 && \
|
||||||
./test --size 3
|
./test --size 3
|
||||||
echo $?
|
echo $?
|
||||||
....
|
....
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ common = sys.modules[__name__]
|
|||||||
# Fixed parameters that don't depend on CLI arguments.
|
# Fixed parameters that don't depend on CLI arguments.
|
||||||
consts = {}
|
consts = {}
|
||||||
consts['repo_short_id'] = 'lkmc'
|
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
|
# https://stackoverflow.com/questions/20010199/how-to-determine-if-a-process-runs-inside-lxc-docker
|
||||||
consts['in_docker'] = os.path.exists('/.dockerenv')
|
consts['in_docker'] = os.path.exists('/.dockerenv')
|
||||||
consts['root_dir'] = os.path.dirname(os.path.abspath(__file__))
|
consts['root_dir'] = os.path.dirname(os.path.abspath(__file__))
|
||||||
|
|||||||
Reference in New Issue
Block a user