提交 cf7d0378 编写于 作者: S songchenwen

Add fw_update Script

上级 4906ade4
...@@ -91,7 +91,8 @@ jobs: ...@@ -91,7 +91,8 @@ jobs:
sed -i 's/pcdata(boardinfo.system or "?")/"ARMv8"/' 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 sed -i "/redirect_https/d" friendlywrt/package/network/services/uhttpd/files/uhttpd.config
sed -i '/luciversion/a \/ ${{ steps.changelog.outputs.buildtag }} by <a href="https://songchenwen.com">scw</a>' friendlywrt/feeds/luci/modules/luci-mod-admin-full/luasrc/view/admin_status/index.htm sed -i '/luciversion/a \/ ${{ steps.changelog.outputs.buildtag }} by <a href="https://songchenwen.com">scw</a>' friendlywrt/feeds/luci/modules/luci-mod-admin-full/luasrc/view/admin_status/index.htm
cp ../scripts/fw_update.sh friendlywrt/package/base-files/files/usr/bin/fw_update
- name: Add Temperature to Netdata - name: Add Temperature to Netdata
run: | run: |
cd friendlywrt-rk3328 cd friendlywrt-rk3328
......
...@@ -91,7 +91,8 @@ jobs: ...@@ -91,7 +91,8 @@ jobs:
sed -i 's/pcdata(boardinfo.system or "?")/"ARMv8"/' 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 sed -i "/redirect_https/d" friendlywrt/package/network/services/uhttpd/files/uhttpd.config
sed -i '/luciversion/a \/ ${{ steps.changelog.outputs.buildtag }} by <a href="https://songchenwen.com">scw</a>' friendlywrt/feeds/luci/modules/luci-mod-admin-full/luasrc/view/admin_status/index.htm sed -i '/luciversion/a \/ ${{ steps.changelog.outputs.buildtag }} by <a href="https://songchenwen.com">scw</a>' friendlywrt/feeds/luci/modules/luci-mod-admin-full/luasrc/view/admin_status/index.htm
cp ../scripts/fw_update.sh friendlywrt/package/base-files/files/usr/bin/fw_update
- name: Add Temperature to Netdata - name: Add Temperature to Netdata
run: | run: |
cd friendlywrt-rk3328 cd friendlywrt-rk3328
......
...@@ -61,6 +61,11 @@ jobs: ...@@ -61,6 +61,11 @@ jobs:
cd friendlywrt-rk3328 cd friendlywrt-rk3328
cp -r openwrt/target/linux/octeontx/patches-5.4 friendlywrt/target/linux/rockchip-rk3328/ cp -r openwrt/target/linux/octeontx/patches-5.4 friendlywrt/target/linux/rockchip-rk3328/
ls friendlywrt/target/linux/rockchip-rk3328/patches-5.4 ls friendlywrt/target/linux/rockchip-rk3328/patches-5.4
- name: Install Mods
run: |
cd friendlywrt-rk3328
cp ../scripts/fw_update.sh friendlywrt/package/base-files/files/usr/bin/fw_update
- name: Change Log - name: Change Log
id: changelog id: changelog
......
...@@ -64,6 +64,11 @@ jobs: ...@@ -64,6 +64,11 @@ jobs:
cp -r openwrt/target/linux/octeontx/patches-5.4 friendlywrt/target/linux/rockchip-rk3328/ cp -r openwrt/target/linux/octeontx/patches-5.4 friendlywrt/target/linux/rockchip-rk3328/
ls friendlywrt/target/linux/rockchip-rk3328/patches-5.4 ls friendlywrt/target/linux/rockchip-rk3328/patches-5.4
- name: Install Mods
run: |
cd friendlywrt-rk3328
cp ../scripts/fw_update.sh friendlywrt/package/base-files/files/usr/bin/fw_update
- name: Change Log - name: Change Log
id: changelog id: changelog
run: | run: |
......
...@@ -11,6 +11,8 @@ ...@@ -11,6 +11,8 @@
默认 LAN 口 IP `192.168.2.1` 默认密码 `password` 默认 LAN 口 IP `192.168.2.1` 默认密码 `password`
无需拔 SD 卡的升级方法, 4月11日以后的固件,ssh 进路由器, 并执行 `fw_update` 后面跟上新 ROM 的 zip 文件下载 URL, 比如 `fw_update "https://github.com/songchenwen/nanopi-r2s/releases/download/FriendlyWRT-2020-04-11-bf4fc77/FriendlyWRT-2020-04-11-bf4fc77-ROM.zip"`。这种刷机方式会保留配置文件, 如果新旧 ROM 的配置文件不兼容会引发各种问题,请自行判断配置文件的兼容性。
Fork 自 [klever1988](https://github.com/klever1988/nanopi-openwrt)[soffchen](https://github.com/soffchen/NanoPi-R2S) 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
cd /root
url=$1
zipfile=update_rom.zip
imgfile=rom.img
lomntpoint=/mnt/img
backupfile=/tmp/backup.tar.gz
if [ "$url" == "" ];then
echo "需要传入 ROM zip 文件下载链接"
exit 1
fi
rm -f "$zipfile"
rm -f "$imgfile"
rm -f "$backupfile"
rm -f "/tmp/$imgfile.zst"
rm -f *sd.img.gz
echo "开始下载固件文件 $url"
wget -O "$zipfile" "$url"
if [ -f "$zipfile" ]; then
echo "固件下载成功"
else
echo "固件下载失败"
exit 1
fi
gzfile=$(unzip -Z -1 "$zipfile" | grep "sd.img.gz$")
if [ "$gzfile" == "" ]; then
echo "没发现 sd.img.gz 结尾的固件包"
exit 1
fi
unzip "$zipfile" "$gzfile"
rm $zipfile
if [ -f "$gzfile" ]; then
echo "zip 固件已解压至 $gzfile"
else
echo "zip 固件解压失败"
exit 1
fi
pv "$gzfile" | gunzip -dc > "$imgfile"
if [ -f "$imgfile" ]; then
echo "gz 固件已解压至 $imgfile"
else
echo "gz 固件解压失败"
exit 1
fi
lodev=$(losetup -f)
echo "使用设备 $lodev 改写 ROM 文件"
mkdir -p "$lomntpoint"
losetup -o 100663296 $lodev "$imgfile"
mount $lodev "$lomntpoint"
cd "$lomntpoint"
echo "开始备份设置"
sysupgrade -b "$backupfile"
echo "开始写入备份到镜像文件"
tar zxf "$backupfile"
echo "备份文件已写入, 移除挂载"
cd /tmp
rm "$backupfile"
umount "$lomntpoint"
losetup -d $lodev
echo "开始压缩镜像"
zstfile="/tmp/$imgfile.zst"
zstdmt "/root/$imgfile" -o "$zstfile"
if [ -f "$zstfile" ]; then
echo 1 > /proc/sys/kernel/sysrq
echo "卸载 SD 卡"
echo u > /proc/sysrq-trigger || umount /
rotestfile="/rotest.txt"
touch "$rotestfile"
if [ $? -eq 0 ]; then
rm "$rotestfile"
echo "卸载 SD 卡失败"
exit 1
fi
echo "开始刷机, 请不要断电或关机, 如果刷机失败请取出 SD 卡用电脑重新写入 ROM"
pv "$zstfile" | zstdcat | dd of=/dev/mmcblk0 conv=fsync
echo "刷机完毕, 正在重启..."
echo o > /proc/sysrq-trigger
else
echo "压缩出错"
exit 1
fi
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册