Trim down documentation and script verbosity

This commit is contained in:
Markus Unterwaditzer
2026-02-08 15:07:56 +01:00
committed by Cooper Quintin
parent 1347e3107a
commit 8f9be746d3
3 changed files with 5 additions and 82 deletions

View File

@@ -12,7 +12,7 @@ At a high level, we have:
It's recommended to work either on Mac/Linux, or WSL on Windows.
## Quick start
## Building frontend and backend
If you have [Rust](https://www.rust-lang.org/tools/install) and
[Node.js/npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
@@ -23,70 +23,7 @@ installed, you can build everything with:
./scripts/install-dev.sh orbic # replace 'orbic' with your device type
```
## Step 1: Building the frontend
Install [nodejs/npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm), which is required to build Rayhunter's web UI.
Run:
```sh
pushd daemon/web && npm install && npm run build && popd
```
## Step 2: Building the daemon
[Install Rust the usual way](https://www.rust-lang.org/tools/install). Then,
- install a C compiler (`apt install build-essential` would be the command under Ubuntu)
- install the cross-compilation target for the device Rayhunter will run on:
```sh
rustup target add armv7-unknown-linux-musleabihf
```
- install the statically compiled target for your host machine:
```sh
# check which toolchain you have installed by default with
rustup show
# now install the correct variant for your host platform, one of:
rustup target add aarch64-unknown-linux-musl
rustup target add armv7-unknown-linux-musleabi
rustup target add x86_64-unknown-linux-musl
rustup target add aarch64-apple-darwin
rustup target add x86_64-apple-darwin
rustup target add x86_64-pc-windows-gnu
```
Now to build the daemon:
```sh
# Build the daemon binary for local development (rustcrypto TLS backend, fast compilation)
# WARNING: The rustcrypto library, though not known to be insecure, is less well
# tested than its counterpart and could potentially have severe issues in
# its cryptographic implementation. We therefore recommend using ring-tls in
# production builds (see below)
cargo build-daemon-firmware-devel
# To build it exactly like in CI (more mature ring TLS backend, slower compilation)
# CC_armv7_unknown_linux_musleabihf=arm-linux-gnueabihf-gcc cargo build-daemon-firmware
# Build rootshell
cargo build-rootshell-firmware-devel
```
## Step 3: Running the installer
Now that all dependencies of the installer have been built, you can run the installer like so (with the device connected according to the regular installation instructions):
```sh
# Replace 'orbic' with your device type if different.
# A list of possible values can be found with 'cargo run --bin installer help'.
FIRMWARE_PROFILE=firmware-devel cargo run -p installer --bin installer orbic
```
## Optional: Hot-reloading the frontend
## Hot-reloading the frontend
If you are working on the frontend, you normally have to repeat all of the above steps everytime to see a change.
@@ -106,7 +43,7 @@ API_TARGET=http://192.168.1.1:8080 npm run dev
The UI will listen on `localhost:5173` and instantly show any frontend changes
you make. Backend changes require building everything from the top (daemon and installer).
## Optional: Installer utils, getting a shell
## Installer utils, getting a shell
Check `FIRMWARE_PROFILE=firmware-devel cargo run -p installer -- util --help`
for useful utilities for transferring files, opening shells. The exact tools