本帖最后由 csjtl 于 2024-7-14 18:36 编辑
原文地址:
使用固件选择器编译 ac88u 的固件,同时自定义参数
https://tl8517.com/openwrt-ac88u/
老机器 ac88u 刷的原版openwrt 快照版的。固件是在线编译的,uci-defaults 配置自定义的参数。
代码相当的小白,因为我就小白。很简单,很容易看懂。 自己使用的配置应该都能使用 uci-defaults 配置好,这样编译的出的固件可以免后期配置,直接使用。后期有调整可以随时更改。
刷机有风险,执行需谨慎。仅供参考。 设备备份自行论坛查找方法 设备刷写自行论坛查找方法 在线固件(原版及自定义)Packages分为三部分:原版默认包,其它包,openclash 所需的包。 不想要的包,可删掉,或者新添一项加个-号。比如默认包有dnsmasq,但是 openclash 需要dnsmasq-full这两个包只能用一个,不然报错。所以使用-dnsmasq取消掉默认包。 其它包中有 dockerd 。刷入固件后软件包页面显示可用 40M ,因此需要挂载 u 盘。通过 uci-defaults 直接执行挂载。
base-files brcmfmac-firmware-4366b1-pcie brcmfmac-firmware-4366c0-pcie busybox ca-bundle dnsmasq dropbear firewall4 fstools iwinfo kmod-brcmfmac kmod-brcmfmac kmod-gpio-button-hotplug kmod-leds-gpio kmod-nft-offload kmod-phy-bcm-ns-usb2 kmod-phy-bcm-ns-usb3 kmod-usb-ledtrig-usbport kmod-usb-ohci kmod-usb2 kmod-usb3 libc libgcc libustream-mbedtls logd luci mtd netifd nftables nvram odhcp6c odhcpd-ipv6only opkg osafeloader oseama otrx ppp ppp-mod-pppoe procd procd-seccomp procd-ujail uci uclient-fetch urandom-seed urngd wpad-basic-mbedtls wpad-basic-mbedtls
-dnsmasq block-mount blockd cfdisk docker-compose dockerd e2fsprogs fdisk kmod-fs-ext4 kmod-fs-ntfs kmod-fs-vfat kmod-usb-storage luci-i18n-attendedsysupgrade-zh-cn luci-i18n-base-zh-cn luci-i18n-ddns-zh-cn luci-i18n-dockerman-zh-cn luci-i18n-filebrowser-zh-cn luci-i18n-firewall-zh-cn luci-i18n-ksmbd-zh-cn luci-i18n-opkg-zh-cn luci-i18n-ttyd-zh-cn mount-utils mtd ntfs-3g kmod-lp kmod-usb-printer luci-i18n-p910nd-zh-cn blkid
coreutils-nohup bash dnsmasq-full curl ca-certificates ipset ip-full libcap libcap-bin ruby ruby-yaml kmod-tun kmod-inet-diag unzip kmod-nft-tproxy luci-compat luci luci-base lsblk
uci-defaults分为两部分:(文件太长,可访问源网址查看,谢谢支持) 主机名,时区密码
wan 拨号 pppoe 协议
openclash 订阅地址
ddns
wifi 名称及密码
lan 静态协议地址/lan 其它协议
wan 其它协议
终端自动登录
文件共享
磁盘挂载 1:/mnt 2:/openclash 订阅地址的自定义,因为没有安装 ipk 文件,所以不会成功。但是在磁盘挂载中选择为挂载为根目录,就会生效,不只生效还会在添加相同的一项。其它还会重复添加的还有共享目录等。首次可以启用,往后编译可以将这几项注释掉。 在执行挂载为根目录时,会将分区中的文件复制一份到 u盘,其它文件还会存在。u盘中之前已安装 openclash ,刷好固件后 openclash 还存在,免去了重新安装。我感觉很方便。 挂载为根目录,受传输速度影响,时间很长,耐心等待吧。 # 磁盘挂载 1:/mnt 2:/
mnt_disk="2"
# 文件共享
uuid=$(blkid -s UUID -o value /dev/sd*)
device1=$(blkid -U $uuid)
device2=$(echo $(blkid -U $uuid) | sed 's/dev/mnt/')
#磁盘挂载
case $mnt_disk in
"1")
#mount /dev/sda1 /mnt/sda1
#rm -rf /mnt/sda1/lost+found /mnt/sda1/upper /mnt/sda1/work
#mkfs.ext4 /dev/sda1
uci add fstab mount
uci set fstab.@mount[-1]=mount
uci set fstab.@mount[-1].target="$device2"
uci set fstab.@mount[-1].uuid="$uuid"
uci set fstab.@mount[-1].enabled='1'
uci commit fstab
/etc/init.d/fstab reload
;;
"2")
mkdir -p /tmp/introot
mkdir -p /tmp/extroot
mount --bind / /tmp/introot
mount "$device1" /tmp/extroot
tar -C /tmp/introot -cvf - . | tar -C /tmp/extroot -xf -
wait
umount /tmp/introot
umount /tmp/extroot
uci add fstab mount
uci set fstab.@mount[-1]=mount
uci set fstab.@mount[-1].target="/"
uci set fstab.@mount[-1].uuid="$uuid"
uci set fstab.@mount[-1].enabled='1'
uci commit fstab
/etc/init.d/fstab reload
esac
if [ -n "$re_boot" ]; then
reboot
fi
|