ord icon indicating copy to clipboard operation
ord copied to clipboard

Provide prebuilt binaries for raspberry pi

Open casey opened this issue 2 years ago • 7 comments

casey avatar Jan 26 '23 19:01 casey

Here's my notes on how I built on Raspberry Pi 64 bit, on a Pi 4B 4GB

My environment this was built on started with Raspbibolt

Initial OS and some tools and libs

Install Raspberry Pi OS, then update and install some tools This is done as a user admin created when burning the raspberry pi os image with Raspberry Pi Imager

sudo apt update
sudo apt full-upgrade
sudo apt install wget curl gpg git --install-recommends

Open files limit

edit /etc/security/limits.d/90-limits.conf

*    soft nofile 128000
*    hard nofile 128000
root soft nofile 128000
root hard nofile 128000

set this in both /etc/pam.d/common-session and /etc/pam.d/common-session-noninteractive

session required pam_limits.so

I also built Fulcrum, so some useful dependencies may have come from that. notably...

sudo apt install libssl-dev

Finally, install rust, clone the repo, and build

cd /tmp
curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh
sudo apt-get install libssl-dev
cd ~
git clone https://github.com/casey/ord.git
cd ord
source $HOME/.cargo/env
cargo build --release

vicariousdrama avatar Feb 01 '23 16:02 vicariousdrama

Nice! Check out release.yaml. In order to provide pre-built binaries, we must be able to cross-compile for the raspberry PI target on GitHub CI. I wasn't able to get this to work the last time I tried, but someone else might have better luck. I believe it was some weird linking issues exacerbated by a dependency.

casey avatar Feb 01 '23 16:02 casey

Tracking more notes for building on umbrel

Git clone to the external drive...

cd /tmp
curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh
sudo apt-get install libssl-dev
cd /mnt/data/umbrel
git clone https://github.com/casey/ord.git
cd ord
source $HOME/.cargo/env
cargo build --release

Important files needed to reference when using ord..

--data-dir /mnt/data/umbrel/ord 
--cookie-file /mnt/data/umbrel/app-data/bitcoin/data/bitcoin/.cookie 
--bitcoin-data-dir /mnt/data/umbrel/app-data/bitcoin/data/bitcoin 

e.g.

ord --data-dir /mnt/data/umbrel/ord --cookie-file /mnt/data/umbrel/app-data/bitcoin/data/bitcoin/.cookie --bitcoin-data-dir /mnt/data/umbrel/app-data/bitcoin/dta/bitcoin index

vicariousdrama avatar Feb 01 '23 23:02 vicariousdrama

Has anyone got ord working on an umbrel yet?

batcavekid avatar Feb 05 '23 13:02 batcavekid

I have this error with umbrel error: JSON-RPC error: transport error: Couldn't connect to host: Resource temporarily unavailable (os error 11) This is my command line:

umbrel@umbrel:/mnt/data/umbrel/ord/target/release $ ./ord --cookie-file /mnt/data/umbrel/app-data/bitcoin/data/bitcoin/.cookie wallet create

Is anyone know, thanks for your help, feeling I am getting close

SebDigital avatar Feb 08 '23 14:02 SebDigital

@SebDigital Try in discord.gg/ordinals for real-time support, or a discussion question.

casey avatar Feb 08 '23 23:02 casey

See also https://github.com/casey/ord/issues/1808 for infos on running ord on Raspberry Pi.

DanielHook15 avatar Feb 21 '23 14:02 DanielHook15

A way to provide RPI binaries would be to add the target that would need to be researched over at https://github.com/casey/ord/blob/master/.github/workflows/release.yaml

Magicking avatar Mar 23 '23 01:03 Magicking