Skip to content

Reorganize Repo Directory Structure#113

Merged
alexhulbert merged 1 commit intomainfrom
ah/restructure
Mar 13, 2026
Merged

Reorganize Repo Directory Structure#113
alexhulbert merged 1 commit intomainfrom
ah/restructure

Conversation

@alexhulbert
Copy link
Copy Markdown
Member

@alexhulbert alexhulbert commented Mar 12, 2026

Summary

  • Moved base: base/ -> shared/, kernel/ -> shared/kernel/
  • Moved modules: bob-common/ -> modules/flashbox/common/, bob-l1/ -> modules/flashbox/flashbox-l1/, bob-l2/ -> modules/flashbox/flashbox-l2/, tdx-dummy/ -> modules/tdx-dummy/
  • Moved root level image configs: *.conf -> images/*.conf (renamed bob to flashbox)
  • Moved verification tools: verify/ -> scripts/verification/
  • Updated all non-initrd path references (mkosi confs, build scripts, Makefile, CI)
  • Updated documentation (README, DEVELOPMENT.md, flashbox-l1 readme)

No files under mkosi.extra/ were modified, only moved. The only change that affected the image is IMAGE_ID in /etc/os-release (bob-l1-devflashbox-l1-dev), which is set by the --image-id flag at build time.

Migration

Run make build IMAGE=flashbox-l1 instead of make build IMAGE=bob-1 same for dev builds and bob-l2

Test plan

  • Clean build make build-dev IMAGE=flashbox-l1 succeeds
  • Diff initrd against pre-refactor build (only difference is IMAGE_ID in os-release)
  • CI workflow succeeds with new image names

@alexhulbert alexhulbert changed the title Directory Restructure Reorganize Repo Directory Structure Mar 12, 2026
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion:

can common be renamed to _common (so that it's not lost in the mix of real modules)?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i talked with mateusz Moe and Ilya about this a while back, and the consensus was that we shouldn't have a distinction between "real" modules and "shared" modules since (evidently) there are certain products coming down the pipe that may just be combinations of two shares modules

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you provide a (realistic) example of such product (that is a combination of 2+ shared modules)?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion:

also, maybe shared should be common (to keep things consistent)

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I made it different specifically to not keep things consistent. that way you know just from the tab name in vim or vscode or whatever you use to edit files whether you're editing shared code or a particular product

│ ├── flashbox-l1.conf
│ ├── flashbox-l2.conf
│ └── tdx-dummy.conf
├── buildernet/ # BuilderNet
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't think we have buildernet/

@niccoloraspa
Copy link
Copy Markdown
Contributor

Really like the new structure <3

@alexhulbert alexhulbert merged commit f0219c6 into main Mar 13, 2026
3 of 5 checks passed
@alexhulbert alexhulbert deleted the ah/restructure branch March 13, 2026 15:30
Include=modules/flashbox/flashbox-l1/mkosi.conf

[Config]
Profiles=azure,gcp
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issue:

cloud-specific profiles mustn't be mixed

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.

3 participants