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.
- Prerequisites
- Build Scripts
- Building the Rust Application Only
- Flashing the Image with Balena Etcher
- Troubleshooting
- Contributing
- License
- 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)
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.
The /build_scripts directory contains scripts to build the Armbian images for various hardware targets.
To build images for all supported hardware targets, run:
./build_scripts/build_all.shTo build an image for a specific target, run the corresponding script. For example, for the Raspberry Pi 4B:
./build_scripts/build_rpi_4b.shOther 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.
If you wish to compile and run the Rust application without building an OS image, you can do so with Cargo:
cargo build --releaseThis 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
Once the image is built, follow these steps to flash it to your storage device:
- Download and Install Balena Etcher: Get it from etcher.balena.io/.
- Launch Balena Etcher.
- Select the Image: Click "Flash from file" and choose the generated OS image.
- Select the Target Drive: Choose the device you wish to flash.
- 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.
- 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
Contributions are welcome! Please submit issues or pull requests to help improve the project.
This project is licensed under the Apache 2.0 License. See the LICENSE file for more details.