build.sh 3.49 KB
Newer Older
wukongdaily's avatar
wukongdaily committed
1
#!/bin/bash
2
3
4
# Log file for debugging
LOGFILE="/tmp/uci-defaults-log.txt"
echo "Starting 99-custom.sh at $(date)" >> $LOGFILE
wukongdaily's avatar
wukongdaily committed
5
# yml 传入的路由器型号 PROFILE
wukongdaily's avatar
wukongdaily committed
6
echo "Building for profile: $PROFILE"
wukongdaily's avatar
wukongdaily committed
7
8
# yml 传入的固件大小 ROOTFS_PARTSIZE
echo "Building for ROOTFS_PARTSIZE: $ROOTFS_PARTSIZE"
wukongdaily's avatar
wukongdaily committed
9

10
11
echo "Create pppoe-settings"
mkdir -p  /home/build/immortalwrt/files/etc/config
wukongdaily's avatar
wukongdaily committed
12

13
14
15
16
17
18
19
20
21
# 创建pppoe配置文件 yml传入环境变量ENABLE_PPPOE等 写入配置文件 供99-custom.sh读取
cat << EOF > /home/build/immortalwrt/files/etc/config/pppoe-settings
enable_pppoe=${ENABLE_PPPOE}
pppoe_account=${PPPOE_ACCOUNT}
pppoe_password=${PPPOE_PASSWORD}
EOF

echo "cat pppoe-settings"
cat /home/build/immortalwrt/files/etc/config/pppoe-settings
wukongdaily's avatar
wukongdaily committed
22

wukongdaily's avatar
wukongdaily committed
23
24
25
26
27
28
29
# 下载 run 文件仓库
echo "🔄 Cloning run file repo..."
git clone --depth=1 https://github.com/wukongdaily/store.git /tmp/store-run-repo

# 拷贝 run/arm64 下所有 run 文件和ipk文件 到 extra-packages 目录
mkdir -p /home/build/immortalwrt/extra-packages
cp -r /tmp/store-run-repo/run/arm64/* /home/build/immortalwrt/extra-packages/
wukongdaily's avatar
wukongdaily committed
30

wukongdaily's avatar
wukongdaily committed
31
32
33
34
35
36
37
38
39
echo "✅ Run files copied to extra-packages:"
ls -lh /home/build/immortalwrt/extra-packages/*.run
# 解压并拷贝ipk到packages目录
sh prepare-packages.sh
ls -lah /home/build/immortalwrt/packages/
# 添加架构优先级信息
sed -i '1i\
arch aarch64_generic 10\n\
arch aarch64_cortex-a53 15' repositories.conf
wukongdaily's avatar
wukongdaily committed
40

wukongdaily's avatar
wukongdaily committed
41
42
43
44
# 输出调试信息
echo "$(date '+%Y-%m-%d %H:%M:%S') - 开始构建固件..."
echo "查看repositories.conf信息——————"
cat repositories.conf
45
# 定义所需安装的包列表 下列插件你都可以自行删减
wukongdaily's avatar
wukongdaily committed
46
47
PACKAGES=""
PACKAGES="$PACKAGES curl"
wukongdaily's avatar
wukongdaily committed
48
PACKAGES="$PACKAGES openssh-sftp-server"
wukongdaily's avatar
wukongdaily committed
49
PACKAGES="$PACKAGES luci-i18n-diskman-zh-cn"
wukongdaily's avatar
wukongdaily committed
50
PACKAGES="$PACKAGES luci-i18n-package-manager-zh-cn"
wukongdaily's avatar
wukongdaily committed
51
52
53
54
55
56
57
PACKAGES="$PACKAGES luci-i18n-firewall-zh-cn"
PACKAGES="$PACKAGES luci-app-argon-config"
PACKAGES="$PACKAGES luci-i18n-argon-config-zh-cn"
PACKAGES="$PACKAGES luci-i18n-ttyd-zh-cn"
PACKAGES="$PACKAGES luci-i18n-passwall-zh-cn"
PACKAGES="$PACKAGES luci-app-openclash"
PACKAGES="$PACKAGES luci-i18n-homeproxy-zh-cn"
wukongdaily's avatar
wukongdaily committed
58
# docker
wukongdaily's avatar
wukongdaily committed
59
PACKAGES="$PACKAGES luci-i18n-dockerman-zh-cn"
wukongdaily's avatar
wukongdaily committed
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# 文件管理器
PACKAGES="$PACKAGES luci-i18n-filemanager-zh-cn"
# 静态文件服务器dufs(推荐)
PACKAGES="$PACKAGES luci-i18n-dufs-zh-cn"

# ============= imm仓库外的第三方插件===============
# ===== 若启用 请打开PACKAGES前面的注释==============
# istore商店
PACKAGES="$PACKAGES luci-app-store"
# 首页和网络向导
PACKAGES="$PACKAGES luci-i18n-quickstart-zh-cn"
# 去广告adghome
PACKAGES="$PACKAGES luci-app-adguardhome"
# 代理相关
PACKAGES="$PACKAGES luci-app-ssr-plus"
PACKAGES="$PACKAGES luci-app-passwall2"
PACKAGES="$PACKAGES luci-i18n-nikki-zh-cn"
# VPN
PACKAGES="$PACKAGES luci-app-tailscale"
PACKAGES="$PACKAGES luci-i18n-tailscale-zh-cn"
# 分区扩容 by sirpdboy 
PACKAGES="$PACKAGES luci-app-partexp"
PACKAGES="$PACKAGES luci-i18n-partexp-zh-cn"
# 酷猫主题 by sirpdboy 
PACKAGES="$PACKAGES luci-theme-kucat"
# 网络测速 by sirpdboy 
PACKAGES="$PACKAGES luci-app-netspeedtest"
PACKAGES="$PACKAGES luci-i18n-netspeedtest-zh-cn"
wukongdaily's avatar
wukongdaily committed
88
89
90
91
92

# 构建镜像
echo "$(date '+%Y-%m-%d %H:%M:%S') - Building image with the following packages:"
echo "$PACKAGES"

wukongdaily's avatar
wukongdaily committed
93
make image PROFILE=$PROFILE PACKAGES="$PACKAGES" FILES="/home/build/immortalwrt/files" ROOTFS_PARTSIZE=$ROOTFS_PARTSIZE
wukongdaily's avatar
wukongdaily committed
94
95
96
97
98
99

if [ $? -ne 0 ]; then
    echo "$(date '+%Y-%m-%d %H:%M:%S') - Error: Build failed!"
    exit 1
fi

wukongdaily's avatar
wukongdaily committed
100
echo "$(date '+%Y-%m-%d %H:%M:%S') - Build completed successfully."