build.sh 3.5 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
# 文件管理器
PACKAGES="$PACKAGES luci-i18n-filemanager-zh-cn"
# 静态文件服务器dufs(推荐)
PACKAGES="$PACKAGES luci-i18n-dufs-zh-cn"

# ============= imm仓库外的第三方插件===============
# ===== 若启用 请打开PACKAGES前面的注释==============
# istore商店
wukongdaily's avatar
wukongdaily committed
68
#PACKAGES="$PACKAGES luci-app-store"
wukongdaily's avatar
wukongdaily committed
69
# 首页和网络向导
wukongdaily's avatar
wukongdaily committed
70
#PACKAGES="$PACKAGES luci-i18n-quickstart-zh-cn"
wukongdaily's avatar
wukongdaily committed
71
# 去广告adghome
wukongdaily's avatar
wukongdaily committed
72
#PACKAGES="$PACKAGES luci-app-adguardhome"
wukongdaily's avatar
wukongdaily committed
73
# 代理相关
wukongdaily's avatar
wukongdaily committed
74
75
76
#PACKAGES="$PACKAGES luci-app-ssr-plus"
#PACKAGES="$PACKAGES luci-app-passwall2"
#PACKAGES="$PACKAGES luci-i18n-nikki-zh-cn"
wukongdaily's avatar
wukongdaily committed
77
# VPN
wukongdaily's avatar
wukongdaily committed
78
79
#PACKAGES="$PACKAGES luci-app-tailscale"
#PACKAGES="$PACKAGES luci-i18n-tailscale-zh-cn"
wukongdaily's avatar
wukongdaily committed
80
# 分区扩容 by sirpdboy 
wukongdaily's avatar
wukongdaily committed
81
82
#PACKAGES="$PACKAGES luci-app-partexp"
#PACKAGES="$PACKAGES luci-i18n-partexp-zh-cn"
wukongdaily's avatar
wukongdaily committed
83
# 酷猫主题 by sirpdboy 
wukongdaily's avatar
wukongdaily committed
84
#PACKAGES="$PACKAGES luci-theme-kucat"
wukongdaily's avatar
wukongdaily committed
85
# 网络测速 by sirpdboy 
wukongdaily's avatar
wukongdaily committed
86
87
#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."