Installing Rust
-
To install the correct version of rust we need to get which platform/architecture for our BeagleBone
-
Take the output,
armv7l, to https://forge.rust-lang.org/infra/other-installation-methods.html and find thearm7stable binary.Rust has a 6 and 12 week release cycle, so you may have a different version number.
View latest release notes here:
and for release cycle info here:
-
Once you have found the binary, right click and copy link to the
tar.xzfile. Go to the terminal and reproduce the following command to send stream the binary download over ssh to the BeagleBone:curl -L https://static.rust-lang.org/dist/rust-1.95.0-armv7-unknown-linux-gnueabihf.tar.xz \ | ssh debian@192.168.7.2 "cat > rust.tar.xz"You will be prompted for the password.
The reason we are streaming over
sshis because the university machines user space storage is smaller than the binary. If you are connected with your device, you should still do the same command, remember the BeagleBone does not have internet access.On ARM Linux, the suffix
eabirefers to the Embedded Application Binary Interface (ABI), the low-level contract that defines how functions are called, how data is passed, and how binaries interact with the system.The key difference here is how floating-point operations are handled:
-
gnueabi(soft-float)- Floating-point calculations are performed in software
- Values are passed via general-purpose registers
- Works on older CPUs without a floating-point unit (FPU)
-
gnueabihf(hard-float)- Floating-point calculations use the CPU’s hardware FPU (e.g. VFP/NEON)
- Values are passed via dedicated floating-point registers
- Requires OS and libraries compiled for hard-float
These are ABI-incompatible, a program built for one cannot run on the other.
In practice:
gnueabi→ maximum compatibilitygnueabihf→ better performance (modern ARM systems)
This distinction applies to all compiled languages, not just Rust.
-
-
Now you can
sshinto the BeagleBone, and run the following commands:If you see something like this, don’t worry:
tar: rust-1.95.0-armv7-unknown-linux-gnueabihf/clippy-preview/bin/cargo-clippy: time stamp 2026-04-14 19:55:32 is 27801247.138258174 s in the futureThis means that the file inside the archive has a modification time later than your system clock on the target.
You can verify by running:
/usr/bin/date -
Verify installation by running
which rustc cargo, it should return the installation path and therefore it is include in the$PATH. -
Now let’s make sure we can run a program. Create a directory called rust with a file called
main.rs -
Open
rust/main.rswithnanoand reproduce: -
Save and exit, and then build the program
-
Now you should be able to go
./mainand the terminal should should “Hello World!”