mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-26 02:11:53 +00:00
* consolidate and streamline build * fix workflow syntax * fix workflow syntax * fix workflow syntax * fix workflow syntax * fix build scripts * only build platform-specific system images * fix build script * more build fixes * fix * fix compat build for x86 * wat * checkout * Prevent rebuild of compiled artifacts * Update startos-iso.yaml * Update startos-iso.yaml * fix raspi build * handle missing platform better * reduce arm vcpus * remove arch and platform from fe config, add to patch db --------- Co-authored-by: Matt Hill <mattnine@protonmail.com>
StartOS Backend
- Requirements:
- Install Rust
- Recommended: rust-analyzer
- Docker
- Rust ARM64 Build Container
- Mac
brew install gnu-tar
- Scripts (run within the
./backenddirectory)build-prod.sh- compiles a release build of the artifacts for running on ARM64
- A Linux computer or VM
Structure
The StartOS backend is packed into a single binary startbox that is symlinked under
several different names for different behaviour:
- startd: This is the main workhorse of StartOS - any new functionality you want will likely go here
- start-cli: This is a CLI tool that will allow you to issue commands to startd and control it similarly to the UI
- start-sdk: This is a CLI tool that aids in building and packaging services you wish to deploy to StartOS
Finally there is a library startos that supports all of these tools.
See here for details.
Building
You can build the entire operating system image using make from the root of
the StartOS project. This will subsequently invoke the build scripts above to
actually create the requisite binaries and put them onto the final operating
system image.
Questions
If you have questions about how various pieces of the backend system work. Open an issue and tag the following people
- dr-bonez