From: Scott Weaver on gitlab.com Merge Request: https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3822
This enables Rust code in the ELN kernel, which requires enabling CONFIG_EXTENDED_MODVERSIONS and CONFIG_GENDWARFKSYMS. The DRM panic with QR code functionality is the first Rust based code to be enabled. A QR code URL is not defined but we will likely want to update that before enabling this in RHEL.
Fixes: https://issues.redhat.com/browse/RHEL-86155
Signed-off-by: Scott Weaver scweaver@redhat.com
--- redhat/configs/fedora/generic/CONFIG_DRM_PANIC => redhat/configs/common/generic/CONFIG_DRM_PANIC | 0 redhat/configs/fedora/generic/CONFIG_DRM_PANIC_BACKGROUND_COLOR => redhat/configs/common/generic/CONFIG_DRM_PANIC_BACKGROUND_COLOR | 0 redhat/configs/fedora/generic/CONFIG_DRM_PANIC_DEBUG => redhat/configs/common/generic/CONFIG_DRM_PANIC_DEBUG | 0 redhat/configs/fedora/generic/CONFIG_DRM_PANIC_FOREGROUND_COLOR => redhat/configs/common/generic/CONFIG_DRM_PANIC_FOREGROUND_COLOR | 0 redhat/configs/fedora/generic/CONFIG_DRM_PANIC_SCREEN_QR_CODE => redhat/configs/common/generic/CONFIG_DRM_PANIC_SCREEN_QR_CODE | 0 redhat/configs/fedora/generic/CONFIG_DRM_PANIC_SCREEN_QR_VERSION => redhat/configs/common/generic/CONFIG_DRM_PANIC_SCREEN_QR_VERSION | 0 redhat/configs/common/generic/CONFIG_RUST | 2 +- redhat/configs/common/generic/CONFIG_RUST_OVERFLOW_CHECKS | 2 +- redhat/configs/fedora/generic/CONFIG_RUST | 1 - redhat/configs/fedora/generic/CONFIG_RUST_OVERFLOW_CHECKS | 1 - redhat/configs/rhel/generic/x86/CONFIG_SAMPLES_RUST | 1 + redhat/configs/rhel/generic/CONFIG_DRM_PANIC | 1 - redhat/configs/rhel/generic/CONFIG_DRM_PANIC_SCREEN | 1 + redhat/configs/rhel/generic/CONFIG_DRM_PANIC_SCREEN_QR_CODE_URL | 1 + redhat/configs/rhel/generic/CONFIG_EXTENDED_MODVERSIONS | 2 +- redhat/configs/rhel/generic/CONFIG_GENDWARFKSYMS | 2 +- redhat/configs/rhel/generic/CONFIG_GENKSYMS | 2 +- redhat/kernel.spec.template | 4 +--- 18 files changed, 9 insertions(+), 11 deletions(-)
From: Scott Weaver scweaver@redhat.com
redhat: enable Rust code in ELN
Rust is already supported in Fedora. This moves the essential Rust support configs to common, enabling it in ELN.
EXTENDED_MODVERSIONS is enabled to support long symbol name versioning and GENDWARFKSYMS is enabled which requires that we disable GENKSYMS.
Signed-off-by: Scott Weaver scweaver@redhat.com
diff --git a/redhat/configs/common/generic/CONFIG_RUST b/redhat/configs/common/generic/CONFIG_RUST index blahblah..blahblah 100644 --- a/redhat/configs/common/generic/CONFIG_RUST +++ b/redhat/configs/common/generic/CONFIG_RUST @@ -1 +1 @@ -# CONFIG_RUST is not set +CONFIG_RUST=y diff --git a/redhat/configs/common/generic/CONFIG_RUST_OVERFLOW_CHECKS b/redhat/configs/common/generic/CONFIG_RUST_OVERFLOW_CHECKS index blahblah..blahblah 100644 --- a/redhat/configs/common/generic/CONFIG_RUST_OVERFLOW_CHECKS +++ b/redhat/configs/common/generic/CONFIG_RUST_OVERFLOW_CHECKS @@ -1 +1 @@ -# CONFIG_RUST_OVERFLOW_CHECKS is not set +CONFIG_RUST_OVERFLOW_CHECKS=y diff --git a/redhat/configs/fedora/generic/CONFIG_RUST b/redhat/configs/fedora/generic/CONFIG_RUST deleted file mode 100644 index blahblah..blahblah 0 --- a/redhat/configs/fedora/generic/CONFIG_RUST +++ /dev/null @@ -1 +0,0 @@ -CONFIG_RUST=y diff --git a/redhat/configs/fedora/generic/CONFIG_RUST_OVERFLOW_CHECKS b/redhat/configs/fedora/generic/CONFIG_RUST_OVERFLOW_CHECKS deleted file mode 100644 index blahblah..blahblah 0 --- a/redhat/configs/fedora/generic/CONFIG_RUST_OVERFLOW_CHECKS +++ /dev/null @@ -1 +0,0 @@ -CONFIG_RUST_OVERFLOW_CHECKS=y diff --git a/redhat/configs/rhel/generic/CONFIG_EXTENDED_MODVERSIONS b/redhat/configs/rhel/generic/CONFIG_EXTENDED_MODVERSIONS index blahblah..blahblah 100644 --- a/redhat/configs/rhel/generic/CONFIG_EXTENDED_MODVERSIONS +++ b/redhat/configs/rhel/generic/CONFIG_EXTENDED_MODVERSIONS @@ -1 +1 @@ -# CONFIG_EXTENDED_MODVERSIONS is not set +CONFIG_EXTENDED_MODVERSIONS=y diff --git a/redhat/configs/rhel/generic/CONFIG_GENDWARFKSYMS b/redhat/configs/rhel/generic/CONFIG_GENDWARFKSYMS index blahblah..blahblah 100644 --- a/redhat/configs/rhel/generic/CONFIG_GENDWARFKSYMS +++ b/redhat/configs/rhel/generic/CONFIG_GENDWARFKSYMS @@ -1 +1 @@ -# CONFIG_GENDWARFKSYMS is not set +CONFIG_GENDWARFKSYMS=y diff --git a/redhat/configs/rhel/generic/CONFIG_GENKSYMS b/redhat/configs/rhel/generic/CONFIG_GENKSYMS index blahblah..blahblah 100644 --- a/redhat/configs/rhel/generic/CONFIG_GENKSYMS +++ b/redhat/configs/rhel/generic/CONFIG_GENKSYMS @@ -1 +1 @@ -CONFIG_GENKSYMS=y +# CONFIG_GENKSYMS is not set diff --git a/redhat/configs/rhel/generic/x86/CONFIG_SAMPLES_RUST b/redhat/configs/rhel/generic/x86/CONFIG_SAMPLES_RUST new file mode 100644 index blahblah..blahblah 100644 --- /dev/null +++ b/redhat/configs/rhel/generic/x86/CONFIG_SAMPLES_RUST @@ -0,0 +1 @@ +# CONFIG_SAMPLES_RUST is not set diff --git a/redhat/kernel.spec.template b/redhat/kernel.spec.template index blahblah..blahblah 100644 --- a/redhat/kernel.spec.template +++ b/redhat/kernel.spec.template @@ -694,9 +694,7 @@ BuildRequires: bzip2, xz, findutils, m4, perl-interpreter, perl-Carp, perl-devel BuildRequires: zstd %endif BuildRequires: gcc, binutils, redhat-rpm-config, hmaccalc, bison, flex, gcc-c++ -%if 0%{?fedora} -BuildRequires: rust, rust-src, bindgen, rustfmt -%endif +BuildRequires: rust, rust-src, bindgen, rustfmt, clippy BuildRequires: net-tools, hostname, bc, elfutils-devel BuildRequires: dwarves BuildRequires: python3
-- https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3822
From: Scott Weaver scweaver@redhat.com
redhat: enable drm panic screen with a QR code
Now that support for Rust code has been enabled, let's enable the drm panic screen and use the Rust based QR code generator.
Signed-off-by: Scott Weaver scweaver@redhat.com
diff --git a/redhat/configs/fedora/generic/CONFIG_DRM_PANIC b/redhat/configs/common/generic/CONFIG_DRM_PANIC rename from redhat/configs/fedora/generic/CONFIG_DRM_PANIC rename to redhat/configs/common/generic/CONFIG_DRM_PANIC index blahblah..blahblah 100644 --- a/redhat/configs/fedora/generic/CONFIG_DRM_PANIC +++ b/redhat/configs/common/generic/CONFIG_DRM_PANIC diff --git a/redhat/configs/fedora/generic/CONFIG_DRM_PANIC_BACKGROUND_COLOR b/redhat/configs/common/generic/CONFIG_DRM_PANIC_BACKGROUND_COLOR rename from redhat/configs/fedora/generic/CONFIG_DRM_PANIC_BACKGROUND_COLOR rename to redhat/configs/common/generic/CONFIG_DRM_PANIC_BACKGROUND_COLOR index blahblah..blahblah 100644 --- a/redhat/configs/fedora/generic/CONFIG_DRM_PANIC_BACKGROUND_COLOR +++ b/redhat/configs/common/generic/CONFIG_DRM_PANIC_BACKGROUND_COLOR diff --git a/redhat/configs/fedora/generic/CONFIG_DRM_PANIC_DEBUG b/redhat/configs/common/generic/CONFIG_DRM_PANIC_DEBUG rename from redhat/configs/fedora/generic/CONFIG_DRM_PANIC_DEBUG rename to redhat/configs/common/generic/CONFIG_DRM_PANIC_DEBUG index blahblah..blahblah 100644 --- a/redhat/configs/fedora/generic/CONFIG_DRM_PANIC_DEBUG +++ b/redhat/configs/common/generic/CONFIG_DRM_PANIC_DEBUG diff --git a/redhat/configs/fedora/generic/CONFIG_DRM_PANIC_FOREGROUND_COLOR b/redhat/configs/common/generic/CONFIG_DRM_PANIC_FOREGROUND_COLOR rename from redhat/configs/fedora/generic/CONFIG_DRM_PANIC_FOREGROUND_COLOR rename to redhat/configs/common/generic/CONFIG_DRM_PANIC_FOREGROUND_COLOR index blahblah..blahblah 100644 --- a/redhat/configs/fedora/generic/CONFIG_DRM_PANIC_FOREGROUND_COLOR +++ b/redhat/configs/common/generic/CONFIG_DRM_PANIC_FOREGROUND_COLOR diff --git a/redhat/configs/fedora/generic/CONFIG_DRM_PANIC_SCREEN_QR_CODE b/redhat/configs/common/generic/CONFIG_DRM_PANIC_SCREEN_QR_CODE rename from redhat/configs/fedora/generic/CONFIG_DRM_PANIC_SCREEN_QR_CODE rename to redhat/configs/common/generic/CONFIG_DRM_PANIC_SCREEN_QR_CODE index blahblah..blahblah 100644 --- a/redhat/configs/fedora/generic/CONFIG_DRM_PANIC_SCREEN_QR_CODE +++ b/redhat/configs/common/generic/CONFIG_DRM_PANIC_SCREEN_QR_CODE diff --git a/redhat/configs/fedora/generic/CONFIG_DRM_PANIC_SCREEN_QR_VERSION b/redhat/configs/common/generic/CONFIG_DRM_PANIC_SCREEN_QR_VERSION rename from redhat/configs/fedora/generic/CONFIG_DRM_PANIC_SCREEN_QR_VERSION rename to redhat/configs/common/generic/CONFIG_DRM_PANIC_SCREEN_QR_VERSION index blahblah..blahblah 100644 --- a/redhat/configs/fedora/generic/CONFIG_DRM_PANIC_SCREEN_QR_VERSION +++ b/redhat/configs/common/generic/CONFIG_DRM_PANIC_SCREEN_QR_VERSION diff --git a/redhat/configs/rhel/generic/CONFIG_DRM_PANIC b/redhat/configs/rhel/generic/CONFIG_DRM_PANIC deleted file mode 100644 index blahblah..blahblah 0 --- a/redhat/configs/rhel/generic/CONFIG_DRM_PANIC +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_DRM_PANIC is not set diff --git a/redhat/configs/rhel/generic/CONFIG_DRM_PANIC_SCREEN b/redhat/configs/rhel/generic/CONFIG_DRM_PANIC_SCREEN new file mode 100644 index blahblah..blahblah 100644 --- /dev/null +++ b/redhat/configs/rhel/generic/CONFIG_DRM_PANIC_SCREEN @@ -0,0 +1 @@ +CONFIG_DRM_PANIC_SCREEN="qr_code" diff --git a/redhat/configs/rhel/generic/CONFIG_DRM_PANIC_SCREEN_QR_CODE_URL b/redhat/configs/rhel/generic/CONFIG_DRM_PANIC_SCREEN_QR_CODE_URL new file mode 100644 index blahblah..blahblah 100644 --- /dev/null +++ b/redhat/configs/rhel/generic/CONFIG_DRM_PANIC_SCREEN_QR_CODE_URL @@ -0,0 +1 @@ +CONFIG_DRM_PANIC_SCREEN_QR_CODE_URL=""
-- https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3822
From: Scott Weaver on gitlab.com https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3822#note_2451100...
Good catch @hertonrk-rh. I originally had MODVERSIONS=y but ran into a mismatch with CONFIG_GENDWARFKSYMS and misunderstood RUST config's `!MODVERSIONS` depends and disabled it. The cause of the mismatch was due to leaving GENKSYMS enabled. I've disabled that config now and left MODVERSIONS enabled.
From: Lianbo Jiang on gitlab.com https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3822#note_2451233...
Hi,
I would suggest doing a test firstly on the vmcore generated by the rust kernel, and see if crash utility can work well, otherwise crash tool could not analyze the vmcore once enabling the rust feature in kernel.
So far I haven't tested this feature, but we have a plan to support it in crash-utility. Thanks.
From: Philipp Rudo on gitlab.com https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3822#note_2452154...
@raquini you asked a very good question. In fact Rust support for the kernel debuggers was in our backlog for quite some time but there was always something more important to do... Having that said I'm in favor with enabling Rust in ELN now as that will give us enough time to work on the support. Plus getting some real world dumps will help with ironing out the biggest kinks before it is enabled in CS or RHEL.
From: Herton R. Krzesinski on gitlab.com https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3822#note_2452283...
Thank you Scott looks good now.
From: Scott Weaver on gitlab.com https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3822#note_2454519...
Hi @raquini - should we take any action items from this discussion to resolve this thread? Maybe we need to open an epic somewhere and start linking open issues to it?
From: Rafael Aquini on gitlab.com https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3822#note_2454639...
@scweaver, the Epic to track issues and corrective actions sounds like a great idea. I'm not opposing this effort to go forward at all. Sorry if that was the way it came across. However, I wanted to make sure we get all the folks who will have a stake in supporting this new tech early involved and aware of it, so nobody gets caught off guard when something odd pops up. As far as this thread is concerned, I'm okay with having it resolved and releasing the MR to proceed.
From: Rafael Aquini on gitlab.com https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3822#note_2454639...
@scweaver, the Epic to track issues and corrective actions sounds like a great idea. I'm not opposing this effort to go forward at all. Sorry if that was the way it came across. However, I wanted to make sure we get all the folks who will have a stake in supporting this new tech early involved and aware of it, so nobody gets caught off guard when something odd pops up because we all are going to need the debugging tools producing reliable data on these new modules, eventually. Regarding this thread, I'm okay with having it resolved and releasing the MR to proceed.
From: Rafael Aquini on gitlab.com https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3822#note_2455268...
Scott has file the EPIC here: https://issues.redhat.com/browse/RHEL-87592 Now stakeholder can file their issue tickets and link them to this epic. Thanks all!
From: Scott Weaver on gitlab.com https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3822#note_2455394...
Thanks @raquini for your help to bring attention to this!
From: Rafael Aquini on gitlab.com https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3822#note_2455268...
Scott has filed the EPIC here: https://issues.redhat.com/browse/RHEL-87592. Now, stakeholders can file their issue tickets and link them to this epic. Thanks all!
kernel@lists.fedoraproject.org