commit 6ee3e2f832c9daf754bd9cac4482ceeb09b8aa0a Author: lingyuzeng Date: Sun Mar 1 13:56:32 2026 +0800 init: build repo skeleton for ipq60xx (woodpecker) diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..52603d7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,16 @@ +# build outputs +artifacts/ +wrt-yes/ +wrt-wifi/ + +# configs generated by builds +.config +.config.old + +# editor / OS +.DS_Store +.vscode/ +.idea/ + +# logs +*.log diff --git a/.woodpecker/.keep b/.woodpecker/.keep new file mode 100644 index 0000000..e69de29 diff --git a/.woodpecker/ipq60xx.yml b/.woodpecker/ipq60xx.yml new file mode 100644 index 0000000..9264e40 --- /dev/null +++ b/.woodpecker/ipq60xx.yml @@ -0,0 +1,57 @@ +when: + - event: [push, manual, cron] + branch: main + +variables: + WRT_REPO: "https://github.com/VIKINGYFY/immortalwrt.git" + WRT_BRANCH: "main" # IPQ60XX 用 main + +steps: + - name: init-env + image: ubuntu:24.04 + environment: + DEBIAN_FRONTEND: noninteractive + commands: + - apt-get update + - apt-get install -y --no-install-recommends ca-certificates curl git rsync dos2unix jq + - bash -c 'bash <(curl -fsSL https://build-scripts.immortalwrt.org/init_build_environment.sh)' + + - name: build-ipq60xx-wifi-yes + image: ubuntu:24.04 + commands: + - git clone --depth=1 --single-branch --branch ${WRT_BRANCH} ${WRT_REPO} wrt-yes + - cd wrt-yes + - ./scripts/feeds update -a + - ./scripts/feeds install -a + - cd package + - dos2unix ${CI_WORKSPACE}/Scripts/*.sh || true + - chmod +x ${CI_WORKSPACE}/Scripts/*.sh + - ${CI_WORKSPACE}/Scripts/Packages.sh ${CI_WORKSPACE}/Scripts/Handles.sh + - cd .. + - cat ${CI_WORKSPACE}/Config/IPQ60XX-WIFI-YES.txt ${CI_WORKSPACE}/Config/GENERAL.txt > .config + - ${CI_WORKSPACE}/Scripts/Settings.sh + - make defconfig -j"$(nproc)" + - make download -j"$(nproc)" + - make -j"$(nproc)" || make -j1 V=s + - mkdir -p ${CI_WORKSPACE}/artifacts/ipq60xx-wifi-yes + - cp -rf bin/targets ${CI_WORKSPACE}/artifacts/ipq60xx-wifi-yes/ + + - name: build-ipq60xx-wifi + image: ubuntu:24.04 + commands: + - git clone --depth=1 --single-branch --branch ${WRT_BRANCH} ${WRT_REPO} wrt-wifi + - cd wrt-wifi + - ./scripts/feeds update -a + - ./scripts/feeds install -a + - cd package + - dos2unix ${CI_WORKSPACE}/Scripts/*.sh || true + - chmod +x ${CI_WORKSPACE}/Scripts/*.sh + - ${CI_WORKSPACE}/Scripts/Packages.sh ${CI_WORKSPACE}/Scripts/Handles.sh + - cd .. + - cat ${CI_WORKSPACE}/Config/IPQ60XX-WIFI.txt ${CI_WORKSPACE}/Config/GENERAL.txt > .config + - ${CI_WORKSPACE}/Scripts/Settings.sh + - make defconfig -j"$(nproc)" + - make download -j"$(nproc)" + - make -j"$(nproc)" || make -j1 V=s + - mkdir -p ${CI_WORKSPACE}/artifacts/ipq60xx-wifi + - cp -rf bin/targets ${CI_WORKSPACE}/artifacts/ipq60xx-wifi/ diff --git a/Config/.keep b/Config/.keep new file mode 100644 index 0000000..e69de29 diff --git a/Config/GENERAL.txt b/Config/GENERAL.txt new file mode 100644 index 0000000..e84378e --- /dev/null +++ b/Config/GENERAL.txt @@ -0,0 +1,18 @@ +# ===== Common / minimal baseline ===== +# 说明:这里只放"你想始终启用的包/功能" +# 后续你要加 luci-app、内核模块等,就在这里追加 CONFIG_PACKAGE_xxx=y + +# LuCI (可按需开关) +CONFIG_PACKAGE_luci=y +CONFIG_PACKAGE_luci-ssl=y +CONFIG_PACKAGE_uhttpd=y +CONFIG_PACKAGE_uhttpd-mod-ubus=y + +# SSH +CONFIG_PACKAGE_openssh-sftp-server=y + +# 常用工具 +CONFIG_PACKAGE_curl=y +CONFIG_PACKAGE_wget=y +CONFIG_PACKAGE_htop=y +CONFIG_PACKAGE_tcpdump=y diff --git a/README.md b/README.md new file mode 100644 index 0000000..cadf686 --- /dev/null +++ b/README.md @@ -0,0 +1,18 @@ +# OpenWrt/ImmortalWrt IPQ60XX Build (Woodpecker) + +This repo is a build-orchestration repo: +- Config/: .config fragments (device sets + GENERAL) +- Scripts/: package injection / tweaks +- files/: OpenWrt overlay (copied into firmware rootfs) +- .woodpecker/: CI pipelines + +Targets: +- IPQ60XX-WIFI-YES (from VIKINGYFY/OpenWRT-CI) +- IPQ60XX-WIFI (from davidtall/OpenWRT-CI) + +How to add packages: +1) If available in feeds: append `CONFIG_PACKAGE_xxx=y` to `Config/GENERAL.txt` +2) If not in feeds or need pinned repo: add clone/remove logic in `Scripts/Packages.sh` + +Artifacts: +- Saved into `artifacts/` in pipeline workspace. diff --git a/Scripts/.keep b/Scripts/.keep new file mode 100644 index 0000000..e69de29 diff --git a/Scripts/Handles.sh b/Scripts/Handles.sh new file mode 100755 index 0000000..7116cad --- /dev/null +++ b/Scripts/Handles.sh @@ -0,0 +1,6 @@ +#!/bin/bash +# Placeholder for Scripts/Handles.sh +# Please download manually from: https://raw.githubusercontent.com/VIKINGYFY/OpenWRT-CI/main/Scripts/Handles.sh +# Or run: curl -fsSL https://raw.githubusercontent.com/VIKINGYFY/OpenWRT-CI/main/Scripts/Handles.sh -o Scripts/Handles.sh +set -euo pipefail +echo "Handles.sh placeholder - please download the actual script" diff --git a/Scripts/Packages.sh b/Scripts/Packages.sh new file mode 100755 index 0000000..faa918a --- /dev/null +++ b/Scripts/Packages.sh @@ -0,0 +1,6 @@ +#!/bin/bash +# Placeholder for Scripts/Packages.sh +# Please download manually from: https://raw.githubusercontent.com/VIKINGYFY/OpenWRT-CI/main/Scripts/Packages.sh +# Or run: curl -fsSL https://raw.githubusercontent.com/VIKINGYFY/OpenWRT-CI/main/Scripts/Packages.sh -o Scripts/Packages.sh +set -euo pipefail +echo "Packages.sh placeholder - please download the actual script" diff --git a/Scripts/Settings.sh b/Scripts/Settings.sh new file mode 100755 index 0000000..1bc74b9 --- /dev/null +++ b/Scripts/Settings.sh @@ -0,0 +1,6 @@ +#!/bin/bash +# Placeholder for Scripts/Settings.sh +# Please download manually from: https://raw.githubusercontent.com/VIKINGYFY/OpenWRT-CI/main/Scripts/Settings.sh +# Or run: curl -fsSL https://raw.githubusercontent.com/VIKINGYFY/OpenWRT-CI/main/Scripts/Settings.sh -o Scripts/Settings.sh +set -euo pipefail +echo "Settings.sh placeholder - please下载 the actual script" diff --git a/docs/.keep b/docs/.keep new file mode 100644 index 0000000..e69de29 diff --git a/files/.keep b/files/.keep new file mode 100644 index 0000000..e69de29