NFCcreate-web/install_arm_tools.sh
2025-09-25 19:04:00 +08:00

82 lines
2.1 KiB
Bash

#!/bin/bash
# ARM 交叉編譯工具安裝腳本
# 支援 Ubuntu/Debian 系統
set -e
echo "🔧 NTAG424 ARM 交叉編譯工具安裝腳本"
echo "========================================"
echo ""
# 檢查系統類型
if [[ -f /etc/debian_version ]]; then
DISTRO="debian"
echo "檢測到 Debian/Ubuntu 系統"
elif [[ -f /etc/redhat-release ]]; then
DISTRO="redhat"
echo "檢測到 RedHat/CentOS 系統"
else
echo "❌ 不支援的系統類型"
echo "請手動安裝 ARM 交叉編譯工具"
exit 1
fi
echo ""
echo "將安裝以下交叉編譯工具:"
echo "- gcc-aarch64-linux-gnu (ARM 64-bit)"
echo "- gcc-arm-linux-gnueabihf (ARM 32-bit 硬浮點)"
echo "- gcc-arm-linux-gnueabi (ARM 32-bit 軟浮點)"
echo ""
read -p "繼續安裝? [y/N]: " confirm
if [[ "$confirm" != "y" && "$confirm" != "Y" ]]; then
echo "取消安裝"
exit 0
fi
echo ""
echo "🚀 開始安裝..."
if [[ "$DISTRO" == "debian" ]]; then
echo "更新套件列表..."
sudo apt update
echo "安裝 ARM 交叉編譯工具..."
sudo apt install -y \
gcc-aarch64-linux-gnu \
gcc-arm-linux-gnueabihf \
gcc-arm-linux-gnueabi \
build-essential
elif [[ "$DISTRO" == "redhat" ]]; then
echo "安裝 EPEL repository..."
sudo yum install -y epel-release || sudo dnf install -y epel-release
echo "安裝 ARM 交叉編譯工具..."
sudo yum install -y \
gcc-aarch64-linux-gnu \
gcc-arm-linux-gnu || \
sudo dnf install -y \
gcc-aarch64-linux-gnu \
gcc-arm-linux-gnu
fi
echo ""
echo "✅ 安裝完成!"
echo ""
echo "🔍 驗證安裝..."
make check-cross-tools
echo ""
echo "🎉 所有工具安裝成功!"
echo ""
echo "現在你可以使用以下命令編譯 ARM 版本:"
echo " make arm64 # ARM 64-bit 動態版本"
echo " make arm64-static # ARM 64-bit 靜態版本 (推薦)"
echo " make arm32 # ARM 32-bit 動態版本"
echo " make arm32-static # ARM 32-bit 靜態版本 (推薦)"
echo " make armel # ARM 軟浮點版本"
echo ""
echo "詳細說明請參考: ARM_BUILD_GUIDE.md"