Skip to content
This repository has been archived by the owner on Jul 16, 2024. It is now read-only.

Add info about pi image build process & vendor support #186

Open
gerth2 opened this issue Oct 11, 2022 · 1 comment
Open

Add info about pi image build process & vendor support #186

gerth2 opened this issue Oct 11, 2022 · 1 comment
Labels

Comments

@gerth2
Copy link
Contributor

gerth2 commented Oct 11, 2022

Add a developer info page describing the multi-step process that spans many repos:

  1. Pi-gen = source to build a stripped-down, but all-deps-installed pi image, and archive it as a release.
  2. photonvision = core repo with all the main functionality
  3. gloworm and snakeyes = updater scripts which merge a pi-gen image, photonvision release, and hardware specific customizations (vendor hardware.json usually) into a single iso/zip.

Reasons for the structure: Pi-gen build is long (hours) and not reproducible (has dependencies that pull against "latest", which could break without us knowing at release time). So, rather than rebuilding it every time we release photonVision, we use the updater process. Separately, the pi image gets periodically updated (~1/year...ish) and new images are released.

Vendors may also define their own base pi image. For example, gloworm needed to enable some SPI/ethernet overlay thingy so it does that in its own pi-gen, then uses that pi-gen for its updater repo.

updater repos purposefully use a different versioning scheme to prevent end user confusion.

@mdurrani808
Copy link
Contributor

I personally don't have enough knowledge about this system to document it but if someone wants to take a crack at it, would be appreciated.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants