提交 6ca7b539 编写于 作者: S songchenwen

Add FriendlyWRT Build

上级 527942cf
name: friendlywrt
on:
repository_dispatch:
push:
branches:
- master
paths:
- '.github/workflows/friendlywrt.yml'
- '*.sh'
schedule:
- cron: '0 0 * * *'
jobs:
build:
runs-on: ubuntu-latest
env:
GITHUB_TOKEN: ${{ secrets.sec_token }}
sec_token: ${{ secrets.sec_token }}
steps:
- name: Checkout
uses: actions/checkout@master
with:
ref: master
fetch-depth: 0
token: ${{ env.sec_token }}
- name: Init Env
env:
DEBIAN_FRONTEND: noninteractive
run: |
. init_env.sh
- name: Repo Hash
run: |
./set_repo_hash.sh Builder
- name: Friendlywrt Source
run: |
. friendlywrt_source.sh
- name: Change Feeds to Lean
run: |
cd friendlywrt-rk3328
git clone https://github.com/coolsnowwolf/lede
cd lede
../../set_repo_hash.sh Lean
cd ../friendlywrt
cp -r ../lede/package/lean package/
sed -i 's/^src-git luci.*/src-git luci https:\/\/github.com\/coolsnowwolf\/luci/' feeds.conf.default
sed -i 's/^src-git packages.*/src-git packages https:\/\/github.com\/coolsnowwolf\/packages/' feeds.conf.default
../../set_repo_hash.sh LeanLuci https://github.com/coolsnowwolf/luci.git
../../set_repo_hash.sh LeanPackage https://github.com/coolsnowwolf/packages.git
- name: Add Packages to Lean
run: |
. add_packages_to_lean.sh
- name: Install Openwrt Libs
run: |
cd friendlywrt-rk3328
git clone https://github.com/openwrt/openwrt
rm -rf friendlywrt/package/libs
cp -r openwrt/package/libs friendlywrt/package/
- name: Change Log
id: changelog
run: |
git config --global user.email "action@github.com" && git config --global user.name "GitHub Action"
./changelog.sh FriendlyWRT
- name: Update Feeds
run: |
cd friendlywrt-rk3328/friendlywrt
./scripts/feeds update -a
./scripts/feeds install -a
- name: Install Mods
run: |
cd friendlywrt-rk3328
sed -i '/Load Average/i\\t\t<tr><td width="33%"><%:CPU Temperature%></td><td><%=luci.sys.exec("cut -c1-2 /sys/class/thermal/thermal_zone0/temp")%></td></tr>' friendlywrt/feeds/luci/modules/luci-mod-admin-full/luasrc/view/admin_status/index.htm
sed -i 's/pcdata(boardinfo.system or "?")/"ARMv8"/' friendlywrt/feeds/luci/modules/luci-mod-admin-full/luasrc/view/admin_status/index.htm
sed -i "/redirect_https/d" friendlywrt/package/network/services/uhttpd/files/uhttpd.config
- name: Download Clash Binary
if: steps.changelog.outputs.changelog != ''
run: |
CLASH_VERSION=v0.19.0
mkdir -p friendlywrt-rk3328/friendlywrt/package/base-files/files/usr/bin
cd friendlywrt-rk3328/friendlywrt/package/base-files/files/usr/bin
wget -O clash.gz https://github.com/Dreamacro/clash/releases/download/$CLASH_VERSION/clash-linux-armv8-$CLASH_VERSION.gz
gunzip clash.gz
chmod +x clash
- name: Install UPX
run: |
mkdir -p friendlywrt-rk3328/friendlywrt/staging_dir/host/bin/
ln -s /usr/bin/upx-ucl friendlywrt-rk3328/friendlywrt/staging_dir/host/bin/upx
- name: Update Target.mk
run: |
cd friendlywrt-rk3328/friendlywrt/include
sed -i 's/dnsmasq /dnsmasq-full default-settings luci /' target.mk
- name: Build Config
if: steps.changelog.outputs.changelog != ''
run: |
cd friendlywrt-rk3328
cat configs/config_rk3328 | grep "TARGET" > ../rk3328.config
cat ../minimal_config.seed >> ../rk3328.config
cat ../rk3328.config > configs/config_rk3328
cat configs/config_rk3328
- name: Build Friendlywrt
if: steps.changelog.outputs.changelog != ''
run: |
cd friendlywrt-rk3328
sed -i 's/set -eu/set -u/' scripts/mk-friendlywrt.sh
./build.sh nanopi_r2s.mk
- name: Zip Files
if: steps.changelog.outputs.changelog != ''
run: |
gzip friendlywrt-rk3328/out/*.img
- name: Assemble Artifact
if: steps.changelog.outputs.changelog != ''
id: assemble_artifact
run: |
rm -rf ./artifact/
mkdir -p ./artifact/
cd friendlywrt-rk3328/friendlywrt;./scripts/diffconfig.sh > ../../artifact/config.seed;cd ../../
mv friendlywrt-rk3328/out/*img* ./artifact/
cp friendlywrt-rk3328/friendlywrt/.config ./artifact/full.config
zip -r artifact.zip -j artifact artifact/*
release_tag=${{ steps.changelog.outputs.buildtag }}
echo "##[set-output name=release_tag;]$release_tag"
- name: Create Release
if: steps.changelog.outputs.changelog != ''
id: create_release
uses: actions/create-release@v1
with:
tag_name: ${{ steps.assemble_artifact.outputs.release_tag }}
release_name: ${{ steps.assemble_artifact.outputs.release_tag }}
body: ${{ steps.changelog.outputs.changelog }}
draft: false
prerelease: false
- name: Upload Release Asset
if: steps.changelog.outputs.changelog != ''
id: upload-release-asset
uses: actions/upload-release-asset@v1
with:
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path: ./artifact.zip
asset_name: ${{ steps.assemble_artifact.outputs.release_tag }}-ROM.zip
asset_content_type: application/zip
- name: Push Change Log
if: steps.changelog.outputs.changelog != ''
run: |
git pull --rebase --autostash
git push
name: r2s_lean name: lean
on: on:
repository_dispatch: repository_dispatch:
...@@ -6,7 +6,7 @@ on: ...@@ -6,7 +6,7 @@ on:
branches: branches:
- master - master
paths: paths:
- '.github/workflows/r2s_lean_passwall_clash.yml' - '.github/workflows/lean.yml'
- '*.sh' - '*.sh'
schedule: schedule:
- cron: '0 0 * * *' - cron: '0 0 * * *'
...@@ -42,11 +42,11 @@ jobs: ...@@ -42,11 +42,11 @@ jobs:
- name: Patch Kernel - name: Patch Kernel
run: | run: |
. patch_kernel_5.4.sh . Lean/patch_kernel_5.4.sh
- name: Rebase on Lean - name: Rebase on Lean
run: | run: |
. rebase_on_lean.sh . Lean/rebase_on_lean.sh
- name: Add Packages to Lean - name: Add Packages to Lean
run: | run: |
...@@ -54,12 +54,12 @@ jobs: ...@@ -54,12 +54,12 @@ jobs:
- name: Patches for Lean - name: Patches for Lean
run: | run: |
. lean_patches.sh . Lean/lean_patches.sh
- name: Change Log - name: Change Log
id: changelog id: changelog
run: | run: |
./changelog.sh ./changelog.sh Lean
- name: Download Clash Binary - name: Download Clash Binary
if: steps.changelog.outputs.changelog != '' if: steps.changelog.outputs.changelog != ''
......
BuilderHash=70a1021
FriendlyWRTHash=1bedd70
ArgonHash=3e41f5b
AdguardHomeHash=37fdf50
LeanHash=d5dc714
ScwPackageHash=3fa6c01
LeanLuciHash=cebe120
LeanPackageHash=22d1163
\ No newline at end of file
#!/bin/bash #!/bin/bash
cd friendlywrt-rk3328/friendlywrt cd friendlywrt-rk3328/friendlywrt
git apply ../../enable_autocore.diff git apply ../../Lean/enable_autocore.diff
git diff -- package/lean/autocore/Makefile git diff -- package/lean/autocore/Makefile
......
...@@ -14,5 +14,5 @@ rm target/linux/generic/hack-5.4/700-swconfig_switch_drivers.patch ...@@ -14,5 +14,5 @@ rm target/linux/generic/hack-5.4/700-swconfig_switch_drivers.patch
./scripts/patch-kernel.sh ../kernel target/linux/generic/hack-5.4 ./scripts/patch-kernel.sh ../kernel target/linux/generic/hack-5.4
cd ../ cd ../
wget https://github.com/torvalds/linux/raw/master/scripts/kconfig/merge_config.sh && chmod +x merge_config.sh wget https://github.com/torvalds/linux/raw/master/scripts/kconfig/merge_config.sh && chmod +x merge_config.sh
grep -i '_NETFILTER_\|FLOW' ../.config.override > .config.override grep -i '_NETFILTER_\|FLOW' ../Lean/.config.override > .config.override
./merge_config.sh -m .config.override kernel/arch/arm64/configs/nanopi-r2_linux_defconfig && mv .config kernel/arch/arm64/configs/nanopi-r2_linux_defconfig ./merge_config.sh -m .config.override kernel/arch/arm64/configs/nanopi-r2_linux_defconfig && mv .config kernel/arch/arm64/configs/nanopi-r2_linux_defconfig
...@@ -3,4 +3,4 @@ FriendlyWRTHash=1bedd70 ...@@ -3,4 +3,4 @@ FriendlyWRTHash=1bedd70
ArgonHash=3e41f5b ArgonHash=3e41f5b
AdguardHomeHash=37fdf50 AdguardHomeHash=37fdf50
LeanHash=d5dc714 LeanHash=d5dc714
ScwPackageHash=3fa6c01 ScwPackageHash=3fa6c01
\ No newline at end of file
# Nanopi R2S 固件自动编译 # Nanopi R2S 固件自动编译
![r2s_lean](https://github.com/songchenwen/nanopi-r2s/workflows/r2s_lean/badge.svg) 编译了两种固件,分别是基于 Lean 的和基于官方固件的。
[ChangeLog](CHANGELOG.md) | 固件名字 | 状态 | 改动记录 | 简介 |
| :------ | :--- | :----- | :--- |
| Lean | [![lean](https://github.com/songchenwen/nanopi-r2s/workflows/lean/badge.svg)](https://github.com/songchenwen/nanopi-r2s/actions?query=workflow%3Alean) | [Change Log](Lean/CHANGELOG.md) | 以 Lean 为基础, 增加 FriendlyWRT 对 OpenWRT 的改动 |
| FriendlyWRT | [![friendlywrt](https://github.com/songchenwen/nanopi-r2s/workflows/friendlywrt/badge.svg)](https://github.com/songchenwen/nanopi-r2s/actions?query=workflow%3Afriendlywrt) | [Change Log](FriendlyWRT/CHANGELOG.md) | 以 FriendlyWRT 为基础, 添加 Lean 的包 |
Fork 自 [klever1988](https://github.com/klever1988/nanopi-openwrt) Fork 自 [klever1988](https://github.com/klever1988/nanopi-openwrt)[soffchen](https://github.com/soffchen/NanoPi-R2S)
主要整合了 [Passwall](https://github.com/songchenwen/openwrt-package) 和 AdguardHome 主要整合了 [Passwall](https://github.com/songchenwen/openwrt-package) 和 AdguardHome
......
#!/bin/bash #!/bin/bash
StatusFile=status.env VARIANTNAME=$1
NewStatusFile=newstatus.env StatusFile=$VARIANTNAME/status.env
NewStatusFile=$VARIANTNAME/newstatus.env
URLFile=name_and_urls.env URLFile=name_and_urls.env
ChangeLogFile=CHANGELOG.md ChangeLogFile=$VARIANTNAME/CHANGELOG.md
BuildTag="R2S-Lean-$(date +%Y-%m-%d)-$BuilderHash" BuildTag="$VARIANTNAME-$(date +%Y-%m-%d)-$BuilderHash"
env | grep "Hash" > $NewStatusFile env | grep "Hash" > $NewStatusFile
ChangeLog="" ChangeLog=""
while read l; do while read l; do
......
CONFIG_AUTOREMOVE=y CONFIG_AUTOREMOVE=y
CONFIG_BUILD_PATENTED=y
CONFIG_BRCMFMAC_SDIO=y CONFIG_BRCMFMAC_SDIO=y
CONFIG_IMAGEOPT=y CONFIG_IMAGEOPT=y
CONFIG_KERNEL_AIO=y
CONFIG_JSON_ADD_IMAGE_INFO=y CONFIG_JSON_ADD_IMAGE_INFO=y
CONFIG_KERNEL_ARM_PMU=y CONFIG_KERNEL_ARM_PMU=y
CONFIG_KERNEL_BLK_CGROUP=y
CONFIG_KERNEL_BLK_DEV_THROTTLING=y CONFIG_KERNEL_BLK_DEV_THROTTLING=y
CONFIG_KERNEL_BTRFS_FS_POSIX_ACL=y CONFIG_KERNEL_BTRFS_FS_POSIX_ACL=y
CONFIG_KERNEL_KALLSYMS=y CONFIG_KERNEL_KALLSYMS=y
CONFIG_KERNEL_PERF_EVENTS=y CONFIG_KERNEL_PERF_EVENTS=y
CONFIG_KERNEL_CGROUPS=y
CONFIG_KERNEL_CGROUP_CPUACCT=y
CONFIG_KERNEL_CGROUP_DEVICE=y
CONFIG_KERNEL_CGROUP_FREEZER=y
CONFIG_KERNEL_CGROUP_PIDS=y
CONFIG_KERNEL_CGROUP_SCHED=y
CONFIG_KERNEL_MEMCG=y
CONFIG_KERNEL_MEMCG_KMEM=y
CONFIG_KERNEL_MM_OWNER=y
CONFIG_KERNEL_NETPRIO_CGROUP=y
CONFIG_KERNEL_NET_CLS_CGROUP=y
CONFIG_KERNEL_CPUSETS=y
CONFIG_KERNEL_FAIR_GROUP_SCHED=y
CONFIG_KERNEL_FANOTIFY=y
CONFIG_KERNEL_FHANDLE=y
CONFIG_KERNEL_FREEZER=y
CONFIG_KERNEL_RESOURCE_COUNTERS=y
CONFIG_KERNEL_RT_GROUP_SCHED=y
CONFIG_LUCI_LANG_en=y CONFIG_LUCI_LANG_en=y
CONFIG_LUCI_LANG_zh-cn=y CONFIG_LUCI_LANG_zh-cn=y
CONFIG_LUCI_LANG_zh-tw=y CONFIG_LUCI_LANG_zh-tw=y
...@@ -36,6 +57,7 @@ CONFIG_PACKAGE_kmod-cfg80211=y ...@@ -36,6 +57,7 @@ CONFIG_PACKAGE_kmod-cfg80211=y
CONFIG_PACKAGE_ipv6helper=y CONFIG_PACKAGE_ipv6helper=y
CONFIG_PACKAGE_dnsmasq_full_dhcpv6=y CONFIG_PACKAGE_dnsmasq_full_dhcpv6=y
CONFIG_OPENSSL_ENGINE_BUILTIN=y CONFIG_OPENSSL_ENGINE_BUILTIN=y
CONFIG_OPENSSL_ENGINE_BUILTIN_AFALG=y
CONFIG_OPENSSL_OPTIMIZE_SPEED=y CONFIG_OPENSSL_OPTIMIZE_SPEED=y
CONFIG_OPENSSL_WITH_DTLS=y CONFIG_OPENSSL_WITH_DTLS=y
CONFIG_OPENSSL_WITH_EC2M=y CONFIG_OPENSSL_WITH_EC2M=y
...@@ -79,8 +101,12 @@ CONFIG_PACKAGE_luci-app-arpbind=y ...@@ -79,8 +101,12 @@ CONFIG_PACKAGE_luci-app-arpbind=y
CONFIG_PACKAGE_luci-app-autoreboot=y CONFIG_PACKAGE_luci-app-autoreboot=y
CONFIG_PACKAGE_luci-app-ddns=y CONFIG_PACKAGE_luci-app-ddns=y
CONFIG_PACKAGE_luci-app-filetransfer=y CONFIG_PACKAGE_luci-app-filetransfer=y
CONFIG_PACKAGE_luci-app-firewall=y
CONFIG_PACKAGE_luci-app-ramfree=y
CONFIG_PACKAGE_luci-app-netdata=y CONFIG_PACKAGE_luci-app-netdata=y
CONFIG_PACKAGE_netdata=y CONFIG_PACKAGE_luci-app-watchcat=y
CONFIG_PACKAGE_luci-app-vlmcsd=y
CONFIG_PACKAGE_luci-app-wol=y
CONFIG_PACKAGE_luci-app-passwall=y CONFIG_PACKAGE_luci-app-passwall=y
CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Brook=y CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Brook=y
CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Shadowsocks=y CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Shadowsocks=y
......
...@@ -3,4 +3,6 @@ ArgonURL=https://github.com/jerrykuku/luci-theme-argon ...@@ -3,4 +3,6 @@ ArgonURL=https://github.com/jerrykuku/luci-theme-argon
AdguardHomeURL=https://github.com/rufengsuixing/luci-app-adguardhome AdguardHomeURL=https://github.com/rufengsuixing/luci-app-adguardhome
ScwPackageURL=https://github.com/songchenwen/openwrt-package ScwPackageURL=https://github.com/songchenwen/openwrt-package
LeanURL=https://github.com/coolsnowwolf/lede LeanURL=https://github.com/coolsnowwolf/lede
LeanLuciURL=https://github.com/coolsnowwolf/luci
LeanPackageURL=https://github.com/coolsnowwolf/packages
FriendlyWRTURL=https://github.com/friendlyarm/friendlywrt FriendlyWRTURL=https://github.com/friendlyarm/friendlywrt
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册