8 Commits

Author SHA1 Message Date
4a6a532f27 Update build.sh 2025-11-11 15:54:32 +08:00
c3a3434ba8 Update build.sh 2025-11-11 15:50:38 +08:00
e07883f397 Update build.sh 2025-11-11 15:48:26 +08:00
50548588fd Update build.sh 2025-11-11 15:27:32 +08:00
466ed7e68e Update build.sh 2025-11-11 15:25:53 +08:00
2b5e4bb622 Update build.sh 2025-11-11 15:23:36 +08:00
21d3646b44 Update build.sh 2025-11-11 15:08:03 +08:00
627536df85 Update 02-prepare_package.sh 2025-11-08 01:11:04 +08:00
2 changed files with 303 additions and 56 deletions

357
build.sh
View File

@@ -93,9 +93,9 @@ validate_password() {
# 显示使用帮助
show_usage() {
clear
echo -e "${BOLD}${BLUE_COLOR}╔══════════════════════════════════════════════════════════════╗${RESET}"
echo -e "${BOLD}${BLUE_COLOR} 📚 使用帮助 📚${RESET}"
echo -e "${BOLD}${BLUE_COLOR}╚══════════════════════════════════════════════════════════════╝${RESET}"
echo -e "${BOLD}${BLUE_COLOR}============================================================${RESET}"
echo -e "${BOLD}${BLUE_COLOR} 📚 使用帮助 📚${RESET}"
echo -e "${BOLD}${BLUE_COLOR}============================================================${RESET}"
echo ""
echo -e "${BOLD}${CYAN_COLOR}📖 使用方法:${RESET}"
echo -e " ${BOLD}bash $0 <architecture> [build_mode]${RESET}"
@@ -156,34 +156,35 @@ case "$build_mode_input" in
;;
esac
# 打印
# 打印横幅
show_banner() {
clear
echo -e ""
echo -e "${BOLD}${BLUE_COLOR}╔══════════════════════════════════════════════════════════════════╗${RESET}"
echo -e "${BOLD}${BLUE_COLOR}${RESET} ZeroWRT 自动化构建系统 ${BOLD}${BLUE_COLOR}${RESET}"
echo -e "${BOLD}${BLUE_COLOR}╠══════════════════════════════════════════════════════════════════╣${RESET}"
echo -e "${BOLD}${BLUE_COLOR}${RESET} ${BOLD}${BLUE_COLOR}${RESET}"
echo -e "${BOLD}${BLUE_COLOR}${RESET}${BOLD}${BLUE_COLOR} ██████╗███████╗██████╗ ██████╗ ██╗ ██╗██████╗ ████████╗ ${RESET}${BOLD}${BLUE_COLOR}${RESET}"
echo -e "${BOLD}${BLUE_COLOR}${RESET}${BOLD}${CYAN_COLOR} ╚══███╔╝██╔════╝██╔══██╗██╔═══██╗██║ ██║██╔══██╗╚══██╔══╝ ${RESET}${BOLD}${BLUE_COLOR}${RESET}"
echo -e "${BOLD}${BLUE_COLOR}${RESET}${BOLD}${CYAN_COLOR} ███╔╝ █████╗ ██████╔╝██║ ██║██║ █╗ ██║██████╔╝ ██║ ${RESET}${BOLD}${BLUE_COLOR}${RESET}"
echo -e "${BOLD}${BLUE_COLOR}${RESET}${BOLD}${YELLOW_COLOR} ███╔╝ ██╔══╝ ██╔══██╗██║ ██║██║███╗██║██╔══██╗ ██║ ${RESET}${BOLD}${BLUE_COLOR}${RESET}"
echo -e "${BOLD}${BLUE_COLOR}${RESET}${BOLD}${YELLOW_COLOR} ███████╗███████╗██║ ██║╚██████╔╝╚███╔███╔╝██║ ██║ ██║ ${RESET}${BOLD}${BLUE_COLOR}${RESET}"
echo -e "${BOLD}${BLUE_COLOR}${RESET}${BOLD}${YELLOW_COLOR} ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚══╝╚══╝ ╚═╝ ╚═╝ ╚═╝ ${RESET}${BOLD}${BLUE_COLOR}${RESET}"
echo -e "${BOLD}${BLUE_COLOR}${RESET}${BOLD}${YELLOW_COLOR} Open Source · Tailored · High Performance ${RESET}${BOLD}${BLUE_COLOR}${RESET}"
echo -e "${BOLD}${BLUE_COLOR}${RESET} ${BOLD}${BLUE_COLOR}${RESET}"
echo -e "${BOLD}${BLUE_COLOR}╠══════════════════════════════════════════════════════════════════╣${RESET}"
echo -e "${BOLD}${BLUE_COLOR}${RESET} 🛠️ 开发者: $author ${BOLD}${BLUE_COLOR}${RESET}"
echo -e "${BOLD}${BLUE_COLOR}${RESET} 🌐 博客: $blog ${BOLD}${BLUE_COLOR}${RESET}"
echo -e "${BOLD}${BLUE_COLOR}${RESET} 💡 理念: 开源 · 定制化 · 高性能 ${BOLD}${BLUE_COLOR}${RESET}"
echo -e "${BOLD}${BLUE_COLOR}${RESET} 📦 版本: $version ${BOLD}${BLUE_COLOR}${RESET}"
echo -e "${BOLD}${BLUE_COLOR}╠══════════════════════════════════════════════════════════════════╣${RESET}"
echo -e "${BOLD}${BLUE_COLOR}${RESET} 🔧 构建开始: $(date '+%Y-%m-%d %H:%M:%S') ${BOLD}${BLUE_COLOR}${RESET}"
echo -e "${BOLD}${BLUE_COLOR}${RESET} ⚡ 处理器核心: $cpu_cores${BOLD}${BLUE_COLOR}${RESET}"
echo -e "${BOLD}${BLUE_COLOR}${RESET} 🐧 系统用户: $(whoami) ${BOLD}${BLUE_COLOR}${RESET}"
echo -e "${BOLD}${BLUE_COLOR}${RESET} 🔬 GCC 版本: $gcc ${BOLD}${BLUE_COLOR}${RESET}"
echo -e "${BOLD}${BLUE_COLOR}${RESET} 🚀 编译模式: $build_mode ${BOLD}${BLUE_COLOR}${RESET}"
echo -e "${BOLD}${BLUE_COLOR}╚══════════════════════════════════════════════════════════════════╝${RESET}"
echo -e "${BOLD}${BLUE_COLOR}==============================================================${RESET}"
echo -e "${BOLD}${BLUE_COLOR} ZeroWRT 自动化构建系统${RESET}"
echo -e "${BOLD}${BLUE_COLOR}==============================================================${RESET}"
echo -e ""
echo -e "${BOLD}${BLUE_COLOR} ██████╗███████╗██████╗ ██████╗ ██╗ ██╗██████╗ ████████╗${RESET}"
echo -e "${BOLD}${CYAN_COLOR} ╚══███╔╝██╔════╝██╔══██╗██╔═══██╗██║ ██║██╔══██╗╚══██╔══╝${RESET}"
echo -e "${BOLD}${CYAN_COLOR} ███╔╝ █████╗ ██████╔╝██║ ██║██║ █╗ ██║██████╔╝ ██║ ${RESET}"
echo -e "${BOLD}${YELLOW_COLOR} ███╔╝ ██╔══╝ ██╔══██╗██║ ██║██║███╗██║██╔══██╗ ██║ ${RESET}"
echo -e "${BOLD}${YELLOW_COLOR} ███████╗███████╗██║ ██║╚██████╔╝╚███╔███╔╝██║ ██║ ██║ ${RESET}"
echo -e "${BOLD}${YELLOW_COLOR} ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚══╝╚══╝ ╚═╝ ╚═╝ ╚═╝ ${RESET}"
echo -e ""
echo -e "${BOLD}${YELLOW_COLOR} Open Source · Tailored · High Performance${RESET}"
echo -e ""
echo -e "${BOLD}${BLUE_COLOR}--------------------------------------------------------------${RESET}"
echo -e "${BOLD}${CYAN_COLOR}🛠️ 开发者: $author${RESET}"
echo -e "${BOLD}${CYAN_COLOR}🌐 博客: $blog${RESET}"
echo -e "${BOLD}${CYAN_COLOR}💡 理念: 开源 · 定制化 · 高性能${RESET}"
echo -e "${BOLD}${CYAN_COLOR}📦 版本: $version${RESET}"
echo -e "${BOLD}${BLUE_COLOR}--------------------------------------------------------------${RESET}"
echo -e "${BOLD}${GREEN_COLOR}🔧 构建开始: $(date '+%Y-%m-%d %H:%M:%S')${RESET}"
echo -e "${BOLD}${GREEN_COLOR}⚡ 处理器核心: $cpu_cores${RESET}"
echo -e "${BOLD}${GREEN_COLOR}🐧 系统用户: $(whoami)${RESET}"
echo -e "${BOLD}${GREEN_COLOR}🔬 GCC 版本: $gcc${RESET}"
echo -e "${BOLD}${GREEN_COLOR}🚀 编译模式: $build_mode${RESET}"
echo -e "${BOLD}${BLUE_COLOR}==============================================================${RESET}"
echo -e ""
}
@@ -237,8 +238,8 @@ prepare_source_code() {
# 显示克隆进度
echo -e " ${BOLD}${CYAN_COLOR}${RESET} ${BOLD}正在下载源代码,请稍候...${RESET}"
# 克隆源代码(隐藏所有错误输出)
if git -c advice.detachedHead=false clone --depth=1 --branch "v$tag_version" --single-branch --quiet "$git_url" && cd openwrt 2>/dev/null; then
# 克隆源代码
if git -c advice.detachedHead=false clone --depth=1 --branch "v$tag_version" --single-branch --no-tags --quiet "$git_url" && cd openwrt 2>/dev/null; then
echo -e " ${BOLD}${MAGENTA_COLOR}${RESET}"
echo -e " ${BOLD}${GREEN_COLOR}${RESET} ${BOLD}源代码克隆成功${RESET}"
echo -e " ${BOLD}${YELLOW_COLOR}${RESET} ${BOLD}存储位置: ${GREEN_COLOR}$(pwd)/openwrt${RESET}"
@@ -511,9 +512,18 @@ prepare_source_code() {
} >> .config
echo -e " ${BOLD}${MAGENTA_COLOR}├─ ${GREEN_COLOR}${RESET} ${BOLD}GCC ${gcc} 配置完成${RESET}"
# 配置 OTA 在线更新
echo -e " ${BOLD}${MAGENTA_COLOR}├─ 🌐 配置 OTA 在线更新...${RESET}"
{
echo -e "\n# OTA Online Update"
echo -e "CONFIG_PACKAGE_luci-app-ota=y\n"
} >> .config
echo -e " ${BOLD}${MAGENTA_COLOR}├─ ${GREEN_COLOR}${RESET} ${BOLD}OTA 在线更新配置完成${RESET}"
# 生成 defconfig
echo -e " ${BOLD}${MAGENTA_COLOR}├─ ⚙️ 生成 defconfig...${RESET}"
echo -e " ${BOLD}${MAGENTA_COLOR}├─ 🔄 生成 defconfig...${RESET}"
if make defconfig > /dev/null 2>&1; then
echo -e " ${BOLD}${MAGENTA_COLOR}├─ ${GREEN_COLOR}${RESET} ${BOLD}defconfig 生成成功${RESET}"
else
@@ -537,9 +547,9 @@ prepare_source_code() {
# 编译执行函数
compile_source_code() {
echo -e "${BOLD}${BLUE_COLOR}╔══════════════════════════════════════════════════════════════╗${RESET}"
echo -e "${BOLD}${BLUE_COLOR} 🚀 编译阶段开始 🚀${RESET}"
echo -e "${BOLD}${BLUE_COLOR}╚══════════════════════════════════════════════════════════════╝${RESET}"
echo -e "${BOLD}${BLUE_COLOR}============================================================${RESET}"
echo -e "${BOLD}${BLUE_COLOR} 🚀 编译阶段开始 🚀${RESET}"
echo -e "${BOLD}${BLUE_COLOR}============================================================${RESET}"
echo ""
# 显示编译配置信息
@@ -672,9 +682,9 @@ compile_source_code() {
esac
echo ""
echo -e "${BOLD}${BLUE_COLOR}╔══════════════════════════════════════════════════════════════╗${RESET}"
echo -e "${BOLD}${BLUE_COLOR} 🎉 编译阶段完成 🎉${RESET}"
echo -e "${BOLD}${BLUE_COLOR}╚══════════════════════════════════════════════════════════════╝${RESET}"
echo -e "${BOLD}${BLUE_COLOR}============================================================${RESET}"
echo -e "${BOLD}${BLUE_COLOR} 🎉 编译阶段完成 🎉${RESET}"
echo -e "${BOLD}${BLUE_COLOR}============================================================${RESET}"
echo ""
# 显示完成信息
@@ -689,10 +699,10 @@ compile_source_code() {
### 私有源打包 ###
private_source_packaging() {
echo -e "\n"
echo -e "${BOLD}${MAGENTA_COLOR}──────────────────────────────────────────────${RESET}"
echo -e "${BOLD}${MAGENTA_COLOR}${RESET} 📦 ${CYAN_COLOR}私有源打包阶段${RESET} ${BOLD}${MAGENTA_COLOR}${RESET}"
echo -e "${BOLD}${MAGENTA_COLOR}──────────────────────────────────────────────${RESET}"
echo
echo -e "${BOLD}${MAGENTA_COLOR}────────────────────────────────────────────────${RESET}"
echo -e "${BOLD}${MAGENTA_COLOR} 📦 ${CYAN_COLOR}私有源打包阶段${RESET}${BOLD}${MAGENTA_COLOR} ${RESET}"
echo -e "${BOLD}${MAGENTA_COLOR}────────────────────────────────────────────────${RESET}"
echo ""
echo -e "${YELLOW_COLOR}⟳ 正在获取内核版本信息...${RESET}"
get_kernel_version=$(cat include/kernel-6.12)
@@ -707,32 +717,268 @@ private_source_packaging() {
cp -a bin/targets/x86/*/packages "$kmodpkg_name"
rm -f "$kmodpkg_name"/Packages*
cp -a bin/packages/x86_64/base/rtl88*-firmware*.ipk "$kmodpkg_name"/ 2>/dev/null || true
echo
echo -e "${YELLOW_COLOR}🔏 正在执行签名操作...${RESET}"
chmod -R 777 kmod-ipk kmod-sign
bash kmod-sign "$kmodpkg_name"
echo -e "${YELLOW_COLOR}📦 正在打包文件...${RESET}"
tar zcf "x86_64-${kmodpkg_name}.tar.gz" "$kmodpkg_name"
rm -rf "$kmodpkg_name"
elif [ "$platform" = "rockchip" ]; then
echo -e "${BLUE_COLOR}→ 检测到平台rockchip${RESET}"
cp -a bin/targets/rockchip/armv8*/packages "$kmodpkg_name"
rm -f "$kmodpkg_name"/Packages*
cp -a bin/packages/aarch64_generic/base/rtl88*-firmware*.ipk "$kmodpkg_name"/ 2>/dev/null || true
echo
echo -e "${YELLOW_COLOR}🔏 正在执行签名操作...${RESET}"
chmod -R 777 kmod-ipk kmod-sign
bash kmod-sign "$kmodpkg_name"
echo -e "${YELLOW_COLOR}📦 正在打包文件...${RESET}"
tar zcf "aarch64-${kmodpkg_name}.tar.gz" "$kmodpkg_name"
rm -rf "$kmodpkg_name"
fi
}
echo
echo -e "${YELLOW_COLOR}🔏 正在执行签名操作...${RESET}"
chmod -R 777 kmod-ipk kmod-sign
bash kmod-sign "$kmodpkg_name"
echo -e "${YELLOW_COLOR}📦 正在打包文件...${RESET}"
tar zcf "aarch64-${kmodpkg_name}.tar.gz" "$kmodpkg_name"
rm -rf "$kmodpkg_name"
echo
echo -e "${GREEN_COLOR}🎉 打包完成!${RESET}"
echo -e "生成文件:${BOLD}${CYAN_COLOR}aarch64-${kmodpkg_name}.tar.gz${RESET}"
echo -e "${DIM}──────────────────────────────────────────────${RESET}\n"
### 生成 OTA 文件
generate_ota_file() {
echo -e "\n"
echo -e "${BOLD}${MAGENTA_COLOR}============================================================${RESET}"
echo -e "${BOLD}${MAGENTA_COLOR} 📱 生成 OTA 文件${RESET}"
echo -e "${BOLD}${MAGENTA_COLOR}============================================================${RESET}"
echo ""
if [ "$platform" = "x86_64" ]; then
echo -e " ${BOLD}${YELLOW_COLOR}${RESET} ${BOLD}平台: ${GREEN_COLOR}x86_64${RESET}"
mkdir -p ota
OTA_URL="https://github.com/QuickWrt/ZeroWrt/releases/download"
VERSION=$(sed 's/v//g' version.txt)
SHA256=$(sha256sum bin/targets/x86/64*/*-generic-squashfs-combined-efi.img.gz | awk '{print $1}')
echo -e " ${BOLD}${YELLOW_COLOR}${RESET} ${BOLD}生成固件信息...${RESET}"
cat > ota/x86_64.json <<EOF
{
"x86_64": [
{
"build_date": "$CURRENT_DATE",
"sha256sum": "$SHA256",
"url": "$OTA_URL/v$VERSION/openwrt-$VERSION-x86-64-generic-squashfs-combined-efi.img.gz"
}
]
}
EOF
echo -e " ${BOLD}${GREEN_COLOR}${RESET} ${BOLD}x86_64 OTA 文件生成成功${RESET}"
echo -e " ${BOLD}${YELLOW_COLOR}${RESET} ${BOLD}文件位置: ${GREEN_COLOR}ota/fw.json${RESET}"
elif [ "$platform" = "rockchip" ]; then
echo -e " ${BOLD}${YELLOW_COLOR}${RESET} ${BOLD}平台: ${GREEN_COLOR}rockchip${RESET}"
mkdir -p ota
OTA_URL="https://github.com/QuickWrt/ZeroWrt/releases/download"
VERSION=$(sed 's/v//g' version.txt)
echo -e " ${BOLD}${YELLOW_COLOR}${RESET} ${BOLD}计算各设备固件哈希值...${RESET}"
SHA256_armsom_sige3=$(sha256sum bin/targets/rockchip/armv8*/openwrt-$VERSION-rockchip-armv8-armsom_sige3-squashfs-sysupgrade.img.gz | awk '{print $1}')
SHA256_armsom_sige7=$(sha256sum bin/targets/rockchip/armv8*/openwrt-$VERSION-rockchip-armv8-armsom_sige7-squashfs-sysupgrade.img.gz | awk '{print $1}')
SHA256_t4=$(sha256sum bin/targets/rockchip/armv8*/openwrt-$VERSION-rockchip-armv8-friendlyarm_nanopc-t4-squashfs-sysupgrade.img.gz | awk '{print $1}')
SHA256_t6=$(sha256sum bin/targets/rockchip/armv8*/openwrt-$VERSION-rockchip-armv8-friendlyarm_nanopc-t6-squashfs-sysupgrade.img.gz | awk '{print $1}')
SHA256_r2c_plus=$(sha256sum bin/targets/rockchip/armv8*/openwrt-$VERSION-rockchip-armv8-friendlyarm_nanopi-r2c-plus-squashfs-sysupgrade.img.gz | awk '{print $1}')
SHA256_r2c=$(sha256sum bin/targets/rockchip/armv8*/openwrt-$VERSION-rockchip-armv8-friendlyarm_nanopi-r2c-squashfs-sysupgrade.img.gz | awk '{print $1}')
SHA256_r2s=$(sha256sum bin/targets/rockchip/armv8*/openwrt-$VERSION-rockchip-armv8-friendlyarm_nanopi-r2s-squashfs-sysupgrade.img.gz | awk '{print $1}')
SHA256_r3s=$(sha256sum bin/targets/rockchip/armv8*/openwrt-$VERSION-rockchip-armv8-friendlyarm_nanopi-r3s-squashfs-sysupgrade.img.gz | awk '{print $1}')
SHA256_r4s=$(sha256sum bin/targets/rockchip/armv8*/openwrt-$VERSION-rockchip-armv8-friendlyarm_nanopi-r4s-squashfs-sysupgrade.img.gz | awk '{print $1}')
SHA256_r4se=$(sha256sum bin/targets/rockchip/armv8*/openwrt-$VERSION-rockchip-armv8-friendlyarm_nanopi-r4se-squashfs-sysupgrade.img.gz | awk '{print $1}')
SHA256_r5c=$(sha256sum bin/targets/rockchip/armv8*/openwrt-$VERSION-rockchip-armv8-friendlyarm_nanopi-r5c-squashfs-sysupgrade.img.gz | awk '{print $1}')
SHA256_r5s=$(sha256sum bin/targets/rockchip/armv8*/openwrt-$VERSION-rockchip-armv8-friendlyarm_nanopi-r5s-squashfs-sysupgrade.img.gz | awk '{print $1}')
SHA256_r6c=$(sha256sum bin/targets/rockchip/armv8*/openwrt-$VERSION-rockchip-armv8-friendlyarm_nanopi-r6c-squashfs-sysupgrade.img.gz | awk '{print $1}')
SHA256_r6s=$(sha256sum bin/targets/rockchip/armv8*/openwrt-$VERSION-rockchip-armv8-friendlyarm_nanopi-r6s-squashfs-sysupgrade.img.gz | awk '{print $1}')
SHA256_r76s=$(sha256sum bin/targets/rockchip/armv8*/openwrt-$VERSION-rockchip-armv8-friendlyarm_nanopi-r76s-squashfs-sysupgrade.img.gz | awk '{print $1}')
SHA256_huake_guangmiao_g4c=$(sha256sum bin/targets/rockchip/armv8*/openwrt-$VERSION-rockchip-armv8-huake_guangmiao-g4c-squashfs-sysupgrade.img.gz | awk '{print $1}')
SHA256_r66s=$(sha256sum bin/targets/rockchip/armv8*/openwrt-$VERSION-rockchip-armv8-lunzn_fastrhino-r66s-squashfs-sysupgrade.img.gz | awk '{print $1}')
SHA256_r68s=$(sha256sum bin/targets/rockchip/armv8*/openwrt-$VERSION-rockchip-armv8-lunzn_fastrhino-r68s-squashfs-sysupgrade.img.gz | awk '{print $1}')
SHA256_radxa_rock_5a=$(sha256sum bin/targets/rockchip/armv8*/openwrt-$VERSION-rockchip-armv8-radxa_rock-5a-squashfs-sysupgrade.img.gz | awk '{print $1}')
SHA256_radxa_rock_5b=$(sha256sum bin/targets/rockchip/armv8*/openwrt-$VERSION-rockchip-armv8-radxa_rock-5b-squashfs-sysupgrade.img.gz | awk '{print $1}')
SHA256_xunlong_orangepi_5_plus=$(sha256sum bin/targets/rockchip/armv8*/openwrt-$VERSION-rockchip-armv8-xunlong_orangepi-5-plus-squashfs-sysupgrade.img.gz | awk '{print $1}')
SHA256_xunlong_orangepi_5=$(sha256sum bin/targets/rockchip/armv8*/openwrt-$VERSION-rockchip-armv8-xunlong_orangepi-5-squashfs-sysupgrade.img.gz | awk '{print $1}')
echo -e " ${BOLD}${YELLOW_COLOR}${RESET} ${BOLD}生成 Rockchip 设备 OTA 配置文件...${RESET}"
cat > ota/rockchip.json <<EOF
{
"armsom,sige3": [
{
"build_date": "$CURRENT_DATE",
"sha256sum": "$SHA256_armsom_sige3",
"url": "$OTA_URL/OpenWrt-v$VERSION/openwrt-$VERSION-rockchip-armv8-armsom_sige3-squashfs-sysupgrade.img.gz"
}
],
"armsom,sige7": [
{
"build_date": "$CURRENT_DATE",
"sha256sum": "$SHA256_armsom_sige7",
"url": "$OTA_URL/OpenWrt-v$VERSION/openwrt-$VERSION-rockchip-armv8-armsom_sige7-squashfs-sysupgrade.img.gz"
}
],
"friendlyarm,nanopc-t4": [
{
"build_date": "$CURRENT_DATE",
"sha256sum": "$SHA256_t4",
"url": "$OTA_URL/OpenWrt-v$VERSION/openwrt-$VERSION-rockchip-armv8-friendlyarm_nanopc-t4-squashfs-sysupgrade.img.gz"
}
],
"friendlyarm,nanopc-t6": [
{
"build_date": "$CURRENT_DATE",
"sha256sum": "$SHA256_t6",
"url": "$OTA_URL/OpenWrt-v$VERSION/openwrt-$VERSION-rockchip-armv8-friendlyarm_nanopc-t6-squashfs-sysupgrade.img.gz"
}
],
"friendlyarm,nanopi-r2c-plus": [
{
"build_date": "$CURRENT_DATE",
"sha256sum": "$SHA256_r2c_plus",
"url": "$OTA_URL/OpenWrt-v$VERSION/openwrt-$VERSION-rockchip-armv8-friendlyarm_nanopi-r2c-plus-squashfs-sysupgrade.img.gz"
}
],
"friendlyarm,nanopi-r2c": [
{
"build_date": "$CURRENT_DATE",
"sha256sum": "$SHA256_r2c",
"url": "$OTA_URL/OpenWrt-v$VERSION/openwrt-$VERSION-rockchip-armv8-friendlyarm_nanopi-r2c-squashfs-sysupgrade.img.gz"
}
],
"friendlyarm,nanopi-r2s": [
{
"build_date": "$CURRENT_DATE",
"sha256sum": "$SHA256_r2s",
"url": "$OTA_URL/OpenWrt-v$VERSION/openwrt-$VERSION-rockchip-armv8-friendlyarm_nanopi-r2s-squashfs-sysupgrade.img.gz"
}
],
"friendlyarm,nanopi-r3s": [
{
"build_date": "$CURRENT_DATE",
"sha256sum": "$SHA256_r3s",
"url": "$OTA_URL/OpenWrt-v$VERSION/openwrt-$VERSION-rockchip-armv8-friendlyarm_nanopi-r3s-squashfs-sysupgrade.img.gz"
}
],
"friendlyarm,nanopi-r4s": [
{
"build_date": "$CURRENT_DATE",
"sha256sum": "$SHA256_r4s",
"url": "$OTA_URL/OpenWrt-v$VERSION/openwrt-$VERSION-rockchip-armv8-friendlyarm_nanopi-r4s-squashfs-sysupgrade.img.gz"
}
],
"friendlyarm,nanopi-r4se": [
{
"build_date": "$CURRENT_DATE",
"sha256sum": "$SHA256_r4se",
"url": "$OTA_URL/OpenWrt-v$VERSION/openwrt-$VERSION-rockchip-armv8-friendlyarm_nanopi-r4se-squashfs-sysupgrade.img.gz"
}
],
"friendlyarm,nanopi-r5c": [
{
"build_date": "$CURRENT_DATE",
"sha256sum": "$SHA256_r5c",
"url": "$OTA_URL/OpenWrt-v$VERSION/openwrt-$VERSION-rockchip-armv8-friendlyarm_nanopi-r5c-squashfs-sysupgrade.img.gz"
}
],
"friendlyarm,nanopi-r5s": [
{
"build_date": "$CURRENT_DATE",
"sha256sum": "$SHA256_r5s",
"url": "$OTA_URL/OpenWrt-v$VERSION/openwrt-$VERSION-rockchip-armv8-friendlyarm_nanopi-r5s-squashfs-sysupgrade.img.gz"
}
],
"friendlyarm,nanopi-r6c": [
{
"build_date": "$CURRENT_DATE",
"sha256sum": "$SHA256_r6c",
"url": "$OTA_URL/OpenWrt-v$VERSION/openwrt-$VERSION-rockchip-armv8-friendlyarm_nanopi-r6c-squashfs-sysupgrade.img.gz"
}
],
"friendlyarm,nanopi-r6s": [
{
"build_date": "$CURRENT_DATE",
"sha256sum": "$SHA256_r6s",
"url": "$OTA_URL/OpenWrt-v$VERSION/openwrt-$VERSION-rockchip-armv8-friendlyarm_nanopi-r6s-squashfs-sysupgrade.img.gz"
}
],
"friendlyarm,nanopi-r76s": [
{
"build_date": "$CURRENT_DATE",
"sha256sum": "$SHA256_r76s",
"url": "$OTA_URL/OpenWrt-v$VERSION/openwrt-$VERSION-rockchip-armv8-friendlyarm_nanopi-r76s-squashfs-sysupgrade.img.gz"
}
],
"huake,guangmiao-g4c": [
{
"build_date": "$CURRENT_DATE",
"sha256sum": "$SHA256_huake_guangmiao_g4c",
"url": "$OTA_URL/OpenWrt-v$VERSION/openwrt-$VERSION-rockchip-armv8-huake_guangmiao-g4c-squashfs-sysupgrade.img.gz"
}
],
"lunzn,fastrhino-r66s": [
{
"build_date": "$CURRENT_DATE",
"sha256sum": "$SHA256_r66s",
"url": "$OTA_URL/OpenWrt-v$VERSION/openwrt-$VERSION-rockchip-armv8-lunzn_fastrhino-r66s-squashfs-sysupgrade.img.gz"
}
],
"lunzn,fastrhino-r68s": [
{
"build_date": "$CURRENT_DATE",
"sha256sum": "$SHA256_r68s",
"url": "$OTA_URL/OpenWrt-v$VERSION/openwrt-$VERSION-rockchip-armv8-lunzn_fastrhino-r68s-squashfs-sysupgrade.img.gz"
}
],
"radxa,rock-5a": [
{
"build_date": "$CURRENT_DATE",
"sha256sum": "$SHA256_radxa_rock_5a",
"url": "$OTA_URL/OpenWrt-v$VERSION/openwrt-$VERSION-rockchip-armv8-radxa_rock-5a-squashfs-sysupgrade.img.gz"
}
],
"radxa,rock-5b": [
{
"build_date": "$CURRENT_DATE",
"sha256sum": "$SHA256_radxa_rock_5b",
"url": "$OTA_URL/OpenWrt-v$VERSION/openwrt-$VERSION-rockchip-armv8-radxa_rock-5b-squashfs-sysupgrade.img.gz"
}
],
"xunlong,orangepi-5-plus": [
{
"build_date": "$CURRENT_DATE",
"sha256sum": "$SHA256_xunlong_orangepi_5_plus",
"url": "$OTA_URL/OpenWrt-v$VERSION/openwrt-$VERSION-rockchip-armv8-xunlong_orangepi-5-plus-squashfs-sysupgrade.img.gz"
}
],
"xunlong,orangepi-5": [
{
"build_date": "$CURRENT_DATE",
"sha256sum": "$SHA256_xunlong_orangepi_5",
"url": "$OTA_URL/OpenWrt-v$VERSION/openwrt-$VERSION-rockchip-armv8-xunlong_orangepi-5-squashfs-sysupgrade.img.gz"
}
]
}
EOF
echo -e " ${BOLD}${GREEN_COLOR}${RESET} ${BOLD}Rockchip OTA 文件生成成功${RESET}"
echo -e " ${BOLD}${YELLOW_COLOR}${RESET} ${BOLD}文件位置: ${GREEN_COLOR}ota/rockchip.json${RESET}"
echo -e " ${BOLD}${YELLOW_COLOR}${RESET} ${BOLD}支持设备数量: ${GREEN_COLOR}20 个${RESET}"
fi
echo ""
echo -e " ${BOLD}${GREEN_COLOR}🎉 OTA 文件生成完成!${RESET}"
echo ""
}
# 主执行逻辑
main() {
show_usage
validate_password
if [ "$(whoami)" != "runner" ]; then
validate_password
fi
show_banner
setup_build_environment
setup_curl_progress
@@ -740,6 +986,7 @@ main() {
compile_source_code
if [[ "$build_mode_input" != "toolchain-only" ]]; then
private_source_packaging
generate_ota_file
fi
}

View File

@@ -120,7 +120,7 @@ git clone https://$github/UnblockNeteaseMusic/luci-app-unblockneteasemusic packa
sed -i 's/解除网易云音乐播放限制/网易云音乐解锁/g' package/new/luci-app-unblockneteasemusic/root/usr/share/luci/menu.d/luci-app-unblockneteasemusic.json
# Theme
git clone https://$github/sbwml/luci-theme-argon package/new/luci-theme-argon --depth=1
git clone https://$github/QuickWrt/luci-theme-argon package/new/luci-theme-argon --depth=1
curl -s $mirror/openwrt/img/bg.webp > package/new/luci-theme-argon/luci-theme-argon/htdocs/luci-static/argon/img/bg.webp
sed -i "s/#5e72e4/#31a1a1/g" package/new/luci-theme-argon/luci-app-argon-config/root/etc/config/argon
sed -i "s/#483d8b/#31a1a1/g" package/new/luci-theme-argon/luci-app-argon-config/root/etc/config/argon