-
Notifications
You must be signed in to change notification settings - Fork 5.1k
Upgrade Buildroot to 2025.02.8 LTS for GCC 13+ compatibility #21997
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
base: master
Are you sure you want to change the base?
Conversation
|
Hi @vtri950. Thanks for your PR. I'm waiting for a github.com member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
Can one of the admins verify this patch? |
|
/ok-to-build-iso |
nirs
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@vtri950 thanks!
Makefile
Outdated
|
|
||
| INSTALL_SIZE ?= $(shell du out/minikube-windows-amd64.exe | cut -f1) | ||
| BUILDROOT_BRANCH ?= 2025.02 | ||
| BUILDROOT_BRANCH ?= 2025.08.2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any reason not to use 2025.08?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
2025.08.02 is the latest stable patch release
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Based on https://buildroot.org/download.html this version end of life is December 2025, so we have to update every month?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point!
i have replaced it with the LTS version which contains the necessary fix.
|
failed iso build logs: Build failed with: @medyagh any clue why the build tries to add this remote? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@vtri950 please rebase on master. The gluster package is already removed in master for long time. This may also fix the build iso job.
After rebase we see:
% git show --stat
commit 113d9e35755e9b5a7aea6537aded9ef3a56605bd (HEAD -> upgrade-buildroot-gcc13)
Author: Vidit Tripathi <viditt14@gmail.com>
Date: Thu Nov 27 08:13:57 2025 +0530
Upgrade Buildroot to 2025.08.2 for GCC 13+ compatibility
Makefile | 2 +-
deploy/iso/minikube-iso/package/Config.in | 1 -
deploy/iso/minikube-iso/package/podman/Config.in | 11 -----------
deploy/iso/minikube-iso/package/podman/override.conf | 4 ----
deploy/iso/minikube-iso/package/podman/podman.conf | 1 -
deploy/iso/minikube-iso/package/podman/podman.hash | 7 -------
deploy/iso/minikube-iso/package/podman/podman.mk | 81 ---------------------------------------------------------------------------------
7 files changed, 1 insertion(+), 106 deletions(-)
the issue is here |
0cbf9da to
8a09186
Compare
done |
|
/ok-to-build-iso |
|
/cc @afbjorklund |
8a09186 to
6232705
Compare
Latest push change version to 2025.02.8
This was already in master for a while
Did you test latest push with with Fedora 43? Please update the PR message to reflect the actual change. If you are still testing it you can convert it to draft. |
|
/ok-to-build-iso |
|
Hi @vtri950, building a new ISO failed for Commit 8a09186 |
@vtri950 you can ignore this message, it is for the commit you replaced. We will get a new comment when the current build will complete. The build log will be here: |
|
It seems like this build issue is specific to Fedora*, but probably a good idea to update the OS minor anyway... * The default build environment uses Debian, currently bookworm (12, oldstable): support/docker/Dockerfile There was some earlier attempt to bump the Buildroot version, not sure what happened to that one? |
| source "$BR2_EXTERNAL_MINIKUBE_PATH/package/cni/Config.in" | ||
| source "$BR2_EXTERNAL_MINIKUBE_PATH/package/automount/Config.in" | ||
| source "$BR2_EXTERNAL_MINIKUBE_PATH/package/scheduled-stop/Config.in" | ||
| source "$BR2_EXTERNAL_MINIKUBE_PATH/package/podman/Config.in" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think the podman package was added to Buildroot, until after 2025.02
Make sure that it is still enabled in the Buildroot config, and that it builds OK...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
commit ebbaac08e3f462bf023c12077f739ed1c0543eb2
Buildroot 2025.05
We did not attempt to resolve this issue yet. @vtri950 you can add this issue to this PR. |
i have updated the description |
|
This is something to watch out for in general, when replacing minikube packages with buildroot packages: -config BR2_PACKAGE_PODMAN
- bool "podman"
- default yThat is, the minikube packages were selected by default - while buildroot packages need to be selected:
Since minikube is already providing buildroot defconfig, having packages auto-select themselves was a mistake. It would have been nice to work closer with Buildroot upstream, and submit more packages for inclusion there. |
| [Socket] | ||
| SocketMode=0660 | ||
| SocketUser=root | ||
| SocketGroup=podman |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You will need to keep this configuration, otherwise it will not be possible to reach podman socket
| @@ -1 +0,0 @@ | |||
| d /run/podman 0770 root podman | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This as well, otherwise the directory containing the podman socket will be unreadable by the group
|
The default podman configuration can only be accessed by root, so it will not work for docker@minikube It would be possible to move this configuration outside the package though, and use systemd overrides.
|
This comment has been minimized.
This comment has been minimized.
|
@vtri950 tests look good:
Other tests are not relevant (docker*) or known to fail (KVM_cLinux_crio). Consider updating the building iso docs to document that we can build also on Fedora 43. We can have a section like "Building on Fedora". |
This comment has been minimized.
This comment has been minimized.
f52e7af to
ee66eb7
Compare
done |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
| libtool \ | ||
| make \ | ||
| p7zip \ | ||
| python2 \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
python2 is not needed since gluster was removed. The command you show here will fail on any recent Fedora since python2 is not available for a while.
It should be also removed from the ubuntu instructions, best done in a separate commit.
|
|
||
| ```shell | ||
| IN_DOCKER=1 make minikube-iso-<arch> | ||
| ``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The IN_DOCKER=1 environment variable has no effect and should be removed from the ubuntu instructions, best done in a separate commit).
|
|
||
| * Machine with x86\_64 CPU | ||
| * Ubuntu 22.04.5 LTS (Jammy Jellyfish) | ||
| * Ubuntu 22.04.5 LTS (Jammy Jellyfish) or Fedora 43+ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let not promise anything about newer fedora versions. We need to test any version before we say it is supported.
|
@vtri950 tested on Fedora 42 (since I already have such vm). It almost works, fail near the end of the build: $ time make minikube-iso-x86_64
...
>>> vbox-mount-service 5.2.42 Building
7z x -aoa "/home/nsoffer/minikube/out/buildroot/dl"/vbox-mount-service/VBoxGuestAdditions_5.2.42.iso -ir'!VBoxLinuxAdditions.run' -o"/home/nsoffer/minikube/out/buildroot/output-x86_64/build/vbox-mount-service-5.2.42"
/bin/sh: line 1: 7z: command not found
make[1]: *** [package/pkg-generic.mk:273: /home/nsoffer/minikube/out/buildroot/output-x86_64/build/vbox-mount-service-5.2.42/.stamp_built] Error 127
make[1]: Leaving directory '/home/nsoffer/minikube/out/buildroot'
make: *** [Makefile:296: minikube-iso-x86_64] Error 2
rm deploy/iso/minikube-iso/board/minikube/x86_64/rootfs-overlay/usr/bin/auto-pause
real 129m22.056s
user 282m20.438s
sys 82m30.068sSeems that the right command name on Fedora is Did it work on Fedora 43? Do you have |
|
@vtri950 adding p7zip-plugins fixes the build on Fedora 42. Tested you change with this patch: diff --git a/site/content/en/docs/contrib/building/iso.md b/site/content/en/docs/contrib/building/iso.md
index fc738daf0..999b1bef2 100644
--- a/site/content/en/docs/contrib/building/iso.md
+++ b/site/content/en/docs/contrib/building/iso.md
@@ -96,7 +96,7 @@ sudo dnf install \
libtool \
make \
p7zip \
- python2 \
+ p7zip-plugins \
unzip \
wget \Tested only x86_64 build, aarch64 build in progress... |
|
@vtri950 The march64 build fails on Fedora 42: if ! grep -sq 'docker\|lxc' /proc/1/cgroup; then \
docker run --rm -v /home/nsoffer/minikube/out/buildroot/output-aarch64/build/cri-dockerd-aarch64-55d6e1a1d6f2ee58949e13a0c66afe7d779ac942/packaging/static/build/win:/v -w /v alpine sh -c 'apk update
&& apk add zip && zip -r cri-dockerd-0.4.1.win.amd64.zip cri-dockerd'; \
docker run --rm -v /home/nsoffer/minikube/out/buildroot/output-aarch64/build/cri-dockerd-aarch64-55d6e1a1d6f2ee58949e13a0c66afe7d779ac942/packaging/static:/v -w /v alpine chown -R 1000:1000 build; \
fi
Unable to find image 'alpine:latest' locally
latest: Pulling from library/alpine
014e56e61396: Pull complete
Digest: sha256:51183f2cfa6320055da30872f211093f9ff1d3cf06f39a0bdb212314c5dc7375
Status: Downloaded newer image for alpine:latest
v3.23.0_rc2-34-g319b82182d1 [https://dl-cdn.alpinelinux.org/alpine/v3.23/main]
v3.23.0-1-gbad45407d26 [https://dl-cdn.alpinelinux.org/alpine/v3.23/community]
OK: 27555 distinct packages available
(1/2) Installing unzip (6.0-r16)
(2/2) Installing zip (3.0-r13)
Executing busybox-1.37.0-r29.trigger
OK: 8 MiB in 18 packages
zip warning: name not matched: cri-dockerd
zip error: Nothing to do! (try: zip -r cri-dockerd-0.4.1.win.amd64.zip . -i cri-dockerd)
chown: build: Permission denied
make[4]: *** [Makefile:73: cross-win] Error 1
make[4]: Leaving directory '/home/nsoffer/minikube/out/buildroot/output-aarch64/build/cri-dockerd-aarch64-55d6e1a1d6f2ee58949e13a0c66afe7d779ac942/packaging/static'
make[3]: *** [Makefile:29: static] Error 1
make[3]: Leaving directory '/home/nsoffer/minikube/out/buildroot/output-aarch64/build/cri-dockerd-aarch64-55d6e1a1d6f2ee58949e13a0c66afe7d779ac942/packaging'
make[2]: *** [Makefile:42: static] Error 2
make[2]: Leaving directory '/home/nsoffer/minikube/out/buildroot/output-aarch64/build/cri-dockerd-aarch64-55d6e1a1d6f2ee58949e13a0c66afe7d779ac942'
make[1]: *** [package/pkg-generic.mk:273: /home/nsoffer/minikube/out/buildroot/output-aarch64/build/cri-dockerd-aarch64-55d6e1a1d6f2ee58949e13a0c66afe7d779ac942/.stamp_built] Error 2
make[1]: Leaving directory '/home/nsoffer/minikube/out/buildroot'
make: *** [Makefile:296: minikube-iso-aarch64] Error 2
rm deploy/iso/minikube-iso/board/minikube/aarch64/rootfs-overlay/usr/bin/auto-pause This looks like selinux issue: The docker command is wrong, not using :Z for the mounts: It should be: Running with selinux permissive mode works around this issue: With this we fail in the post-image script: >>> Executing post-image script /home/nsoffer/minikube/deploy/iso/minikube-iso/board/minikube/aarch64/post-image.sh
INFO: cmd: "mkdir -p "/home/nsoffer/minikube/out/buildroot/output-aarch64/build/genimage.tmp"" (stderr):
INFO: cmd: "rm -rf "/home/nsoffer/minikube/out/buildroot/output-aarch64/build/genimage.tmp"/*" (stderr):
INFO: cmd: "mkdir -p "/home/nsoffer/minikube/out/buildroot/output-aarch64/build/genimage.tmp"" (stderr):
INFO: cmd: "cp -a "/tmp/tmp.SFqt1c7qYu" "/home/nsoffer/minikube/out/buildroot/output-aarch64/build/genimage.tmp/root"" (stderr):
INFO: cmd: "mkdir -p "/home/nsoffer/minikube/out/buildroot/output-aarch64/images"" (stderr):
INFO: vfat(efiboot.img): cmd: "mkdosfs -n 'EFIBOOTISO' '/home/nsoffer/minikube/out/buildroot/output-aarch64/images/efiboot.img'" (stderr):
INFO: vfat(efiboot.img): adding file 'efi-part/EFI' as 'EFI' ...
INFO: vfat(efiboot.img): cmd: "MTOOLS_SKIP_CHECK=1 mcopy -sp -i '/home/nsoffer/minikube/out/buildroot/output-aarch64/images/efiboot.img' '/home/nsoffer/minikube/out/buildroot/output-aarch64/images/efi-part/EFI' '::EFI'" (stderr):
INFO: cmd: "rm -rf "/home/nsoffer/minikube/out/buildroot/output-aarch64/build/genimage.tmp/"" (stderr):
xorriso 1.5.6 : RockRidge filesystem manipulator, libburnia project.
Drive current: -outdev 'stdio:boot.iso'
Media current: stdio file, overwriteable
Media status : is blank
Media summary: 0 sessions, 0 data blocks, 0 data, 67.4g free
xorriso : FAILURE : -as genisofs: Unrecognized option '-eltorito-platform=efi'
xorriso : aborting : -abort_on 'FAILURE' encountered 'FAILURE'
make[1]: *** [Makefile:830: target-post-image] Error 5
make[1]: Leaving directory '/home/nsoffer/minikube/out/buildroot'
make: *** [Makefile:296: minikube-iso-aarch64] Error 2
rm deploy/iso/minikube-iso/board/minikube/aarch64/rootfs-overlay/usr/bin/auto-pauseIt seems that we use option which is not available in the Fedora version. This must be fixed in minikube to claim that Fedora is supported for building. Please share build logs from Fedora 43 for x86_64 and aarch64. Based on the results, we need to split the documentation change, or update it to say that only the x86_64 iso can be built, and the aarch64 iso fails to build. |
|
Tested also on Fedora 43 - same issue. >>> Executing post-image script /home/nsoffer/minikube/deploy/iso/minikube-iso/board/minikube/aarch64/post-image.sh
INFO: cmd: "mkdir -p "/home/nsoffer/minikube/out/buildroot/output-aarch64/build/genimage.tmp"" (stderr):
INFO: cmd: "rm -rf "/home/nsoffer/minikube/out/buildroot/output-aarch64/build/genimage.tmp"/*" (stderr):
INFO: cmd: "mkdir -p "/home/nsoffer/minikube/out/buildroot/output-aarch64/build/genimage.tmp"" (stderr):
INFO: cmd: "cp -a "/tmp/tmp.kgzTFHPxsv" "/home/nsoffer/minikube/out/buildroot/output-aarch64/build/genimage.tmp/root"" (stderr):
INFO: cmd: "mkdir -p "/home/nsoffer/minikube/out/buildroot/output-aarch64/images"" (stderr):
INFO: vfat(efiboot.img): cmd: "mkdosfs -n 'EFIBOOTISO' '/home/nsoffer/minikube/out/buildroot/output-aarch64/images/efiboot.img'" (stderr):
INFO: vfat(efiboot.img): adding file 'efi-part/EFI' as 'EFI' ...
INFO: vfat(efiboot.img): cmd: "MTOOLS_SKIP_CHECK=1 mcopy -sp -i '/home/nsoffer/minikube/out/buildroot/output-aarch64/images/efiboot.img' '/home/nsoffer/minikube/out/buildroot/output-aarch64/images/efi-part/EFI' '::EFI'" (stderr):
INFO: cmd: "rm -rf "/home/nsoffer/minikube/out/buildroot/output-aarch64/build/genimage.tmp/"" (stderr):
xorriso 1.5.6 : RockRidge filesystem manipulator, libburnia project.
Drive current: -outdev 'stdio:boot.iso'
Media current: stdio file, overwriteable
Media status : is blank
Media summary: 0 sessions, 0 data blocks, 0 data, 66.8g free
xorriso : FAILURE : -as genisofs: Unrecognized option '-eltorito-platform=efi'
xorriso : aborting : -abort_on 'FAILURE' encountered 'FAILURE'
make[1]: *** [Makefile:830: target-post-image] Error 5
make[1]: Leaving directory '/home/nsoffer/minikube/out/buildroot'
make: *** [Makefile:296: minikube-iso-aarch64] Error 2
rm deploy/iso/minikube-iso/board/minikube/aarch64/rootfs-overlay/usr/bin/auto-pause
$ cat /etc/redhat-release
Fedora release 43 (Forty Three) |
nirs
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Testing shows that aarch64 iso fail on Fedora 43 and 42, so we cannot document it as working.
We can split the documentation update to a new PR or change it to document the issues on Fedora.
ee66eb7 to
4e6ec0c
Compare
i have removed the document part
can you open an issue with this finding? |
|
kvm2 driver with docker runtime Times for minikube start: 43.6s 40.7s 41.5s 41.0s 40.0s Times for minikube ingress: 15.8s 15.8s 15.8s 15.3s 16.8s docker driver with docker runtime Times for minikube start: 23.0s 26.3s 20.7s 20.6s 23.7s Times for minikube ingress: 10.7s 73.2s 10.6s 10.6s 10.6s docker driver with containerd runtime Times for minikube start: 19.0s 21.9s 19.6s 21.4s 19.4s Times for minikube ingress: 20.1s 20.1s 20.1s 20.2s 20.1s |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: afbjorklund, vtri950 The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
@vtri950: The following tests failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
|
Here are the number of top 10 failed tests in each environments with lowest flake rate.
Besides the following environments also have failed tests:
To see the flake rates of all tests by environment, click here. |
Upgrade Buildroot to 2025.08.2 for GCC 13+ compatibility
Fixes #21967
Fixes #20993
Changes:
The newer Buildroot version includes updated package versions that are
compatible with modern GCC 13+ toolchains, eliminating build failures
on recent Linux distributions like Fedora 39+.
Tested on Fedora 43 with GCC 13.3.1.