76 lines
1.4 KiB
Markdown
76 lines
1.4 KiB
Markdown
|
|
# noxis-rs
|
|

|
|
### In-container integrating util to handle processes runtime
|
|
( with amd64 and riscv64 support )
|
|
|
|
## Depends on
|
|
- `rustup (>=1.27.1)`
|
|
- `gcc-riscv64-unknown-elf`
|
|
- `build-essential`
|
|
- `gcc-riscv64-linux-gnu`
|
|
- `binutils-riscv64-linux-gnu`
|
|
|
|
|
|
## Setting up
|
|
Download and execute rustup.sh
|
|
~~~bash
|
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
|
~~~
|
|
|
|
## Building
|
|
|
|
1. Clone this repo `runner-rs`
|
|
|
|
~~~bash
|
|
git clone https://github.com/prplV/runner-rs
|
|
~~~
|
|
|
|
2. Enter project's dir and set up toolchain list to compile code for RISC-V and AMD64
|
|
|
|
~~~bash
|
|
cd runner-rs/ && rustup target add riscv64gc-unknown-linux-gnu && rustup target add x86_64-unknown-linux-gnu
|
|
~~~
|
|
> [!NOTE]
|
|
> Cargo is configured to build an app for amd64/linux defaultly. RISCV-based compilation is optional.
|
|
|
|
3.1. Release build of app for amd64/linux
|
|
|
|
~~~bash
|
|
cargo x86_64
|
|
~~~
|
|
|
|
3.2. Release build of app for riscv64/linux
|
|
|
|
~~~bash
|
|
cargo riscv64
|
|
~~~
|
|
|
|
3.3. Release build of app for both (riscv64 and amd64)
|
|
|
|
~~~bash
|
|
cargo unibuild
|
|
~~~
|
|
|
|
|
|
## Execution for amd64/linux
|
|
~~~bash
|
|
./target/x86_64-unknown-linux-gnu/release/runner-rs
|
|
~~~
|
|
or
|
|
~~~bash
|
|
cargo run_x86
|
|
~~~
|
|
|
|
|
|
## Execution for riscv64/linux
|
|
~~~bash
|
|
./target/riscv64gc-unknown-linux-gnu/release/runner-rs
|
|
~~~
|
|
or
|
|
> [!CAUTION]
|
|
> **cargo run_risc** command is a temp broken. Better use the first one
|
|
~~~bash
|
|
cargo run_risc
|
|
~~~
|