82 lines
2.1 KiB
Bash
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" |