Skip to content

GalactechsLLC/druid-garden-os

Repository files navigation

Druid Garden OS

This repository contains a Rust project integrated with custom Armbian build scripts to generate OS images for multiple hardware targets. You can either build a full OS image for your target hardware or build the Rust application separately to run on an existing machine.

Table of Contents

Supported Hardware Targets:

  • Raspberry Pi 4B (build_rpi_4b.sh)
  • Rock 4C (build_rock_4c.sh)
  • Rock 5A (build_rock_5a.sh)
  • Generic x86_64 (build_generic_x86_64.sh)

Prerequisites

Ensure you have the following installed:

  • Git: For cloning the repository.
  • Rust Toolchain: Install via rustup if building the Rust application.
  • Build Dependencies for Armbian: Please refer to the Armbian Build Documentation for a complete list.
  • Balena Etcher: Download from balena.io/etcher to flash the generated OS images.

Build Scripts

The /build_scripts directory contains scripts to build the Armbian images for various hardware targets.

Build All Targets

To build images for all supported hardware targets, run:

./build_scripts/build_all.sh

Build Specific Targets

To build an image for a specific target, run the corresponding script. For example, for the Raspberry Pi 4B:

./build_scripts/build_rpi_4b.sh

Other available target scripts include:

  • Rock 4C: ./build_scripts/build_rock_4c.sh
  • Rock 5A: ./build_scripts/build_rock_5a.sh
  • Generic x86_64: ./build_scripts/build_generic_x86_64.sh

The generated image files will be located in the build_output directory.

Building the Rust Application Only

If you wish to compile and run the Rust application without building an OS image, you can do so with Cargo:

cargo build --release

This command builds the Rust application, which can then be executed on an existing machine. The Web UI by default will run on 0.0.0.0:8080 with Admin/Admin as the initial Username/Password

Flashing the Image with Balena Etcher

Once the image is built, follow these steps to flash it to your storage device:

  1. Download and Install Balena Etcher: Get it from etcher.balena.io/.
  2. Launch Balena Etcher.
  3. Select the Image: Click "Flash from file" and choose the generated OS image.
  4. Select the Target Drive: Choose the device you wish to flash.
  5. Flash the Image: Click "Flash!" and wait for the process to complete.

Your target hardware should now be ready to boot from the newly flashed drive.

Troubleshooting

  • Build Failures: Verify that all required dependencies for both the Rust toolchain and the Armbian build system are installed. Check the logs generated by the build scripts for specific errors.
  • Permission Issues: If you encounter permission errors, consider running the build scripts with elevated permissions (e.g., using sudo).
  • Flashing Problems: Ensure your image file is intact and that your storage device is properly connected. Re-download or try a different device if problems persist.
  • Join the Discord: https://discord.gg/gT6eYHsmeD

Contributing

Contributions are welcome! Please submit issues or pull requests to help improve the project.

License

This project is licensed under the Apache 2.0 License. See the LICENSE file for more details.

About

Garden OS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors