packit new #163
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: packit new | |
on: | |
repository_dispatch: | |
workflow_dispatch: | |
inputs: | |
ssh: | |
description: 'SSH connection to Actions' | |
required: false | |
default: 'false' | |
set_54x: | |
description: "KERNEL: 5.4.x / none" | |
required: false | |
default: "none" | |
set_510x: | |
description: "KERNEL: 5.10.x / none" | |
required: false | |
default: "none" | |
set_515x: | |
description: "KERNEL: 5.15.x / none" | |
required: false | |
default: "none" | |
set_61x: | |
description: "KERNEL: 6.1.x / none" | |
required: false | |
default: "none" | |
set_66x: | |
description: "KERNEL: 6.6.x / none" | |
required: false | |
default: "none" | |
set_ver: | |
description: "VER: 24.4.4 / ..." | |
required: false | |
default: "24.9.9" | |
upload_firmware: | |
description: "whether to upload firmware." | |
required: false | |
default: "true" | |
release_firmware: | |
description: "whether to release firmware." | |
required: false | |
default: "true" | |
env: | |
REPO_URL: https://github.com/unifreq/openwrt_packit | |
REPO_BRANCH: master | |
ROOTFS_URL: https://github.com/kissyouhunter/openwrt_N1/releases/download/rootfs/openwrt-armvirt-64-generic-rootfs.tar.gz | |
KERNEL_URL: https://cloud.kisslove.eu.org/d/onedrive/OPENWRT/N1_OP/kernel | |
UPLOAD_BIN_DIR: false | |
SERVERCHAN_SCKEY: true | |
TZ: Asia/Shanghai | |
jobs: | |
build: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: telegrame_bot | |
run: | | |
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c > CPU | |
cat /proc/cpuinfo | grep "cpu cores" | uniq >> CPU | |
sed -i 's|[[:space:]]||g; s|^.||' CPU && sed -i 's|CPU||g; s|pucores:||' CPU | |
CPUNAME="$(awk 'NR==1' CPU)" && CPUCORES="$(awk 'NR==2' CPU)" | |
rm -rf CPU | |
if [[ "${SERVERCHAN_SCKEY}" == "true" ]]; then | |
curl -k --data chat_id="${{ secrets.TELEGRAM_CHAT_ID }}" --data "text=🎉 主人: | |
您正在使用kissyouhunter仓库 {CPU型号为 [ ${CPUNAME} ] 核心数 为 [ ${CPUCORES} ] 线程数为 [ $(nproc) ]的机器} 打包 ${{ github.event.inputs.set_54x }} ${{ github.event.inputs.set_510x }} ${{ github.event.inputs.set_515x }} ${{ github.event.inputs.set_61x }} ${{ github.event.inputs.set_66x }} 固件,请耐心等待...... 😋" "https://api.telegram.org/bot${{ secrets.TELEGRAM_BOT_TOKEN }}/sendMessage" | |
fi | |
- name: choose kernel | |
run: | | |
set_54x="${{ github.event.inputs.set_54x }}" | |
if [ "$set_54x" = "none" ]; then | |
echo "no kernel was chosen" | |
else | |
echo "KERNEL_5_4_Y=${set_54x}" >> $GITHUB_ENV | |
fi | |
set_510x="${{ github.event.inputs.set_510x }}" | |
if [ "$set_510x" = "none" ]; then | |
echo "no kernel was chosen" | |
else | |
echo "KERNEL_5_10_Y=${set_510x}" >> $GITHUB_ENV | |
fi | |
set_515x="${{ github.event.inputs.set_515x }}" | |
if [ "$set_515x" = "none" ]; then | |
echo "no kernel was chosen" | |
else | |
echo "KERNEL_5_15_Y=${set_515x}" >> $GITHUB_ENV | |
fi | |
set_66x="${{ github.event.inputs.set_66x }}" | |
if [ "$set_66x" = "none" ]; then | |
echo "no kernel was chosen" | |
else | |
echo "KERNEL_6_6_Y=${set_66x}" >> $GITHUB_ENV | |
fi | |
set_61x="${{ github.event.inputs.set_61x }}" | |
if [ "$set_61x" = "none" ]; then | |
echo "no kernel was chosen" | |
else | |
echo "KERNEL_6_1_Y=${set_61x}" >> $GITHUB_ENV | |
fi | |
set_ver="${{ github.event.inputs.set_ver }}" | |
echo "OP_DATE=${set_ver}" >> $GITHUB_ENV | |
upload_firmware="${{ github.event.inputs.upload_firmware }}" | |
echo "UPLOAD_FIRMWARE=${upload_firmware}" >> $GITHUB_ENV | |
release_firmware="${{ github.event.inputs.release_firmware }}" | |
echo "RELEASE_FIRMWARE=${release_firmware}" >> $GITHUB_ENV | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Installing requirements | |
run: | | |
docker rmi `docker images -q` | |
#sudo rm -rf /usr/share/dotnet /etc/mysql /etc/php /etc/apt/sources.list.d /usr/local/lib/android | |
#sudo -E apt-get -y purge azure-cli ghc* zulu* hhvm llvm* firefox google* dotnet* powershell openjdk* adoptopenjdk* mysql* php* mongodb* dotnet* moby* snapd* || true | |
sudo -E apt-get update | |
sudo -E apt-get install subversion -y | |
sudo -E apt-get -y autoremove --purge | |
sudo -E apt-get clean | |
- name: Check space usage | |
if: (!cancelled()) | |
run: df -hT | |
- name: Download Openwrt_Packit | |
id: packit | |
run: | | |
git clone $REPO_URL -b $REPO_BRANCH /tmp/packit | |
sed -i 's|50000|25000|g' /tmp/packit/files/cpustat | |
cd /tmp/packit | |
curl -LO $ROOTFS_URL | |
cp $GITHUB_WORKSPACE/mk_s905d_n1-docker.sh mk_s905d_n1-docker.sh -v | |
cd /tmp/packit/files | |
rm -f ./index.html.patches/luci-admin-status-index-html.patch | |
cp $GITHUB_WORKSPACE/diy/n1_lede/index/luci-admin-status-index-html.patch ./index.html.patches/luci-admin-status-index-html.patch -v | |
rm -f amlogic_model_database.txt | |
cp $GITHUB_WORKSPACE/amlogic_model_database.txt amlogic_model_database.txt -v | |
rm -f openwrt-install-amlogic | |
cp $GITHUB_WORKSPACE/openwrt-install-amlogic openwrt-install-amlogic -v | |
- name: Pack OpenWrt | |
id: pack | |
run: | | |
set_54x="${{ github.event.inputs.set_54x }}" | |
if [ "$set_54x" = "none" ]; then | |
echo "no kernel was chosen" | |
echo "OP_54=none" >> $GITHUB_ENV | |
else | |
cd /tmp/packit | |
curl -LO $KERNEL_URL/${KERNEL_5_4_Y}/boot-${KERNEL_5_4_Y}-kissyouhunter.tar.gz | |
curl -LO $KERNEL_URL/${KERNEL_5_4_Y}/modules-${KERNEL_5_4_Y}-kissyouhunter.tar.gz | |
curl -LO $KERNEL_URL/${KERNEL_5_4_Y}/dtb-amlogic-${KERNEL_5_4_Y}-kissyouhunter.tar.gz | |
curl -LO $KERNEL_URL/${KERNEL_5_4_Y}/header-${KERNEL_5_4_Y}-kissyouhunter.tar.gz | |
rm -f make.env | |
cp $GITHUB_WORKSPACE/make_kernel.env make.env -v | |
sed -i 's|op-kissyouhunter|'"$KERNEL_5_4_Y"-kissyouhunter'|g' ./make.env | |
sed -i 's|date|'"$OP_DATE"'|g' ./make.env | |
sudo bash mk_s905d_n1-docker.sh | |
echo "OP_54=openwrt_s905d_n1_R${OP_DATE}_k${KERNEL_5_4_Y}-kissyouhunter.img.gz" >> $GITHUB_ENV | |
fi | |
set_510x="${{ github.event.inputs.set_510x }}" | |
if [ "$set_510x" = "none" ]; then | |
echo "no kernel was chosen" | |
echo "OP_510=none" >> $GITHUB_ENV | |
else | |
cd /tmp/packit | |
curl -LO $KERNEL_URL/${KERNEL_5_10_Y}/boot-${KERNEL_5_10_Y}-kissyouhunter.tar.gz | |
curl -LO $KERNEL_URL/${KERNEL_5_10_Y}/modules-${KERNEL_5_10_Y}-kissyouhunter.tar.gz | |
curl -LO $KERNEL_URL/${KERNEL_5_10_Y}/dtb-amlogic-${KERNEL_5_10_Y}-kissyouhunter.tar.gz | |
curl -LO $KERNEL_URL/${KERNEL_5_10_Y}/header-${KERNEL_5_10_Y}-kissyouhunter.tar.gz | |
rm -f make.env | |
cp $GITHUB_WORKSPACE/make_kernel.env make.env -v | |
sed -i 's|op-kissyouhunter|'"$KERNEL_5_10_Y"-kissyouhunter'|g' ./make.env | |
sed -i 's|date|'"$OP_DATE"'|g' ./make.env | |
sudo bash mk_s905d_n1-docker.sh | |
echo "OP_510=openwrt_s905d_n1_R${OP_DATE}_k${KERNEL_5_10_Y}-kissyouhunter.img.gz" >> $GITHUB_ENV | |
fi | |
set_515x="${{ github.event.inputs.set_515x }}" | |
if [ "$set_515x" = "none" ]; then | |
echo "no kernel was chosen" | |
echo "OP_515=none" >> $GITHUB_ENV | |
else | |
cd /tmp/packit | |
curl -LO $KERNEL_URL/${KERNEL_5_15_Y}/boot-${KERNEL_5_15_Y}-kissyouhunter.tar.gz | |
curl -LO $KERNEL_URL/${KERNEL_5_15_Y}/modules-${KERNEL_5_15_Y}-kissyouhunter.tar.gz | |
curl -LO $KERNEL_URL/${KERNEL_5_15_Y}/dtb-amlogic-${KERNEL_5_15_Y}-kissyouhunter.tar.gz | |
curl -LO $KERNEL_URL/${KERNEL_5_15_Y}/header-${KERNEL_5_15_Y}-kissyouhunter.tar.gz | |
rm -f make.env | |
cp $GITHUB_WORKSPACE/make_kernel.env make.env -v | |
sed -i 's|op-kissyouhunter|'"$KERNEL_5_15_Y"-kissyouhunter'|g' ./make.env | |
sed -i 's|date|'"$OP_DATE"'|g' ./make.env | |
sudo bash mk_s905d_n1-docker.sh | |
echo "OP_515=openwrt_s905d_n1_R${OP_DATE}_k${KERNEL_5_15_Y}-kissyouhunter.img.gz" >> $GITHUB_ENV | |
fi | |
set_61x="${{ github.event.inputs.set_61x }}" | |
if [ "$set_61x" = "none" ]; then | |
echo "no kernel was chosen" | |
echo "OP_61=none" >> $GITHUB_ENV | |
else | |
cd /tmp/packit | |
curl -LO $KERNEL_URL/${KERNEL_6_1_Y}/boot-${KERNEL_6_1_Y}-kissyouhunter.tar.gz | |
curl -LO $KERNEL_URL/${KERNEL_6_1_Y}/modules-${KERNEL_6_1_Y}-kissyouhunter.tar.gz | |
curl -LO $KERNEL_URL/${KERNEL_6_1_Y}/dtb-amlogic-${KERNEL_6_1_Y}-kissyouhunter.tar.gz | |
curl -LO $KERNEL_URL/${KERNEL_6_1_Y}/header-${KERNEL_6_1_Y}-kissyouhunter.tar.gz | |
rm -f make.env | |
cp $GITHUB_WORKSPACE/make_kernel.env make.env -v | |
sed -i 's|op-kissyouhunter|'"$KERNEL_6_1_Y"-kissyouhunter'|g' ./make.env | |
sed -i 's|date|'"$OP_DATE"'|g' ./make.env | |
sudo bash mk_s905d_n1-docker.sh | |
echo "OP_61=openwrt_s905d_n1_R${OP_DATE}_k${KERNEL_6_1_Y}-kissyouhunter.img.gz" >> $GITHUB_ENV | |
fi | |
set_66x="${{ github.event.inputs.set_66x }}" | |
if [ "$set_66x" = "none" ]; then | |
echo "no kernel was chosen" | |
echo "OP_66=none" >> $GITHUB_ENV | |
else | |
cd /tmp/packit | |
curl -LO $KERNEL_URL/${KERNEL_6_6_Y}/boot-${KERNEL_6_6_Y}-kissyouhunter.tar.gz | |
curl -LO $KERNEL_URL/${KERNEL_6_6_Y}/modules-${KERNEL_6_6_Y}-kissyouhunter.tar.gz | |
curl -LO $KERNEL_URL/${KERNEL_6_6_Y}/dtb-amlogic-${KERNEL_6_6_Y}-kissyouhunter.tar.gz | |
curl -LO $KERNEL_URL/${KERNEL_6_6_Y}/header-${KERNEL_6_6_Y}-kissyouhunter.tar.gz | |
rm -f make.env | |
cp $GITHUB_WORKSPACE/make_kernel.env make.env -v | |
sed -i 's|op-kissyouhunter|'"$KERNEL_6_6_Y"-kissyouhunter'|g' ./make.env | |
sed -i 's|date|'"$OP_DATE"'|g' ./make.env | |
ls -a | |
cat ./make.env | |
sudo bash mk_s905d_n1-docker.sh | |
echo "OP_66=openwrt_s905d_n1_R${OP_DATE}_k${KERNEL_6_6_Y}-kissyouhunter.img.gz" >> $GITHUB_ENV | |
fi | |
echo "status=success" >> $GITHUB_OUTPUT | |
- name: Organize files | |
id: organize | |
if: steps.pack.outputs.status == 'success' && !cancelled() | |
run: | | |
cd /tmp/packit/output | |
sudo gzip -9 * | |
sudo chmod 777 * | |
echo "FIRMWARE=$PWD" >> $GITHUB_ENV | |
echo "status=success" >> $GITHUB_OUTPUT | |
- name: Upload firmware Kernel_5_4_Y | |
uses: actions/upload-artifact@master | |
if: steps.organize.outputs.status == 'success' && env.UPLOAD_FIRMWARE == 'true' && !cancelled() | |
with: | |
name: ${{ env.OP_54 }} | |
path: | | |
${{ env.FIRMWARE }}/${{ env.OP_54 }} | |
- name: Upload firmware Kernel_5_10_Y | |
uses: actions/upload-artifact@master | |
if: steps.organize.outputs.status == 'success' && env.UPLOAD_FIRMWARE == 'true' && !cancelled() | |
with: | |
name: ${{ env.OP_510 }} | |
path: | | |
${{ env.FIRMWARE }}/${{ env.OP_510 }} | |
- name: Upload firmware Kernel_5_15_Y | |
uses: actions/upload-artifact@master | |
if: steps.organize.outputs.status == 'success' && env.UPLOAD_FIRMWARE == 'true' && !cancelled() | |
with: | |
name: ${{ env.OP_515 }} | |
path: | | |
${{ env.FIRMWARE }}/${{ env.OP_515 }} | |
- name: Upload firmware Kernel_6_1_Y | |
uses: actions/upload-artifact@master | |
if: steps.organize.outputs.status == 'success' && env.UPLOAD_FIRMWARE == 'true' && !cancelled() | |
with: | |
name: ${{ env.OP_61 }} | |
path: | | |
${{ env.FIRMWARE }}/${{ env.OP_61 }} | |
- name: Upload firmware Kernel_6_6_Y | |
uses: actions/upload-artifact@master | |
if: steps.organize.outputs.status == 'success' && env.UPLOAD_FIRMWARE == 'true' && !cancelled() | |
with: | |
name: ${{ env.OP_66 }} | |
path: | | |
${{ env.FIRMWARE }}/${{ env.OP_66 }} | |
- name: Upload firmware to release | |
uses: ncipollo/release-action@v1 | |
if: steps.organize.outputs.status == 'success' && env.RELEASE_FIRMWARE == 'true' && !cancelled() | |
with: | |
token: ${{ secrets.REPO_TOKEN }} | |
name: Openwrt_N1_without_docker | |
tag: n1_openwrt | |
commit: main | |
allowUpdates: true | |
repo: Openwrt_X86-Openwrt_N1-Armbian_N1 | |
body: | | |
## Openwrt_N1: | |
* IP: 192.168.2.4 ID: root Password: password | |
* 刷入emmc命令: install | |
* adguardhome已内置好DNS和广告过滤,下载好核心后开启即可。 | |
* adguardhome ID: root Password: password wifi password: password | |
* N1固件不带docker,请用一键脚本自行安装。 | |
* (一键脚本: bash <(curl -s -S -L https://git.io/JMl6C) 或者 curl -Lo ./kiss.sh https://git.io/JMl6C && bash kiss.sh) | |
### 升级方式一: | |
* 一键升级命令:(最新的固件已支持在U盘运行的openwrt) | |
* 如已刷入本固件,ssh连接n1或ttyd输入update即可。 | |
* 命令一:bash <(curl -Lso- nb0.cc/k) | |
* 命令二:bash <(curl -s -S -L https://git.io/update-N1) | |
* 根据命令操作就可以,强烈推荐,保证/mnt/mmcblk2p4/或/mnt/sda4分区剩余空间1G以上,查看命令df -h。 | |
### 升级方式二: | |
* 由译内核的不同,如升级emmc里的固件请用releases里的update-amlogic-openwrt.sh文件 | |
* 将update-amlogic-openwrt.sh和img文件上传至/mnt/mmcblk2p4分区 | |
* ssh连接n1或ttyd输入如下命令: | |
* cd /mnt/mmcblk2p4/ && chmod 755 update-N1-openwrt.sh | |
* ./update-N1-openwrt.sh 文件名.img #img文字名请自行输入 | |
* 跑码过程中都有中文提示,请根据提示操作即可。 | |
* 系统重启后使用命令 rm -rf /mnt/mmcblk2p4/文件名img 删除 #img文字名请自行输入 | |
[注:三分区版本的N1只能重新写入固件到emmc,无法直接升级固件](#注:三分区版本的N1只能重新写入固件到emmc,无法直接升级固件) | |
artifacts: ${{ env.FIRMWARE }}/*.gz | |
- name: Setup Rclone | |
uses: AnimMouse/setup-rclone@v1 | |
with: | |
rclone_config: ${{ secrets.RCLONE_CONFIG }} | |
- name: Upload to OneDrive | |
run: | | |
cd /tmp/packit/ | |
sudo chmod -R 777 . | |
rclone -v move output kiss_blockads:onedrive/OPENWRT/N1_OP | |
- name: Notify on failure | |
if: ${{ failure() }} | |
run: | | |
curl -k --data chat_id="${{ secrets.TELEGRAM_CHAT_ID }}" --data "text=我亲爱的😭主人😭: | |
您使用kissyouhunter仓库打包的 ${{ github.event.inputs.set_54x }} ${{ github.event.inputs.set_510x }} ${{ github.event.inputs.set_515x }} ${{ github.event.inputs.set_61x }} ${{ github.event.inputs.set_66x }} 固件失败了,请及时处理!😭" "https://api.telegram.org/bot${{ secrets.TELEGRAM_BOT_TOKEN }}/sendMessage" | |
- name: telegram_bot | |
run: | | |
if [[ "${SERVERCHAN_SCKEY}" == "true" ]]; then | |
curl -k --data chat_id="${{ secrets.TELEGRAM_CHAT_ID }}" --data "text=我亲爱的✨主人✨: | |
您使用kissyouhunter仓库打包的 ${{ github.event.inputs.set_54x }} ${{ github.event.inputs.set_510x }} ${{ github.event.inputs.set_515x }} ${{ github.event.inputs.set_61x }} ${{ github.event.inputs.set_66x }} 固件顺利完成了!💐" "https://api.telegram.org/bot${{ secrets.TELEGRAM_BOT_TOKEN }}/sendMessage" | |
fi |