Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x86: add 6.6 as testing kernel #14868

Merged
merged 12 commits into from Apr 4, 2024
Merged

x86: add 6.6 as testing kernel #14868

merged 12 commits into from Apr 4, 2024

Conversation

namiltd
Copy link
Contributor

@namiltd namiltd commented Mar 12, 2024

Kernel 6.6 as the testing kernel for x86.

@namiltd namiltd marked this pull request as ready for review March 12, 2024 19:29
@github-actions github-actions bot added kernel pull request/issue with Linux kernel related changes target/x86 pull request/issue for x86 target labels Mar 12, 2024
@namiltd namiltd marked this pull request as draft March 12, 2024 19:52
@namiltd namiltd marked this pull request as ready for review March 12, 2024 21:15
@github-actions github-actions bot added the target/ramips pull request/issue for ramips target label Mar 12, 2024
@github-actions github-actions bot removed the target/ramips pull request/issue for ramips target label Mar 12, 2024
@namiltd
Copy link
Contributor Author

namiltd commented Mar 12, 2024

Strange compilation errors for x86_64:

Run make target/compile -j$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh
make[2]: Entering directory '/__w/openwrt/openwrt/openwrt/scripts/config'
make[2]: 'conf' is up to date.
make[2]: Leaving directory '/__w/openwrt/openwrt/openwrt/scripts/config'
 make[1] target/compile
 make[2] -C target/linux compile
    ERROR: target/linux failed to build.
make -r target/compile: build failed. Please re-run make with -j1 V=s or V=sc for a higher verbosity level to see what's going on
make: *** [/__w/openwrt/openwrt/openwrt/include/toplevel.mk:233: target/compile] Error 1
====== Make errors from logs/target/linux/compile.txt ======
ld: /__w/openwrt/openwrt/openwrt/build_dir/target-x86_64-openwrt-linux-musl_musl/linux-x86_64/linux-6.6.20/tools/objtool/check.o: in function `arch_is_rethunk':
/__w/openwrt/openwrt/openwrt/build_dir/target-x86_64-openwrt-linux-musl_musl/linux-x86_64/linux-6.6.20/tools/objtool/check.c:1299: multiple definition of `arch_is_rethunk'; /__w/openwrt/openwrt/openwrt/build_dir/target-x86_64-openwrt-linux-musl_musl/linux-x86_64/linux-6.6.20/tools/objtool/arch/x86/objtool-in.o:/__w/openwrt/openwrt/openwrt/build_dir/target-x86_64-openwrt-linux-musl_musl/linux-x86_64/linux-6.6.20/tools/objtool/arch/x86/decode.c:827: first defined here
ld: /__w/openwrt/openwrt/openwrt/build_dir/target-x86_64-openwrt-linux-musl_musl/linux-x86_64/linux-6.6.20/tools/objtool/check.o: in function `arch_is_embedded_insn':
/__w/openwrt/openwrt/openwrt/build_dir/target-x86_64-openwrt-linux-musl_musl/linux-x86_64/linux-6.6.20/tools/objtool/check.c:1299: multiple definition of `arch_is_embedded_insn'; /__w/openwrt/openwrt/openwrt/build_dir/target-x86_64-openwrt-linux-musl_musl/linux-x86_64/linux-6.6.20/tools/objtool/arch/x86/objtool-in.o:/__w/openwrt/openwrt/openwrt/build_dir/target-x86_64-openwrt-linux-musl_musl/linux-x86_64/linux-6.6.20/tools/objtool/arch/x86/decode.c:832: first defined here
ld: /__w/openwrt/openwrt/openwrt/build_dir/target-x86_64-openwrt-linux-musl_musl/linux-x86_64/linux-6.6.20/tools/objtool/special.o: in function `arch_handle_alternative':
/__w/openwrt/openwrt/openwrt/build_dir/target-x86_64-openwrt-linux-musl_musl/linux-x86_64/linux-6.6.20/tools/objtool/special.c:60: multiple definition of `arch_handle_alternative'; /__w/openwrt/openwrt/openwrt/build_dir/target-x86_64-openwrt-linux-musl_musl/linux-x86_64/linux-6.6.20/tools/objtool/arch/x86/objtool-in.o:/__w/openwrt/openwrt/openwrt/build_dir/target-x86_64-openwrt-linux-musl_musl/linux-x86_64/linux-6.6.20/tools/objtool/arch/x86/special.c:12: first defined here
ld: /__w/openwrt/openwrt/openwrt/build_dir/target-x86_64-openwrt-linux-musl_musl/linux-x86_64/linux-6.6.20/tools/objtool/orc_gen.o: in function `orc_create':
/__w/openwrt/openwrt/openwrt/build_dir/target-x86_64-openwrt-linux-musl_musl/linux-x86_64/linux-6.6.20/tools/objtool/orc_gen.c:161: multiple definition of `orc_create'; /__w/openwrt/openwrt/openwrt/build_dir/target-x86_64-openwrt-linux-musl_musl/linux-x86_64/linux-6.6.20/tools/objtool/weak.o:/__w/openwrt/openwrt/openwrt/build_dir/target-x86_64-openwrt-linux-musl_musl/linux-x86_64/linux-6.6.20/tools/objtool/weak.c:22: first defined here
ld: /__w/openwrt/openwrt/openwrt/build_dir/target-x86_64-openwrt-linux-musl_musl/linux-x86_64/linux-6.6.20/tools/objtool/orc_dump.o: in function `orc_dump':
/__w/openwrt/openwrt/openwrt/build_dir/target-x86_64-openwrt-linux-musl_musl/linux-x86_64/linux-6.6.20/tools/objtool/orc_dump.c:69: multiple definition of `orc_dump'; /__w/openwrt/openwrt/openwrt/build_dir/target-x86_64-openwrt-linux-musl_musl/linux-x86_64/linux-6.6.20/tools/objtool/weak.o:/__w/openwrt/openwrt/openwrt/build_dir/target-x86_64-openwrt-linux-musl_musl/linux-x86_64/linux-6.6.20/tools/objtool/weak.c:20: first defined here
make[8]: *** [/__w/openwrt/openwrt/openwrt/build_dir/target-x86_64-openwrt-linux-musl_musl/linux-x86_64/linux-6.6.20/tools/build/Makefile.build:156: /__w/openwrt/openwrt/openwrt/build_dir/target-x86_64-openwrt-linux-musl_musl/linux-x86_64/linux-6.6.20/tools/objtool/objtool-in.o] Error 1
make[7]: *** [Makefile:67: /__w/openwrt/openwrt/openwrt/build_dir/target-x86_64-openwrt-linux-musl_musl/linux-x86_64/linux-6.6.20/tools/objtool/objtool-in.o] Error 2
make[6]: *** [Makefile:73: objtool] Error 2
make[5]: *** [/__w/openwrt/openwrt/openwrt/build_dir/target-x86_64-openwrt-linux-musl_musl/linux-x86_64/linux-6.6.20/Makefile:1355: tools/objtool] Error 2
make[4]: *** [Makefile:234: __sub-make] Error 2
make[3]: *** [Makefile:26: /__w/openwrt/openwrt/openwrt/build_dir/target-x86_64-openwrt-linux-musl_musl/linux-x86_64/linux-6.6.20/.modules] Error 2
make[2]: *** [Makefile:11: compile] Error 2
time: target/linux/compile#30.60#13.66#31.40
Error: Process completed with exit code 2.

@namiltd namiltd changed the title x86: add 6.6 as testing kernel [WIP] x86: add 6.6 as testing kernel Mar 12, 2024
@namiltd namiltd marked this pull request as draft March 12, 2024 23:36
@namiltd namiltd marked this pull request as ready for review March 13, 2024 00:43
@namiltd namiltd force-pushed the x86-v6.6 branch 3 times, most recently from dfe174a to d5b7ab2 Compare March 13, 2024 00:50
@vincejv
Copy link

vincejv commented Mar 13, 2024

@namiltd CI is failing
Determined to be caused by patch 212-tools_portability.patch, upon removal of the patch, the error is fixed (but there are still other warnings with kmod dependencies as discussed on #14751 (comment)

Seems to be introduced by @nbd168 at cea62f4

@vincejv
Copy link

vincejv commented Mar 13, 2024

Next error is solved by #14751 (comment), as mentioned on previous comment

Try adding +LINUX_6_6:kmod-crypto-rng to KernelPackage/crypto-manager depends as kmod-crypto-user is selecting it and it has a dependency on kmod-crypto-rng

For me on qualcommax all in-kernel kmods build and package fine so I cannot reproduce it easily.

@github-actions github-actions bot added the core packages pull request/issue for core (in-tree) packages label Mar 13, 2024
@namiltd namiltd force-pushed the x86-v6.6 branch 2 times, most recently from a07b41e to 74117bb Compare March 13, 2024 15:06
@trippleflux
Copy link

trippleflux commented Mar 13, 2024

Somehow getting "Failed to build tmp/.config-package.in" when invoking "make dirclean".

And "make menuconfig" is inaccessible :

Collecting package info: done
Collecting target info: done
Killed
Failed to build tmp/.config-package.in
target/Config.in:1: glob failed: No files found "tmp/.config-target.in"
make: *** [/home/username/works/openwrt/include/toplevel.mk:137: menuconfig] Error 1

[EDIT]
If I have changed the crypto-manager DEPENDS without "+LINUX_6_6:" then I can "make dirclean" & so on,

define KernelPackage/crypto-manager
  TITLE:=CryptoAPI algorithm manager
  DEPENDS:=+kmod-crypto-aead +kmod-crypto-hash +kmod-crypto-rng

But still there are warnings :

Collecting target info: done
tmp/.config-package.in:11981:error: recursive dependency detected!
tmp/.config-package.in:11981:   symbol PACKAGE_kmod-crypto-manager is selected by PACKAGE_kmod-crypto-hmac
tmp/.config-package.in:11811:   symbol PACKAGE_kmod-crypto-hmac is selected by PACKAGE_kmod-crypto-rng
tmp/.config-package.in:12056:   symbol PACKAGE_kmod-crypto-rng is selected by PACKAGE_kmod-crypto-manager
For a resolution refer to Documentation/kbuild/kconfig-language.rst
subsection "Kconfig recursive dependency limitations"

@vincejv
Copy link

vincejv commented Mar 14, 2024

Rebase this PR when this is merged #14885 should fix these issues

@vincejv
Copy link

vincejv commented Mar 14, 2024

Also my suggestion to add kmod-crypto-rng to kmod-crypto-user was the correct fix, not the kmod-crypto-rng to KernelPackage/crypto-manager (what was quoted before), this is already applied on #14885

@catsimple
Copy link

I merged #14885 locally and it didn't fix

catsimple@catsimple-virtual-machine:~/testingx86/openwrt$ make menuconfig
Checking 'true'... ok.
Checking 'false'... ok.
Checking 'working-make'... ok.
Checking 'case-sensitive-fs'... ok.
Checking 'proper-umask'... ok.
Checking 'gcc'... updated.
Checking 'working-gcc'... ok.
Checking 'g++'... updated.
Checking 'working-g++'... ok.
Checking 'ncurses.h'... ok.
Checking 'git'... updated.
Checking 'rsync'... updated.
Checking 'perl-data-dumper'... ok.
Checking 'perl-findbin'... ok.
Checking 'perl-file-copy'... ok.
Checking 'perl-file-compare'... ok.
Checking 'perl-thread-queue'... ok.
Checking 'perl-ipc-cmd'... ok.
Checking 'tar'... updated.
Checking 'find'... updated.
Checking 'bash'... updated.
Checking 'xargs'... updated.
Checking 'patch'... updated.
Checking 'diff'... updated.
Checking 'cp'... updated.
Checking 'seq'... updated.
Checking 'awk'... updated.
Checking 'grep'... updated.
Checking 'egrep'... updated.
Checking 'getopt'... updated.
Checking 'realpath'... updated.
Checking 'stat'... updated.
Checking 'gzip'... updated.
Checking 'unzip'... updated.
Checking 'bzip2'... updated.
Checking 'wget'... updated.
Checking 'install'... updated.
Checking 'perl'... updated.
Checking 'python'... updated.
Checking 'python3'... updated.
Checking 'python3-distutils'... ok.
Checking 'python3-stdlib'... ok.
Checking 'file'... updated.
Checking 'which'... updated.
Checking 'argp.h'... ok.
Checking 'fts.h'... ok.
Checking 'obstack.h'... ok.
Checking 'libintl.h'... ok.
Checking 'ldconfig-stub'... ok.
Collecting package info: done
Collecting target info: done
Killed
Failed to build tmp/.config-package.in
WARNING: Makefile 'package/utils/busybox/Makefile' has a dependency on 'libpam', which does not exist
WARNING: Makefile 'package/utils/busybox/Makefile' has a dependency on 'libpam', which does not exist
WARNING: Makefile 'package/utils/busybox/Makefile' has a build dependency on 'libpam', which does not exist
WARNING: Makefile 'package/boot/kexec-tools/Makefile' has a dependency on 'liblzma', which does not exist
WARNING: Makefile 'package/network/services/lldpd/Makefile' has a dependency on 'libnetsnmp', which does not exist
WARNING: Makefile 'package/utils/policycoreutils/Makefile' has a dependency on 'libpam', which does not exist
WARNING: Makefile 'package/utils/policycoreutils/Makefile' has a dependency on 'libpam', which does not exist
WARNING: Makefile 'package/utils/policycoreutils/Makefile' has a build dependency on 'libpam', which does not exist
target/Config.in:1: glob failed: No files found "tmp/.config-target.in"
make: *** [/home/catsimple/testingx86/openwrt/include/toplevel.mk:137:menuconfig] 错误 1

@vincejv
Copy link

vincejv commented Mar 14, 2024

@catsimple did you undo revert 74117bb?

@catsimple
Copy link

@catsimple did you undo revert 74117bb?

I didn't and it works fine after reverting 74117bb

namiltd pushed a commit to namiltd/openwrt that referenced this pull request Apr 2, 2024
Kernel 6.2 folded virqfd (eventd interface for VFIO interrupts)
into the base vfio module, it is no longer a tristate option.

Change suggested by vincejv on GitHub:
openwrt#14868 (comment)

Signed-off-by: Mathew McBride <matt@traverse.com.au>
@robimarko
Copy link
Contributor

After CI is done I plan to merge this

namiltd pushed a commit to namiltd/openwrt that referenced this pull request Apr 2, 2024
Kernel 6.2 folded virqfd (eventd interface for VFIO interrupts)
into the base vfio module, it is no longer a tristate option.

Change suggested by vincejv on GitHub:
openwrt#14868 (comment)

Signed-off-by: Mathew McBride <matt@traverse.com.au>
@namiltd
Copy link
Contributor Author

namiltd commented Apr 2, 2024

@robimarko All done. I think it's ready to merge now.

namiltd pushed a commit to namiltd/openwrt that referenced this pull request Apr 3, 2024
Kernel 6.2 folded virqfd (eventd interface for VFIO interrupts)
into the base vfio module, it is no longer a tristate option.

Change suggested by vincejv on GitHub:
openwrt#14868 (comment)

Signed-off-by: Mathew McBride <matt@traverse.com.au>
@namiltd
Copy link
Contributor Author

namiltd commented Apr 3, 2024

Is there a chance for approval before the kernel is updated to 6.6.24 (released today) and we have to adapt the patches again?

@graysky2
Copy link
Contributor

graysky2 commented Apr 3, 2024

@namiltd - #15063

Copy link
Contributor

@ehem ehem left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good enough to me. Ultimately my real issue is I dislike the way kernel configurations are handled in OpenWRT. As such seems best to get this in now.

namiltd and others added 12 commits April 4, 2024 08:56
This is an automatically generated commit.

During a `git bisect` session, `git bisect --skip` is recommended.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
This is an automatically generated commit which aids following Kernel patch history,
as git will see the move and copy as a rename thus defeating the purpose.

See: https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html
for the original discussion.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
This is an automatically generated commit.

During a `git bisect` session, `git bisect --skip` is recommended.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
This is an automatically generated commit which aids following Kernel patch history,
as git will see the move and copy as a rename thus defeating the purpose.

See: https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html
for the original discussion.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Refresh kernel patches.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Missed when removing the other 5.15 kernel configurations.

Fixes: b8ec063 ("x86: remove unused 5.15 kernel configs and patches")
Signed-off-by: Elliott Mitchell <ehem+openwrt@m5p.com>
Kernel 6.2 folded virqfd (eventd interface for VFIO interrupts)
into the base vfio module, it is no longer a tristate option.

Change suggested by vincejv on GitHub:
openwrt#14868 (comment)

Signed-off-by: Mathew McBride <matt@traverse.com.au>
Fix error: Package kmod-lan743x is missing dependencies for the following libraries:
fixed_phy.ko

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
…kernel 6.6

Removal of tools_portability.patch already included in kernel 6.6

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Include the CONFIG_KVM_SMM option in the kvm-x86 package to enable system management mode emulation on KVM.

Co-authored-by: Stefan Hellermann <stefan@the2masters.de>
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Refresh kernel config.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Allow selecting 6.6 as testing kernel on x86.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
@openwrt-bot openwrt-bot merged commit 1e7033d into openwrt:main Apr 4, 2024
4 checks passed
@robimarko
Copy link
Contributor

Thanks! Rebased on top of main and merged!

@namiltd namiltd deleted the x86-v6.6 branch April 4, 2024 07:15
Vladdrako pushed a commit to Vladdrako/openwrt that referenced this pull request Apr 5, 2024
Kernel 6.2 folded virqfd (eventd interface for VFIO interrupts)
into the base vfio module, it is no longer a tristate option.

Change suggested by vincejv on GitHub:
openwrt#14868 (comment)

Signed-off-by: Mathew McBride <matt@traverse.com.au>
schuettecarsten pushed a commit to schuettecarsten/openwrt that referenced this pull request Apr 8, 2024
Kernel 6.2 folded virqfd (eventd interface for VFIO interrupts)
into the base vfio module, it is no longer a tristate option.

Change suggested by vincejv on GitHub:
openwrt#14868 (comment)

Signed-off-by: Mathew McBride <matt@traverse.com.au>
@namiltd namiltd mentioned this pull request Apr 17, 2024
39 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core packages pull request/issue for core (in-tree) packages kernel pull request/issue with Linux kernel related changes target/x86 pull request/issue for x86 target
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet