-
Notifications
You must be signed in to change notification settings - Fork 181
Buildroot 2025.02, kernel 5.10.237, skiboot 7.1+ #6425
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
Buildroot 2025.02, kernel 5.10.237, skiboot 7.1+ #6425
Conversation
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 11 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_11_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>
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>
The inittab in our overlay is currently missing the changes from these buildroot commits: 22fde22 ("Create and mount /dev/shm") d39641c ("target/generic: inittab: fix devpts mounts when devtmpfs is used") bf01e51f3c62 ("skeleton + init: prepare /run/lock and adjust compat symlinks") d524cc7 ("busybox: add an inittab entry to activate swap") 456ea98 ("busybox: add /dev/std{in, out, err} symlinks to inittab") fb4c041 ("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>
Update to the latest v5.10 kernel for security and bug fixes. Make sure the firmware whitelist includes what this kernel will look for. Signed-off-by: Reza Arbab <arbab@linux.ibm.com>
Abhishek Singh Tomar (15): Fix array-bound compilation warnings Fix compilation waning "Missing #interrupt-cells" core/pldm: Fix pdr handle to add first pdr request core/pldm: Fix dangling point issue core/pldm: Fix Use of uninitialised value uart: Fix uninitialised comparison uart: Handle read failure case in UART communication core/pldm/test: Implement PLDM self test common api core/pldm/test: Add self-test for PLDM file I/O message core/pldm/test: Add pldm BIOS Specification Self test core/pldm/test: Add self test for lid read core/pldm/test: Add tests for PLDM platform PDR requests core/pldm/test: Add self test for pldm platform shutdown core/pldm/test: Add tests for platform poweroff and restart core/pldm/test: Add PLDM FRU table self test Aditya Gupta (4): plat/qemu: add support for Power11 platform iohub: Add HUB ID for everest systems flash: Handle nullptr dereference of system_flash Fix -Werror=unterminated-string-initialization errors Andreas Schwab (1): Support cross compiling on RISC-V Aneesh Kumar K.V (1): flash: Make PNOR partition encoding size 64 bit safe. Athira Rajeev (3): core/device: Add function to return child node using name at substring "@" hw/imc: Update IMC code to use dt_find_by_name_before_addr for checking dt nodes hw/imc: Update IMC PMU node names for power10 Christophe Lombard (47): libc: Expand limits.h and include in stdint.h libc: Add ENXIO error code include: Expand print conversion specificier macros include: Provide endian conversion functions include/asm: Create asm_byteorder.h header file pldm: Export logging feature libmctp: Import libmctp library handling MCTP protocol pldm/libpldm: Import libpldm library handling PLDM protocol pldm/ibm/libpldm: Import oem IBM libpldm library hw: Move lpc firmware space helpers hw/ast-bmc: Initialize ast lpc mctp binding core/pldm: PLDM over MCTP Binding core/pldm: Add PLDM responder support core/pldm: Encode GetTID response core/pldm: Encode GetPLDMTypes response core/pldm: Encode GetPLDMCommands response core/pldm: Encode GetPLDMVersion response core/pldm: Implement PLDM requester core/pldm: PLDM for Platform Monitoring and Control Specification core/pldm: Encode state effecter request core/pldm: Send a system firmware Graceful Restart request core/pldm: Send a system chassis Off-Soft Graceful request core/pldm: PLDM for BIOS Control and Configuration Specification core/pldm: Find lid attribute from bios tables core/pldm: PLDM for FRU data Specification core/pldm: Update "bmc-firmware-version" device-tree field core/pldm: PLDM for File-IO operations core/pldm: Add file io read request core/pldm: Add file io write request core/pldm: Get file handle and file length core/pldm: Lid ids string parsing core/pldm: Register PLDM as a blocklevel device core/pldm: Handle Watchdog timer. core/pldm: Decode the SetEventReceiver request core/pldm: Decode the PlatformEventMessage request core/pldm: Decode the GetStateSensorReadings request core/pldm: Decode the SetStateEffecterStates request core/pldm: Find PDR record by record handle core/pldm: Encode PLDM PDR Repository Change eventData core/pldm: Create boot progress and terminus locator in the given repo core/pldm: Decode the GetPDR request core/pldm: Decode the GetFRURecordTableMetadata request core/pldm: Decode the GetFruRecordTable request core/pldm: Update boot progress state core/pldm: Register OPAL_RTC_READ/WRITE calls back core/pldm: Register OPAL_IPMI_SEND/RECV calls back platforms/astbmc: Enable PLDM support Cédric Le Goater (3): CI: Update centos8 runs with P8 and P9 mambo CI: Update runs with P10 mambo test/qemu: Add PCI devices Dan Horák (2): ci: remove Fedora 33 external/opal-prd: generate path to opal-prd in its service file Daniel Axtens (1): secvar/pkcs7: fix a wrong sizeof() Eddie James (1): external: Add support for aarch64 Eric Richter (3): libstb/create-container: avoid using deprecated APIs when compiling with OpenSSL 3.0 tpm_i2c_nuvoton: Use struct of constants instead of macros tpm_i2c_nuvoton: Add support for Nuvoton 75x TPMs Frederic Barrat (8): CI: Update python dependency on Ubuntu rolling CI: Add testing on Ubuntu 22.04 LTS CI: Clean up and re-enable testing on Fedora rawhide xive: Fix NSR value when dumping the state of thread context interrupts: Speed up opal interrupts scanning opal-ci: Update qemu command line to test booting up hw/phb4: Use symbols when accessing PEC registers hw/phb4: Clear the PEC FIRs when taking the ETU out of reset Joel Stanley (12): ci: Remove Centos 8 doc: Remove docutils version pin Makefile: Fix detection of cross compiler github: Add workflow to build and deploy docs github: Run update before installing packages xscom: Move p9 ec level parsing to a function xscom: Parse P10 ec revision docs/platforms: Add Rainier product name psi: Remove PSIHB_XIVR reference init: Add a newline to the LPAR-per-core warning pci: Remove MVE opal calls Makefile: Link final elf with --no-warn-rwx-segments Mahesh Salgaonkar (8): opal/hmi: Recover from unusual HMI with no TB error reported. external/mambo: pmem: make persistent memory disk mapping 2MB aligned Initial Power11 enablement cpufeatures: Add Power11 support external/mambo: skiboot.tcl add Power11 config platform: Identify correct bmc platform based on bmc hw version hdata: Prevent NULL dereference on duplicate entries in TPMREL section fsp: Fix opal boot failure on systems with redundant FSP Michael Neuling (1): external/mambo: Handle greater than 16 CPUs Nicholas Piggin (69): hdata: add mmu-pid-bits and mmu-lpid-bits for POWER10 CPUs ccan: switch list_add_before/after arguments to match upstream hw/lpc: fix compilation error ccan: sync to upstream ccan.git commit ca7c5a9e04f3 libfdt: sync to upstream dtc.git commit 45f3d1a095dd chiptod: properly zero TB SPR when cleaning up for invalid TB core/cpu: rewrite idle synchronisation core/cpu: remove POWER8 IPI loop core/cpu: refactor IPI sending core/cpu: move cpu_wake out of job_lock core/cpu: make cpu idle states simpler core/cpu: move sleep/wake synchronisation out from low level code fast-reboot: fix TLB cleanup after fast reboot SBE: create processor-independent timer APIs hw/slw: Move P8 bits behind CONFIG_P8 hw/slw: split P8 specific code into its own file core: detect LPAR-per-core mode and report in dt cpu: Fix HID SPR icache flushing and attn change sequence external/mambo: add a poor man's ftrace command mem_region: Add a local_free function VAS: use local_free to free local_alloc memory core/malloc: Make free and realloc tolerant of invalid usage ipmi: Fix potential infinite loop in sync_msg polling platforms: Use astbmc_exit ipmi: flush the ipmi message queue before booting a kernel ipmi: remove unused OS watchdog support core/init: Move opal_mpipl_init earlier hw/chiptod: allow qemu to use the chiptod hdata: Add POWER10 Rainier tests hdata: Use common code for HDIF header check hdata: Make hdata child accessors check the header hdata: split idata accessor function hdata: Remove legacy SPIRA structure hdata: make for_each_pcia take spiras as an argument hdata: Use existing define for PCIA signature check core/hmi: fix endian conversion bug npu/pau: endian fixes libstb: endian annotations hw/phb4: Avoid wait for PERST when running on QEMU core/cpu: Fix invalid SMT indexes platforms/astbmc: Fix IPMI set BMC global enables command hw/bt: Work around QEMU lost interrupt bug hw/psi: Add LPC client names to PSI SIRQ interrupts hw/occ: Fix version check hw/occ: Fix OCC structure layout hw/occ: Tidy code and add error message hw/occ: Endian fixes platforms/qemu: QEMU now has support for direct controls on Power10 hw/sbe: Add SBE quirk for mambo and awan hw/sbe-p9: Move seq increment from queue to submit hw/sbe-p9: Check SBE health on each chip hw/sbe-p9: Add error message for unexpected msg list state core/timer: Always update hardware timer hw/sbe-p9: Re-set the SBE timer after SBE interrupt hw/sbe-p9: Change SBE lagging detection hw/sbe-p9: Better handle SBE timer rate-limiting hw/sbe-p9: Rename timer limits hw/sbe-p9: Fix sbe_last_gen_stamp timing inconsistency hw/sbe-p9: Limit SBE timer to 10s hw/sbe-p9: P10 additions cpu: Do not access xscom registers for guarded CPUs hw/bt: Add FIFO buffer length capability validation hw/lpc: Fix firmware memory space access for devices > 0 core/timers: Fix running-timer delay core/timers: Try to process all poll timers hw/xive: Warn if pushing HW context to already enabled CAM astbmc/ipmi: Improve Set Enables handling ipmi: Return error from ipmi_queue_msg_sync ipmi: Improve handling of time errors Reza Arbab (29): fsp: Fix possible use of null "%s" prlog argument libstb: Work around deprecated API warnings on OpenSSL 3.0 systems libstb: Fix memcpy overread in fakenv_readpublic() opal-ci: Drop fedora34, add fedora36 opal-ci: Drop fedora35, add fedora37 ci: Update github actions to run on Node 16 opal-ci: Use https URLs for systemsim packages ci: Update github actions to run on Node 16 opal-ci: Drop fedora36, add fedora38 skiboot v7.1 release notes opal-ci: Use the Fedora container registry opal-ci: Drop fedora37, add fedora39 opal-ci: Drop fedora38, add fedora40 ci: Update github actions to run on Node 20 Makefile: Use '--ignore-errors unused' with lcov opal-ci: Remove centos7 opal-ci: Drop fedora39, add fedora41 hdata/test: Build with -Wno-error=unterminated-string-initialization external/ffspart: Avoid makefile race condition opal-ci: Remove ubuntu-18.04 gcov: Document sysfs interface gcov: Don't print 0x with %p extract-gcov: Add counters for GCC > 7 extract-gcov: Fix tag lengths extract-gcov: Add checksum field Revert "hdata/test: Build with -Wno-error=unterminated-string-initialization" opal-ci: Force mambo rpm install on fedora-rawhide libstb: Add print-container to `make clean` libstb/(create|print)-container: Enable custom ssl dir Ryan Grimm (3): mambo: Fix backtrace when trace mixes endian code mambo: print useful error when mysim mmap fails hw/imc: Detect BML and fix core counters Stewart Smith (6): Introduce hwprobe facility to avoid hard-coding probe functions hwprobe: convert PHB, NPU, PAU subsystems to hwprobe Add CONFIG_P8 with PHB3 behind it hwprobe: convert vas_init(), nx_init() npu: Move npu.o and npu-hw-procedules.o under CONIFG_P8 platforms: put P8 platforms behind CONFIG_P8 Vaibhav Jain (1): pau: Fix a build error with GCC 13.1.1 Signed-off-by: Reza Arbab <arbab@linux.ibm.com>
The create-container host utility in skiboot is currently being built against the system ssl installation instead of the buildroot one, as exposed by broken builds on machines that do not have openssl-devel installed: [ HOSTCC ] libstb/create-container.c libstb/create-container.c:10:10: fatal error: openssl/bn.h: No such file or directory To fix, ensure that the skiboot build is using host-openssl. Signed-off-by: Reza Arbab <arbab@linux.ibm.com>
Can one of the admins verify this patch? |
@runlevel5, does this look okay to you? I know you ran into issues with |
@rarbab thanks much for this work I will let you know as soon as I am back from holiday |
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.
LGTM 👍
@rarbab while you are at this, could you please bump the kernel to latest 5.15? |
@runlevel5 Is there some reason we need 5.15? From a service perspective, the 5.10.x and 5.15.x LTS releases are both currently projected to have the same end-of-life. |
@rarbab ultimately I want to bump to latest 6.15.x series because it has up-to-date firmwares for hardwares. For example the RaptorCS Blackbird workstation would not be able to load up AMD graphic card driver at the early stage of boot menu. |
Is that currently the state of things with 5.10? AMD cards don't work? I think we should ride 5.10 out until its end-of-life is near, and then jump to whichever LTS release buys us the most service time. (FWIW, 6.15 is not LTS.) |
Yes, it won't.
The 6.12 LTS does support many modern AMD GPUs, perhaps we should consider bumping to 6.12 instead? |
@rarbab is there any particular policy from IBM or OpenPOWER on choosing kernel version? |
I think the idea has always been to keep churn to a minimum. Essentially what I described; pick an LTS release and stick with it for as long as possible. It's less important now because a lot of the IBM platforms themselves are out of service, but I'd personally like to stick with that. 5.10, 5.15, 6.6, and 6.12 all end in about a year. As that time nears we should know the next LTS. I will start rigging up a proof-of-concept with 6.x just to get ahead of any possible gotchas and test it out, so we are ready to go when the time comes. FYI, we are testing out 6.1 (which ends in two years) in the service branch for mowgli, so that could be a good canary. |
@rarbab fair point. Now I do agree with you that we should stick to 6.1. I will test the 6.1 branch on my blackbird |
Long overdue update to modern versions of buildroot, the kernel, and skiboot, for security and bug fixes.
On a RHEL8 builder, every defconfig in openpower/configs still builds for me.