ReviewOS

home-lang/home-os

[Blocked by home-lang #6] Absorb kernel/iommu/tpm/usb/dtb/modsign packages from home-lang

#9
Open glennmichael123 opened this 9 days ago ·
9 days ago

Context

The home-lang repo currently contains substantial OS-level packages (~56k LOC) that conceptually belong here:

PackageLOC
packages/kernel43,741
packages/bootloader2,087
packages/iommu1,814
packages/syslog1,553
packages/coredump1,396
packages/dtb1,384
packages/usb1,356
packages/modsign1,240
packages/tpm1,198
packages/syscall634

Living in the language repo, they bloat clone size, blur the language's scope, and force every language contributor to wade through OS code. The right home for them is here.

Blocker

Scope (once unblocked)

  • Receive the imported packages under a sensible layout (likely under kernel/packages/ or lib/)
  • Reconcile any duplication with what already exists in kernel/src/ (e.g. is the imported kernel package competing with our kernel/src/ modules, or complementary?)
  • Update import paths everywhere — anywhere we currently import "..../home/packages/kernel/..." becomes a local import
  • Update CLAUDE.md Kernel Features section to reflect that those packages now live here, not at ~/Code/home/packages/kernel/
  • Update scripts/build-rpi5.sh and friends — they currently cp boot.s out of the home repo's kernel package
  • Verify CI still builds after the move

Risks

  • Significant import-path churn across both repos at once — coordinate with the home-lang side to land within the same window
  • Duplication: we may discover the imported kernel package and our own kernel/src/ overlap heavily (e.g. both define memory management). Need to dedupe before / during the move, not after.

Why this matters

  • Single source of truth: kernel code lives in the OS repo, language code lives in the language repo
  • Reduces home-lang's clone size by ~50% (per LOC) and makes each repo's purpose obvious

Sign in to comment on this issue.