Table of Contents
include_toc
| include_toc |
|---|
| true |
Reclaim build space
Run these from the repository root after stopping builds and test VMs:
make clean-preview
make clean
The preview lists every selected directory, its combined allocated footprint,
and the generated directories being kept. It does not delete files. make clean
recalculates the selection and deletes it without a confirmation prompt. Repeat
it whenever old build/test workspaces accumulate. It needs Python 3, Git and GNU
du, already used by the build host; it needs no Rust compilation, downloads,
root privileges or new Python packages.
What is removed
- Old generated rootfs, kernel, initramfs, SYSTEM, boot, recovery and internal image workspaces that are no longer referenced by published output links.
- Old generated integration-test directories, including their disk images,
disposable test DATA overlays and local diagnostic logs. The current results
referenced by
*-latestlinks or workstation current-pointer files are kept. - Old generated package staging copies and service compilation directories.
- This checkout's
target/Rust compilation output. Exported executables inout/andout/workstation/remain available. The next Rust build recompiles as needed using the retained Cargo source cache.
The command recognizes the specific temporary-directory names produced by the
repository's builders and tests. It never treats all of out/ as disposable.
Unknown names are left alone, including ad hoc diagnostic experiments.
What is kept
- Current rootfs archives for every profile, kernel, initramfs, boot, recovery,
internal disk and SYSTEM images, through their published symlinks. Links in
out/manifests/and links within retained workspaces also retain their targets. - Latest published test runs, the current workstation image/emulator fixtures,
the current Dasung s6 database, and the newest
m9-images.*fixture needed by the media tests. These can still occupy tens of GiB. - Signed releases such as
out/fds-os-0.1.0/, input snapshots such asout/inputs-m12-v5/, and independent restored trees such asout/rebuild-m12-v5-a/. These remain available for release reproduction. - User-created cartridge images, installed software trees and personal emulator sessions
such as
out/my-emulator/, including their persistent DATA overlays. out/logs/,out/manifests/, packages, downloads,out/cache/,.host/, the writable Void checkout/build container under.host/void-packages/, and Cargo/Rustup caches outside this checkout.- Git-tracked files and any recognized workspace containing a
.fds-keepentry.
To retain an older generated workspace for investigation, put a marker in it before cleaning:
touch out/m8-vm.YOUR_RUN/.fds-keep
make clean-preview
Replace YOUR_RUN with the actual directory suffix. Remove that marker when the
workspace is disposable again. Reserve the generated names for the build/test
tools; store personal sessions and images under your own names.
Build-space management
Image builds and VM suites retain workspaces for diagnosis and preserve the last
successful published image. Repeat make clean-preview and make clean after
completed build batches. Cleanup is explicit; there is no automatic retention
limit during a build. Full image builds require tens of GiB per independent tree.
Running safely and rebuilding
Use cleanup sequentially, just like the existing shared-container builds. It
holds the existing rootfs/base-package/image-tool locks, excludes another
cleanup, and refuses mounted candidate paths or observable active build/VM
processes. These checks are safeguards, not permission to start a separate build
while cleanup is running. It never follows a candidate symlink into another
directory, and refuses a symlinked out/ entirely. Only the checkout containing
the script is eligible; there is no arbitrary deletion-path option.
Existing published images and native tools remain usable after cleanup. To
refresh exported binaries, run make tooling or make workstation. To rebuild
the smoke-test artifacts and rerun build checks:
make smoke-test
make check
After cleanup, run the smoke test before make check, since the checks need its
rebuilt executable. Cleanup implementation and validation details are in the
developer notes.
FDS/OS
Start here
Use the computer
- Use cartridges and run programs
- DATA and persistent files
- WindowMaker and FDS Control
- Dasung Paperlike display
Install and maintain
- Flash disk images
- Internal storage and machine settings
- Pi 5 EEPROM configuration
- Recovery and rollback
- Verify a release
- Reclaim build space
- Troubleshooting
Build and contribute
Home · All pages · Edit the wiki · Source repository
Maintained directly in the fds-os.wiki repository. Historical acceptance applies only to the source and artifacts identified in each record.