Add Raspberry Pi 5 support
This commit is contained in:
75
installer
75
installer
@ -53,7 +53,7 @@ apt-get install -y \
|
||||
nginx php-fpm php-cli \
|
||||
git build-essential autoconf automake libtool pkg-config \
|
||||
libjansson-dev libevent-dev libcurl4-openssl-dev libssl-dev zlib1g-dev \
|
||||
openssl
|
||||
openssl jq bc
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# [3/8] Install Bitcoin Core from official binaries
|
||||
@ -61,24 +61,69 @@ apt-get install -y \
|
||||
echo "[3/8] Installing official Bitcoin Core binaries…"
|
||||
|
||||
BTC_VER="27.0"
|
||||
BTC_BASE="bitcoin-${BTC_VER}"
|
||||
BTC_TAR="${BTC_BASE}-x86_64-linux-gnu.tar.gz"
|
||||
BTC_URL="https://bitcoincore.org/bin/bitcoin-core-${BTC_VER}/${BTC_TAR}"
|
||||
BTC_SUMS_URL="https://bitcoincore.org/bin/bitcoin-core-${BTC_VER}/SHA256SUMS"
|
||||
|
||||
mkdir -p /tmp/bitcoin
|
||||
cd /tmp/bitcoin
|
||||
# ===== Detect CPU arch and install correct Bitcoin Core binary =====
|
||||
|
||||
echo "Downloading Bitcoin Core ${BTC_VER}…"
|
||||
curl -LO "${BTC_URL}"
|
||||
curl -LO "${BTC_SUMS_URL}"
|
||||
detect_arch() {
|
||||
# Prefer dpkg (Debian/Ubuntu), fall back to uname
|
||||
local deb_arch
|
||||
deb_arch=$(dpkg --print-architecture 2>/dev/null || true)
|
||||
case "$deb_arch" in
|
||||
amd64) echo "x86_64-linux-gnu"; return ;;
|
||||
arm64) echo "aarch64-linux-gnu"; return ;;
|
||||
armhf) echo "arm-linux-gnueabihf"; return ;;
|
||||
esac
|
||||
|
||||
echo "Verifying checksum…"
|
||||
grep "${BTC_TAR}" SHA256SUMS | sha256sum -c -
|
||||
# Fallback by kernel arch
|
||||
local u
|
||||
u=$(uname -m)
|
||||
case "$u" in
|
||||
x86_64) echo "x86_64-linux-gnu" ;;
|
||||
aarch64) echo "aarch64-linux-gnu" ;;
|
||||
armv7l|armv6l)
|
||||
echo "arm-linux-gnueabihf" ;;
|
||||
*)
|
||||
echo "unsupported"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
echo "Extracting…"
|
||||
tar -xzf "${BTC_TAR}"
|
||||
install -m 0755 -o root -g root ${BTC_BASE}/bin/* /usr/local/bin/
|
||||
BTC_PLAT="$(detect_arch)"
|
||||
if [ "$BTC_PLAT" = "unsupported" ]; then
|
||||
echo "ERROR: Unsupported CPU architecture ($(uname -m))."
|
||||
echo "Tip: For exotic arches, build from source using depends/ then install bitcoind/bitcoin-cli."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
BASE_URL="https://bitcoincore.org/bin/bitcoin-core-$BTC_VER"
|
||||
TARBALL="bitcoin-$BTC_VER-$BTC_PLAT.tar.gz"
|
||||
TMPD="$(mktemp -d)"
|
||||
|
||||
echo "[Bitcoin Core] Detected platform: $BTC_PLAT"
|
||||
echo "[Bitcoin Core] Downloading $TARBALL …"
|
||||
curl -fsSL "$BASE_URL/$TARBALL" -o "$TMPD/$TARBALL"
|
||||
|
||||
# Get SHA256SUMS (and try to verify signature if gpg is present)
|
||||
curl -fsSL "$BASE_URL/SHA256SUMS" -o "$TMPD/SHA256SUMS"
|
||||
if command -v gpg >/dev/null 2>&1; then
|
||||
curl -fsSL "$BASE_URL/SHA256SUMS.asc" -o "$TMPD/SHA256SUMS.asc" || true
|
||||
# If you’ve already imported the Bitcoin Core release keys, this will verify.
|
||||
# If not, we still proceed after SHA256 check below.
|
||||
gpg --verify "$TMPD/SHA256SUMS.asc" "$TMPD/SHA256SUMS" || echo "[WARN] Could not verify SHA256SUMS signature (no keys?). Continuing with SHA256 check."
|
||||
fi
|
||||
|
||||
echo "[Bitcoin Core] Verifying tarball checksum …"
|
||||
( cd "$TMPD" && grep " $TARBALL" SHA256SUMS | sha256sum -c - )
|
||||
|
||||
echo "[Bitcoin Core] Installing to /usr/local/bin …"
|
||||
tar -xzf "$TMPD/$TARBALL" -C "$TMPD"
|
||||
install -m 0755 "$TMPD/bitcoin-$BTC_VER/bin/bitcoind" /usr/local/bin/
|
||||
install -m 0755 "$TMPD/bitcoin-$BTC_VER/bin/bitcoin-cli" /usr/local/bin/
|
||||
install -m 0755 "$TMPD/bitcoin-$BTC_VER/bin/bitcoin-tx" /usr/local/bin/
|
||||
install -m 0755 "$TMPD/bitcoin-$BTC_VER/bin/bitcoin-wallet" /usr/local/bin/
|
||||
|
||||
rm -rf "$TMPD"
|
||||
echo "[Bitcoin Core] Installed bitcoind/bitcoin-cli for $BTC_PLAT"
|
||||
|
||||
# systemd service for bitcoind
|
||||
cat > /etc/systemd/system/bitcoind.service <<EOF
|
||||
|
||||
Reference in New Issue
Block a user