forked from tfgrid/zosbuilder
docs: add persistent TODO.md checklist with clickable references to code and configs
This commit is contained in:
73
docs/TODO.md
Normal file
73
docs/TODO.md
Normal file
@@ -0,0 +1,73 @@
|
||||
# Zero-OS Builder – Persistent TODO
|
||||
|
||||
This canonical checklist is the single source of truth for ongoing work. It mirrors the live task tracker but is versioned in-repo for review and PRs. Jump-points reference exact functions and files for quick triage.
|
||||
|
||||
## High-level
|
||||
|
||||
- [x] Regenerate repository function index: [scripts/functionlist.md](scripts/functionlist.md)
|
||||
- [x] Refresh NOTES with jump-points and roadmap: [docs/NOTES.md](docs/NOTES.md)
|
||||
- [x] Extend RFS design with RESP/DB-style backend: [docs/rfs-flists.md](docs/rfs-flists.md)
|
||||
- [x] Make Rust components Git fetch non-destructive: [bash.components_download_git()](scripts/lib/components.sh:72)
|
||||
- [ ] Update zinit config for "zosception" workflow: [config/zinit/](config/zinit/)
|
||||
- [ ] Add zosstorage to the initramfs (package/build/install + zinit unit)
|
||||
- [ ] Validate via minimal rebuild and boot tests; refine depmod/udev docs
|
||||
- [ ] Commit and push documentation and configuration updates (post-zosception/zosstorage)
|
||||
|
||||
## Zosception (zinit service graph and ordering)
|
||||
|
||||
- [ ] Define service graph changes and ordering constraints
|
||||
- Reference current triggers:
|
||||
- Early coldplug: [config/zinit/udev-trigger.yaml](config/zinit/udev-trigger.yaml)
|
||||
- Network readiness: [config/zinit/network.yaml](config/zinit/network.yaml)
|
||||
- Post-mount coldplug: [config/zinit/udev-rfs.yaml](config/zinit/udev-rfs.yaml)
|
||||
- [ ] Add/update units under [config/zinit/](config/zinit/) with proper after/needs/wants
|
||||
- [ ] Validate with stage runner and logs
|
||||
- Stage runner: [bash.stage_run()](scripts/lib/stages.sh:99)
|
||||
- Main flow: [bash.main_build_process()](scripts/build.sh:214)
|
||||
|
||||
## ZOS Storage in initramfs
|
||||
|
||||
- [ ] Decide delivery mechanism:
|
||||
- [ ] APK via [config/packages.list](config/packages.list)
|
||||
- [ ] Source build via [bash.components_parse_sources_conf()](scripts/lib/components.sh:13) with a new build function
|
||||
- [ ] Copy/install into initramfs
|
||||
- Components copy: [bash.initramfs_copy_components()](scripts/lib/initramfs.sh:102)
|
||||
- Zinit setup: [bash.initramfs_setup_zinit()](scripts/lib/initramfs.sh:13)
|
||||
- [ ] Create zinit unit(s) for zosstorage startup and ordering
|
||||
- Place after network and before RFS if it provides storage used by rfs
|
||||
- [ ] Add smoke command to confirm presence in image (e.g., which/--version) during [bash.initramfs_validate()](scripts/lib/initramfs.sh:820)
|
||||
|
||||
## RFS backends — implementation follow-up (beyond design)
|
||||
|
||||
- [ ] RESP uploader shim for packers (non-breaking)
|
||||
- Packers entrypoints: [scripts/rfs/pack-modules.sh](scripts/rfs/pack-modules.sh), [scripts/rfs/pack-firmware.sh](scripts/rfs/pack-firmware.sh)
|
||||
- Config loader: [bash.rfs_common_load_rfs_s3_config()](scripts/rfs/common.sh:82) → extend to parse RESP_* (non-breaking)
|
||||
- Store URI builder (S3 exists): [bash.rfs_common_build_s3_store_uri()](scripts/rfs/common.sh:137)
|
||||
- Manifest patching remains:
|
||||
- Stores table: [bash.rfs_common_patch_flist_stores()](scripts/rfs/common.sh:385)
|
||||
- route.url: [bash.rfs_common_patch_flist_route_url()](scripts/rfs/common.sh:494)
|
||||
- [ ] Connectivity checks and retries for RESP path
|
||||
- [ ] Local cache for pack-time (optional)
|
||||
|
||||
## Validation and boot tests
|
||||
|
||||
- [ ] Minimal rebuild after zinit/units/edit
|
||||
- Helper: [scripts/rebuild-after-zinit.sh](scripts/rebuild-after-zinit.sh)
|
||||
- [ ] Validate contents before CPIO
|
||||
- Create: [bash.initramfs_create_cpio()](scripts/lib/initramfs.sh:691)
|
||||
- Validate: [bash.initramfs_validate()](scripts/lib/initramfs.sh:820)
|
||||
- [ ] QEMU / cloud-hypervisor smoke tests
|
||||
- Test suite: [bash.testing_run_all()](scripts/lib/testing.sh:299)
|
||||
- [ ] Kernel embed path and versioning sanity
|
||||
- Embed config: [bash.kernel_modify_config_for_initramfs()](scripts/lib/kernel.sh:130)
|
||||
- Full version logic: [bash.kernel_get_full_version()](scripts/lib/kernel.sh:14)
|
||||
|
||||
## Operational conventions (keep)
|
||||
|
||||
- [ ] Diagnostics-first changes; add logs before fixes
|
||||
- [ ] Absolute path normalization respected
|
||||
- Normalization: [scripts/lib/common.sh](scripts/lib/common.sh:244)
|
||||
|
||||
Notes
|
||||
- Keep this file in sync with the live tracker. Reference it in PR descriptions.
|
||||
- Use the clickable references above for rapid navigation.
|
||||
Reference in New Issue
Block a user