-
Notifications
You must be signed in to change notification settings - Fork 33
release-mowgli: Move to buildroot 2025.02, kernel 6.1 #1322
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: release-mowgli
Are you sure you want to change the base?
release-mowgli: Move to buildroot 2025.02, kernel 6.1 #1322
Conversation
Can one of the admins verify this patch? |
4958d02
to
71b4993
Compare
https://git.buildroot.net/buildroot/tree/CHANGES?h=2025.02 Signed-off-by: Reza Arbab <arbab@linux.ibm.com>
Petitboot is now upstream in the base set of buildroot packages. Remove it from the op-build br2-external tree, and remove things that are now automatically selected by CONFIG_PACKAGE_PETITBOOT=y from the buildroot config. The udev rules pertaining to SCSI devices, software RAID devices, and removable devices are not upstream. Move them to the overlay. Also move petituser's dotfiles to the overlay, to retain the "root shell by default" behavior from commit db6ca35 ("petitboot: Enable user separation"). Signed-off-by: Reza Arbab <arbab@linux.ibm.com>
With the newer buildroot, * Building for power8 is now the default for ppc64le * GCC 8 is no longer available * The default optimization level has changed from -Os to -O2 Adjust to these changes and normalize our configs by running openpower/scripts/update-defconfigs.sh \ --disable BR2_GCC_VERSION_8_X \ --enable BR2_OPTIMIZE_S Signed-off-by: Reza Arbab <arbab@linux.ibm.com>
Due to buildroot commit 8f88a644ed7d ("support/scripts/apply-patches.sh: set the maximum fuzz factor to 0"), a couple of patches now fail to apply. Adjust them to apply without any fuzz. Signed-off-by: Reza Arbab <arbab@linux.ibm.com>
Signed-off-by: Trung Lê <8@tle.id.au> (cherry picked from open-power/op-build commit dc572413d5cce95f760ab239cb4f0d5833656fe1) Signed-off-by: Reza Arbab <arbab@linux.ibm.com>
Related to open-power/occ#32 Signed-off-by: Trung Lê <8@tle.id.au> (cherry picked from open-power/op-build commit 8959f9ea474fa56990dcee24fd387cddd039bf76) Signed-off-by: Reza Arbab <arbab@linux.ibm.com>
Update to the v6.1 LTS kernel series, which has a later end-of-life. Signed-off-by: Reza Arbab <arbab@linux.ibm.com>
71b4993
to
63a80ab
Compare
Of the ten upstream patches we were backporting to v5.10.108, only these two are not present in v6.1.133: 6fa6b796e037 tpm: tis_i2c: Add compatible string nuvoton,npct75x e5d76ae8822c tpm: Drop explicit initialization of struct i2c_device_id::driver_data to 0 Apply the patches individually, not squashed together like the ten were. Signed-off-by: Reza Arbab <arbab@linux.ibm.com>
These patches were eventually committed upstream after some slight changes. Replace them with the finalized upstream patches verbatim. Signed-off-by: Reza Arbab <arbab@linux.ibm.com>
There is no difference between our custom device_table.txt and the default one. Remove it to keep us in sync with buildroot updates going forward. Signed-off-by: Reza Arbab <arbab@linux.ibm.com>
Cherry-pick the changes these buildroot commits made to /etc/fstab: 8196b299ba12 ("skeleton: fix permissions on /dev/pts/ptmx") d380dde1d287 ("skeleton: make /run a proper directory/filesystem") Signed-off-by: Reza Arbab <arbab@linux.ibm.com>
The inittab in our overlay is currently missing the changes from these buildroot commits: 22fde22e35f9 ("Create and mount /dev/shm") d39641ccd64b ("target/generic: inittab: fix devpts mounts when devtmpfs is used") bf01e51f3c62 ("skeleton + init: prepare /run/lock and adjust compat symlinks") d524cc7d9de5 ("busybox: add an inittab entry to activate swap") 456ea9871ea0 ("busybox: add /dev/std{in, out, err} symlinks to inittab") fb4c041cfb6b ("inittab: disable reboot by ctrl-alt-del") Our inittab is really just the buildroot default with every line modified to suppress console output. To prevent us from getting out of sync going forward, stop overlaying a new inittab and just use a post-build script to modify whatever buildroot provides instead. Signed-off-by: Reza Arbab <arbab@linux.ibm.com>
@rarbab I ran into following error when compiling under Fedora 33:
wondering if you happen to run into the same compilation issue? |
Fedora 33 is really old, that hasn't been supported in quite a while. I have built this PR on RHEL8. That's generally the priority because it's what the IBM builder machines for production firmware currently use. Also, FYI, this branch of op-build ( |
@rarbab okay let me try to build it on RHEL 8 too |
@rarbab is there any special setup with your RHEL8, there are lots of missing packages that requires for the op-build for example Anyway, I tried Fedora 34 and got to the same big size image issue:
which I find interesting, could it be BR2_OPTIMIZE flag does not work? |
If you want to try op-build with kernel 6.1, I would recommend just cherry-picking commit 63a80ab to the master branch. Because while this
Might be good to specify that I am using RHEL8.10, but regardless, bison and flex should be available: $ dnf list --installed bison flex
Installed Packages
bison.x86_64 3.0.4-10.el8 @rhel-8-for-x86_64-appstream-rpms
flex.x86_64 2.6.1-9.el8 @rhel-8-for-x86_64-appstream-rpms I think
Not sure what's going on with this one. I'm sure |
@rarbab it's interesting to see that you are using x86_64 computer to do the cross compilation. Perhaps the issue of the oversized image might be due to the default settings that shipped with Fedora ppc64le. Btw the reason I chose Fedora 34 because it was equivalent to RHEL 8. I will experiment a bit more with my x86_64 to see if I could re-produce the same issue |
We'd like to move to the kernel v6.1 series because it should be supported for the remaining service life of Mowgli.
Building the newer kernel requires a newer buildroot. And doing that brings in a newer GCC, so the rest of the patches here are just adjusting to those changes:
petitboot
is upstream now. Remove the copy we were maintaining to fix the clash.loadkeys
andocc
needed version bumps to build with the newer compiler.ppe42-gcc
's patches needed a tweak.