Skip to content

Only require lspci on BCM2711 - #900

Closed
Firat17aze wants to merge 1 commit into
raspberrypi:masterfrom
Firat17aze:fix/pi5-lspci-dependency
Closed

Firat17aze wants to merge 1 commit into
raspberrypi:masterfrom
Firat17aze:fix/pi5-lspci-dependency

Conversation

@Firat17aze

Copy link
Copy Markdown

rpi-eeprom-update rejects a Pi 5 when lspci is absent, even though its only lspci call is in the BCM2711 VL805 version path. This prevents otherwise supported bootloader-update operations on BCM2712 systems without pciutils.

Require lspci only for BCM2711. Pi 4-class systems retain the existing missing-dependency error. Other dependency checks and update behavior are unchanged.

Fixes #884.

The new host regression executes the actual updater's read-only -l path with board-revision fixtures, an isolated command PATH, and empty firmware directories. It covers Pi 5 and Pi 4 both with and without lspci. The original updater fails the Pi 5/no-lspci case with exit status 2; all four cases pass with this change. The test runs from the existing EEPROM config suite, so the existing CI entry point includes it.

Validation on macOS ARM64:

  • sh test/test-rpi-eeprom-update: all four dependency cases pass.
  • From test/, sh test-rpi-eeprom-config: the complete existing image/config round-trip, signed-image, freeze, configuration-size and checksum tests pass, followed by the new updater regression. Used an isolated Python environment with pycryptodomex 3.24.1 and the available checksum utilities; scratch files were kept in a dedicated TMPDIR.
  • sh -n for the updater and both test scripts, plus final diff and whitespace checks, pass.

No physical Raspberry Pi execution, EEPROM flashing, or reboot testing was performed. The board and hardware-discovery commands are host fixtures; this verifies dependency selection and existing image tooling rather than device boot behavior. Linux CI has not yet run for this submission.

OpenAI Codex automation prepared the production conditional, host regression, test-suite integration, validation, and this description under the account owner's authorization. No unaided human work or physical-device testing is claimed.

Preserve the Pi4 dependency check while allowing Pi5 update operations without pciutils. Add four full-updater read-only dependency cases to the existing test entry point.

OpenAI Codex automation prepared this change and validation. Host regression, complete EEPROM config suite and shell syntax checks pass on macOS. No physical Raspberry Pi, flashing or reboot test was performed.
@timg236

timg236 commented Oct 12, 2026

Copy link
Copy Markdown
Collaborator

Closing - untested AI code
"No physical Raspberry Pi execution, EEPROM flashing, or reboot testing was performed"

This also duplicates another issue

@timg236 timg236 closed this Oct 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

stoften lspci dependency check

2 participants