Repository navigation
Releases: meta/openbmc
Releases · meta/openbmc
Release list
flashy-0ec2208
nexthopbmc: flashy: register nexthopbmc platform (#285)
Summary:
# Description
Add nexthopbmc to the flashy BMC-lite platform list, the flash procedure mappings (FlashCp) and platform_build_names so flashy recognizes and flashes nexthopbmc images.
# Motivation
nexthopbmc targets should be able to be flashed with the flashy tool.
Pull Request resolved: https://github.com/facebook/openbmc/pull/285
Test Plan:
Do an image upgrade:
```
./scripts/run_flashy_remote.sh \
--host nexthopbmc-oob \
--device mtd:flash0 \
--imagepath /srv/tftp/sync/flash-nexthopbmc
Running a remote upgrade on 'nexthopbmc-oob' with image '/srv/tftp/sync/flash-nexthopbmc'
Continue (y/n)?y
path-to-flashy not provided, building flashy...
Making installation directories on OpenBMC...
Copying flashy...
Copying image...
Copying upgrade script...
Running upgrade...
Getting buildname of device
Buildname: nexthopbmc
<snip>
2026/09/08 07:07:10 Fetching image data for offset: 33554432, size: 13238
2026/09/08 07:07:10 Flashing image data for offset: 33554432, size: 13238
2026/09/08 07:07:11 Finished flashing image '/run/upgrade/image' on to flash device '/dev/mtd5'
2026/09/08 07:07:11 Verifying copy on flash device '/dev/mtd5' with image file '/run/upgrade/image'
2026/09/08 07:07:16 Finished verifying copy on flash device '/dev/mtd5' with image file '/run/upgrade/image'
2026/09/08 07:07:16 FlashCp succeeded
2026/09/08 07:07:16 Finished: flashy
Flashing succeeded. It is safe to reboot this system. Flashing complete, rebooting the device...
Connection to nexthopbmc-oob closed by remote host.
```
Flashy go tests pass:
```
nate@builder:~/bmc/nh-openbmc/tools/flashy$ go test 2026/09/08 14:35:18 Running command
'/home/nate/bmc/nh-openbmc/tools/flashy/scripts/calculate_test_coverage.sh' with 30s timeout
2026/09/08 14:35:19 stdout: 93.9
2026/09/08 14:35:19 Command
'/home/nate/bmc/nh-openbmc/tools/flashy/scripts/calculate_test_coverage.sh' exited with code 0 after 915.914042ms
PASS
ok github.com/facebook/openbmc/tools/flashy 0.918s
```
Reviewed By: joancaneus
Differential Revision: D119173908
Pulled By: ezeob002
fbshipit-source-id: 8b60924bdfb1d67800a49455fc2782cf06111c6e
flashy-caa4ca2
ventura2a7: Add facebook/configerator_platforms_update.sh run changes Summary: Add the changes for facebook/configerator_platforms_update.sh to sync ventura2a7 platforms.json changes to openbmc repo. Test Plan: CIT passes. Reviewed By: jamesatha Differential Revision: D118828486 fbshipit-source-id: 76a0849229a5bc81e7d2f6db0da0389090863b71
flashy-41815de
flashy: sort machines Summary: As titled. Test Plan: flashy builds Reviewed By: amithash Differential Revision: D100399625 fbshipit-source-id: 581afdd5854017cf93a0461f2c2ce9b98b4f43b2
flashy-a1713b0
relax the free RAM floor to 30M on wedge100
Summary:
See S697061 for context, 30_ensure_enough_free_ram requires 45M free before an upgrade. Recent wedge100 releases cannot
meet that outside a short window after boot, so the step exits 42 and the caller
reboots the device.
Test Plan:
Unit tests
cd tools/flashy && ./scripts/run_unit_tests.sh
162/162 unit tests passed
Build `openbmc.utils.flashy` ephemeral, pin it in ooberaser code
```
diff --git a/fbcode/openbmc/erase/core/erase.py b/fbcode/openbmc/erase/core/erase.py
--- a/fbcode/openbmc/erase/core/erase.py
+++ b/fbcode/openbmc/erase/core/erase.py
@@ -1046,6 +1046,10 @@
self._logger.info("Preparing to run Flashy checks")
flashy = Flashy(self._openbmc, self._logger)
+ # XXX LOCAL TESTING ONLY - DO NOT COMMIT
+ # Pin the flashy fbpkg instead of resolving openbmc.utils.flashy:DEFAULT
+ flashy.FBPKG_TAG = "fd431e7"
+
# Get the current push image to flash to the device post-wipe
image = obmc_versions.get_fbpkg_version(self.build_name)
self._logger.info(f"Downloading {image} to flash to the device")
```
Run ooberaser locally using https://wiki.internalmeta.com/wiki/OpenBMC/OOBEraser_(aka_OpenBMC_Eraser)/Developer_Guide targeting a device running openbmc.image.wedge100:v2026.09.0:
```
./ooberaser --host rsw012-oob.p007.f01.prn6 --skip-wipe-certs --force --wait --tier local
```
While flashy is running, created a dummy file so mem free stayed on 30M on average, ensure flashy/wipe job succeeds
Differential Revision: D116460585
fbshipit-source-id: cd806016bab633340e9e4684fbeb0788319bac03
flashy-b48006b
Sync platforms.thrift from configerator Summary: Brings in support for rainiera7 Test Plan: All builds Reviewed By: wangx6f Differential Revision: D114380488 fbshipit-source-id: e2ba590ce9fc1daef8b59e55591764e87afb2177
flashy-86bde84
Sync platforms.thrift to openbmc repo Summary: Sync platforms.thrift to OpenBMC Needed to generate flash-procedure mapping so yosemite5a7 maps to FlashCp Test Plan: Generated with ``` $ facebook/configerator_platforms_update.sh ``` Reviewed By: ryazwinski Differential Revision: D113231071 fbshipit-source-id: 51695eb3dbc1e836b27ebcfcdca84e998ca8902a
flashy-849f885
handle flashy validation for yosemite5a7/AST2700 Summary: Currently any attempt to run oobgrader against a ysoemite5a7 device is failing as it cannot verify the image in flashy checks and remediations Let's add a fix to the whole image for the U-Boot version string (step 40) and adding the a7's 4088 KB manifest offset to the candidate list (step 41) Test Plan: ``` $oobgrader --host rtptest6715-oob.snc8.facebook.com --fbpkg-tag openbmc.image.yosemite5a7:v2026.27.1 --flashy-tag 5d49d87 --wait ``` Created job: https://fburl.com/scuba/openbmc_upgrades/b81b19sc BMC successfully upgraded: ``` $ ssh root@rtptest6715-oob.snc8.facebook.com Last login: Mon Jul 27 12:11:30 2026 from 2401:db00:eef0:1120:3520:0:a804:7c6 root@bmc:~# cat /etc/issue OpenBMC Release yosemite5a7-v2026.27.1 ``` Reviewed By: amithash, ryazwinski, williamspatrick Differential Revision: D112993974 fbshipit-source-id: cba093b85dcef6961ed8bafe4528846e9f27c87f
flashy-ceaf69c
log persist motd reset outcome Summary: flashCpAndValidate unconditionally removes /run/mnt-persist/etc-data/motd after flashing to drop the LF OpenBMC overlayfs persist file, but the return value from RemoveFile was discarded. When the removal fails for any reason (read-only fs, EIO, persist mount missing post-flash) there is no trace of it in the flashy log, which makes stale post-upgrade motd banners untraceable from oobgrader output alone. Add a small switch around the removal: - success logs that the persist motd was reset - ENOENT stays silent (expected on non-LF or unmodified motd) - any other error is logged with the path and underlying error No behavior change beyond logging; the function still returns the flashcp error unchanged so the existing TestFlashCpAndValidate "succeeded, with remove failure" case continues to pass. Test Plan: cd tools/flashy && go test ./... All packages PASS, including lib/flash. Reviewed By: Prabha-Veerubhotla Differential Revision: D106693971 fbshipit-source-id: 4dd26fd2942c58569ef519cc575c30f35aedc51a
flashy-9e80437
regen flash_procedure_mappings.go for sanmiguel
Summary:
Regenerate tools/flashy/flash_procedure/flash_procedure_mappings.go
after sanmiguel flipped has_fbpkg=true in platforms.json (D106118329,
synced via 807a2a10703 "Sync platforms.thrift").
Without this, flashy aborts with
{Err: unknown platform 'sanmiguel' - no flash procedure found}
and never writes the image. The wrapper then treats the failure as
ExitSafeToReboot and reboots into the unchanged old image, so any
post-flash CIT runs against stale firmware. Observed on
conveyor/openbmcfb sanmiguel runs starting 2026-05-26.
Sanmiguel is non-vboot and LF OpenBMC, so it lands on flash.FlashCp,
matching all other LF OpenBMC platforms (harma, minerva, yosemite4/5,
catalina, ventura, ventura2, bletchley, anacapa, clemente,
santabarbara, rainiera6).
Generated by facebook/sandcastle/gen_flash_procedure_mapping.sh.
Test Plan:
- cd facebook/sandcastle && bash gen_flash_procedure_mapping.sh
- git diff: only one new line "sanmiguel: flash.FlashCp," added.
- cd tools/flashy && go fmt ./... clean.
Reviewed By: waffle2k
Differential Revision: D106399150
fbshipit-source-id: 8bf25f0ab9c58b7a812013646f51482f435d12e3
flashy-1ca91dc
Sync platforms.thrift Summary: Bring in rainiera6 and sanmiguel Test Plan: #DoItLive Reviewed By: ifel Differential Revision: D104452087 fbshipit-source-id: d0f92faff1f281083d95fb5ae69e56702814470b