Skip to content

Releases: facebook/openbmc

flashy-8e973a5

06 Feb 17:39
Compare
Choose a tag to compare
Adding the support for Tahan and Morgan800cc

Summary: [flashy] Adding the support for Tahan and Morgan800cc

Test Plan:
[mikechoi@devvm7569.vll0 ~/dev/tahan/tools/flashy (helium)]$ ./build.sh && ./build_dev.sh && go test ./...
?       github.com/facebook/openbmc/tools/flashy/flash_procedure        [no test files]
?       github.com/facebook/openbmc/tools/flashy/lib/logger     [no test files]
?       github.com/facebook/openbmc/tools/flashy/tests  [no test files]
?       github.com/facebook/openbmc/tools/flashy/utilities      [no test files]
ok      github.com/facebook/openbmc/tools/flashy        2.928s
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/bletchley      (cached)
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/common (cached)
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/galaxy100      (cached)
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/wedge100       (cached)
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/yamp   (cached)
ok      github.com/facebook/openbmc/tools/flashy/install        (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/fileutils  (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/flash      (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/flash/flashcp      (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/flash/flashutils   (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/flash/flashutils/devices   (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/step       (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/utils      (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/validate   (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/validate/image     (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/validate/partition (cached)

Reviewed By: williamspatrick

Differential Revision: D53273501

fbshipit-source-id: a60507a94eefb67321e8ab72736720710c5836a9

flashy-5b1099b

16 Jan 16:09
Compare
Choose a tag to compare
yosemite4: flashy: add flash procedure

Summary: Copy flash procedure from bletchley for Yv4 update.

Test Plan: Build flashy.

Reviewed By: kawmarco

Differential Revision: D52739771

fbshipit-source-id: 801c68f1b7c3d5eeb5aa2450bc5c2f0e3aea3826

flashy-e54e093

02 Jan 21:17
Compare
Choose a tag to compare
add janga

Summary:
As title.  Also include montblanc in list of BMC lite platforms.  I'm
thinking the platforms.thrift sync script should auto-generate all this
stuff so it can be landed in the same commit but that's a bigger change.

Test Plan:
```
0 ~/local/openbmc/tools/flashy $ ./build.sh && ./build_dev.sh && go test ./...
?       github.com/facebook/openbmc/tools/flashy/flash_procedure        [no test files]
?       github.com/facebook/openbmc/tools/flashy/lib/logger     [no test files]
?       github.com/facebook/openbmc/tools/flashy/tests  [no test files]
?       github.com/facebook/openbmc/tools/flashy/utilities      [no test files]
ok      github.com/facebook/openbmc/tools/flashy        3.376s
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/bletchley      0.006s
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/common 0.377s
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/galaxy100      0.010s
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/wedge100       0.009s
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/yamp   0.008s
ok      github.com/facebook/openbmc/tools/flashy/install        0.008s
ok      github.com/facebook/openbmc/tools/flashy/lib/fileutils  0.013s
ok      github.com/facebook/openbmc/tools/flashy/lib/flash      0.010s
ok      github.com/facebook/openbmc/tools/flashy/lib/flash/flashcp      0.010s
ok      github.com/facebook/openbmc/tools/flashy/lib/flash/flashutils   0.008s
ok      github.com/facebook/openbmc/tools/flashy/lib/flash/flashutils/devices   0.009s
ok      github.com/facebook/openbmc/tools/flashy/lib/step       0.008s
ok      github.com/facebook/openbmc/tools/flashy/lib/utils      0.446s
ok      github.com/facebook/openbmc/tools/flashy/lib/validate   0.008s
ok      github.com/facebook/openbmc/tools/flashy/lib/validate/image     0.008s
ok      github.com/facebook/openbmc/tools/flashy/lib/validate/partition 0.028s
0 ~/local/openbmc/tools/flashy $
```

Reviewed By: kawmarco

Differential Revision: D52481796

fbshipit-source-id: 8545bcbd9a24888cf8c627be030d2b85fc33aad0

flashy-6a64b36

04 Dec 19:43
Compare
Choose a tag to compare
detect meru as a BMC-lite platform

Summary: We should automate this with platforms.json somehow but no time right now.

Test Plan:
Build & unit test:

```
0 ~/local/openbmc/tools/flashy $ ./build.sh && ./build_dev.sh && go test ./...
ok      github.com/facebook/openbmc/tools/flashy        (cached)
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/bletchley      (cached)
?       github.com/facebook/openbmc/tools/flashy/flash_procedure        [no test files]
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/common (cached)
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/galaxy100      (cached)
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/wedge100       (cached)
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/yamp   (cached)
?       github.com/facebook/openbmc/tools/flashy/lib/logger     [no test files]
?       github.com/facebook/openbmc/tools/flashy/utilities      [no test files]
?       github.com/facebook/openbmc/tools/flashy/tests  [no test files]
ok      github.com/facebook/openbmc/tools/flashy/install        (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/fileutils  (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/flash      (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/flash/flashcp      (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/flash/flashutils   (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/flash/flashutils/devices   (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/step       (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/utils      (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/validate   (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/validate/image     (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/validate/partition (cached)
```

Reviewed By: cjcon90

Differential Revision: D51814249

fbshipit-source-id: 45a3f7735178dd8aa5e44f3c5715e317b646d0a7

flashy-2517b18

04 Dec 18:34
Compare
Choose a tag to compare
Add flash_procedure for meru

Summary:
As title, oobgrader is failing with:
```
2023-12-04 07:48:34.696630 - Running flash procedure step: /run/flashy/flash_procedure/flash_meru --imagepath /run/upgrade/image --device mtd:flash0
2023-12-04 07:48:36.017120 - flash_procedure exited with non-zero exit code {rs.exit_status}. Run command result: {rs}
2023-12-04 07:48:36.017241 - Command '/run/flashy/flash_procedure/flash_meru --imagepath /run/upgrade/image --device mtd:flash0' exited with non-zero exit code: CommandResult(exit_status=127, stderr='bash: line 1: /run/flashy/flash_procedure/flash_meru: No such file or directoryn', stdout='', exit_signal=None)
```

Test Plan: test_placeholder

Reviewed By: doranand

Differential Revision: D51812322

fbshipit-source-id: cdb249c721aed89206956b3d7d0e0e007d72998b

flashy-3c90630

09 Oct 15:24
Compare
Choose a tag to compare
cosmetic change

Summary:
The second component of the version is a week number.

derp-cat

Test Plan:
```
0 ~/local/openbmc/tools/flashy $ ./build.sh; echo $?
0
0 ~/local/openbmc/tools/flashy $ go test ./...
?       github.com/facebook/openbmc/tools/flashy/flash_procedure        [no test files]
?       github.com/facebook/openbmc/tools/flashy/lib/logger     [no test files]
?       github.com/facebook/openbmc/tools/flashy/tests  [no test files]
?       github.com/facebook/openbmc/tools/flashy/utilities      [no test files]
ok      github.com/facebook/openbmc/tools/flashy        3.367s
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/bletchley      0.007s
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/common 0.290s
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/galaxy100      0.012s
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/wedge100       0.012s
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/yamp   0.011s
ok      github.com/facebook/openbmc/tools/flashy/install        0.009s
ok      github.com/facebook/openbmc/tools/flashy/lib/fileutils  0.015s
ok      github.com/facebook/openbmc/tools/flashy/lib/flash      0.015s
ok      github.com/facebook/openbmc/tools/flashy/lib/flash/flashcp      0.017s
ok      github.com/facebook/openbmc/tools/flashy/lib/flash/flashutils   0.010s
ok      github.com/facebook/openbmc/tools/flashy/lib/flash/flashutils/devices   0.011s
ok      github.com/facebook/openbmc/tools/flashy/lib/step       0.014s
ok      github.com/facebook/openbmc/tools/flashy/lib/utils      0.452s
ok      github.com/facebook/openbmc/tools/flashy/lib/validate   0.016s
ok      github.com/facebook/openbmc/tools/flashy/lib/validate/image     0.013s
ok      github.com/facebook/openbmc/tools/flashy/lib/validate/partition 0.030s
```

Reviewed By: lsiudut

Differential Revision: D50081770

fbshipit-source-id: 30b0ca964d8e63da29dd62110a9347c4f6ae69d6

flashy-6dd6665

28 Sep 16:44
Compare
Choose a tag to compare
S368275: don't mess with the watchdog on darwin

Summary:
Messing with a stopped watchdog starts it.

Can do something nicer later.

Test Plan:
```
0 ~/local/openbmc/tools/flashy $ go test ./...
?       github.com/facebook/openbmc/tools/flashy/flash_procedure        [no test files]
?       github.com/facebook/openbmc/tools/flashy/lib/logger     [no test files]
?       github.com/facebook/openbmc/tools/flashy/tests  [no test files]
?       github.com/facebook/openbmc/tools/flashy/utilities      [no test files]
ok      github.com/facebook/openbmc/tools/flashy        3.350s
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/bletchley      0.008s
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/common 0.296s
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/galaxy100      0.008s
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/wedge100       0.012s
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/yamp   0.009s
ok      github.com/facebook/openbmc/tools/flashy/install        0.009s
ok      github.com/facebook/openbmc/tools/flashy/lib/fileutils  0.014s
ok      github.com/facebook/openbmc/tools/flashy/lib/flash      0.011s
ok      github.com/facebook/openbmc/tools/flashy/lib/flash/flashcp      0.011s
ok      github.com/facebook/openbmc/tools/flashy/lib/flash/flashutils   0.008s
ok      github.com/facebook/openbmc/tools/flashy/lib/flash/flashutils/devices   0.009s
ok      github.com/facebook/openbmc/tools/flashy/lib/step       0.012s
ok      github.com/facebook/openbmc/tools/flashy/lib/utils      0.455s
ok      github.com/facebook/openbmc/tools/flashy/lib/validate   0.009s
ok      github.com/facebook/openbmc/tools/flashy/lib/validate/image     0.014s
ok      github.com/facebook/openbmc/tools/flashy/lib/validate/partition 0.037s
0 ~/local/openbmc/tools/flashy $ ./build.sh && ./build_dev.sh
0 ~/local/openbmc/tools/flashy $
```

```
$ oobgrader --host rsw029-oob.p076.f01.rva3.tfbnw.net --primary-only --wait --flashy-tag 734df50 --force --allow-downgrade
```
-> https://fburl.com/scuba/openbmc_upgrades/7e89e86b

Console messages during upgrade (no mention of watchdog):

```
[ 2783.001706] 11_drop_caches (6255): drop_caches: 3
[ 2873.352788] reboot: Restarting system

U-Boot 2019.04 fbdarwin-v2022.27.1 (Jul 06 2022 - 20:26:37 +0000)
```

Reviewed By: kawmarco

Differential Revision: D49734788

fbshipit-source-id: 1c2ce62b9d94f7fe8eb66a1969b0a2fc1d0c19a9

flashy-960593a

10 Aug 18:28
Compare
Choose a tag to compare
flashy: Add support for 128M fb-meta

Summary: As title. This is to support platforms with larger flashes and images. Fixes oobgrader failure on gtartemis which has started to go beyond the 32M size.

Test Plan:
oobgrader on gtartemis which is 128M Flash.
```
oobgrader --host gtartemis-test-host -b openbmc.image.gtartemis:v2023.32.0 --flashy-tag  6746cb7 --wait
<snip>
<snip>  c4746030-d209-4d88-b9de-18cee673c8f2  finished    WorkflowStatus.FINISHED  FinishStatus.SUCCEEDED
```
Workflow ID: c4746030-d209-4d88-b9de-18cee673c8f2

Ensure no regressions are observed in older ones.
```
oobgrader --host fby3-test-host -b openbmc.image.yosemite3:v2023.13.1 --flashy-tag 6746cb7  --wait
<snip>
<snip>  b4524080-d79d-4ef2-a7e8-7fc97b224a0f  finished    WorkflowStatus.FINISHED  FinishStatus.SUCCEEDED
```
Workflow ID: b4524080-d79d-4ef2-a7e8-7fc97b224a0f

Reviewed By: cjcon90

Differential Revision: D48207387

fbshipit-source-id: f0f349b9ab237a439c8f0088da573cff141828b9

flashy-d67ca4c

02 Aug 19:32
Compare
Choose a tag to compare
fby35: halfdome: refine expected server type define

Summary:
# Description
refine expected server type define,

# Motivation
to make the function more clean and readable.

X-link: https://github.com/facebookexternal/openbmc.quanta/pull/4023

Test Plan:
No function change
Build OK on halfdome/fby35

Test on halfdome BMC connect with crater lake board

`0    all      2023-07-31 19:21:33    gpiointrd        Slot1 plugged in a wrong FRU
`

Reviewed By: amithash

Differential Revision: D47980164

fbshipit-source-id: 53b27ed979b017e8aa213ef81277bf8d58502c9e

flashy-c7f86a5

01 Aug 09:27
Compare
Choose a tag to compare
Use regexp for Flashy S356523 workaround

Summary:
When tested on an affected device with the built ephemeral fbpkg, the workaround in D47928352 did not catch the issue.

While the grep matches, it fails when used as a utils.runCommand
```
In [14]: await host.run_raw_cmd("grep mtd0:.*spi0.1 /proc/mtd")
Out[14]: CommandResult(exit_status=0, stderr='', stdout='mtd0: 08000000 00010000 "spi0.1"\n', exit_signal=None)

In [15]: await flashy.flashy_checks_and_remediations("flash1","grandteton","openbmc.image.grandteton:v2023.25.2",True)
Command '/run/flashy/checks_and_remediations/common/05_ensure_flash_writable --imagepath /run/upgrade/image --device mtd:flash1' exited with non-zero exit code: CommandResult(exit_status=53, std
err='2023/07/31 16:10:47 Starting: checks_and_remediations/common/05_ensure_flash_writable\n2023/07/31 16:10:47 Running command \'grep mtd0:.*spi0.1 /proc/mtd\' with 30s timeout\n2023/07/31 16:1
0:47 Command \'grep mtd0:.*spi0.1 /proc/mtd\' exited with code 1 after 6.668228ms\n2023/07/31 16:10:47 Running command \'fw_printenv bootargs\' with 30s timeout\n2023/07/31 16:10:47 stderr: Warn
ing: Bad CRC, using default environment\n2023/07/31 16:10:47 stdout: bootargs=console=ttyS0,57600n8 root=/dev/ram rw vmalloc=384M\n2023/07/31 16:10:47 Command \'fw_printenv bootargs\' exited wit
h code 0 after 17.899282ms\n2023/07/31 16:10:47 Running command \'fw_setenv _flashy_test 4d658221\' with 30s timeout\n2023/07/31 16:10:47 stderr: Warning: Bad CRC, using default environment\n202
3/07/31 16:10:47 Command \'fw_setenv _flashy_test 4d658221\' exited with code 0 after 30.450366ms\n2023/07/31 16:10:47 Running command \'fw_printenv _flashy_test\' with 30s timeout\n2023/07/31 1
6:10:47 stderr: Warning: Bad CRC, using default environment\n2023/07/31 16:10:47 stderr: ## Error: "_flashy_test" not defined\n2023/07/31 16:10:47 Command \'fw_printenv _flashy_test\' exited wit
h code 1 after 19.637594ms\n2023/07/31 16:10:47 U-Boot environment is READ ONLY\n2023/07/31 16:10:47 Running command \'fw_setenv _flashy_test\' with 30s timeout\n2023/07/31 16:10:47 stderr: Warn
ing: Bad CRC, using default environment\n2023/07/31 16:10:47 Command \'fw_setenv _flashy_test\' exited with code 0 after 30.213364ms\n2023/07/31 16:10:47 {Err:U-Boot environment is read only: fl
ash chips swapped? Error code: exit status 1, stderr: Warning: Bad CRC, using default environment\n## Error: "_flashy_test" not defined\n\ngithub.com/facebook/openbmc/tools/flashy/checks_and_rem
ediations/common.ensureFlashWritable\n\t/home/ciaranconcannon/local/openbmc/tools/flashy/checks_and_remediations/common/05_ensure_flash_writable.go:98\nmain.main\n\t/home/ciaranconcannon/local/o
penbmc/tools/flashy/flashy.go:139\nruntime.main\n\t/data/users/ciaranconcannon/gopaths/goroot/src/runtime/proc.go:250\nruntime.goexit\n\t/data/users/ciaranconcannon/gopaths/goroot/src/runtime/as
m_arm.s:824}\n{"message":"U-Boot environment is read only: flash chips swapped? Error code: exit status 1, stderr: Warning: Bad CRC, using default environment\\n## Error: \\"_flashy_test\\" not
defined\\n"}\n', stdout='', exit_signal=None)
FLASHY_ERROR_BAD_FLASH_CHIP: U-Boot environment is read only: flash chips swapped? Error code: exit status 1, stderr: Warning: Bad CRC, using default environment
## Error: "_flashy_test" not defined```

Test Plan:
Confirmed that flashy checks and remediations runs without issue with ephemeral built fbpkg openmbc.utils.flashy:414c5ac
```
In [2]: from openbmc.lib.openbmc_host import OpenBMCHost
In [3]: from openbmc.lib.helpers.flashy import Flashy
In [4]: host = OpenBMCHost("provisioninghold73583-oob.pci2")
In [5]: flashy = Flashy(host)
In [6]: await flashy.flashy_fetch("openbmc.image.grandteton:v2023.25.2")
In [7]: await flashy.flashy_install()
In [8]: await flashy.flashy_checks_and_remediations("flash1","grandteton","openbmc.image.grandteton:v2023.25.2",True)
In [9]:
```
 ---
Unit tests
```
$ go test .
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/common
```

Reviewed By: mchugh19

Differential Revision: D47945711

fbshipit-source-id: 3d3c05c77b3d6cf85b687784f1357fd1c54204f1