[小米万兆/BE10000]小米万兆安装entware,玩转opkg安装软件

#20240404 内容更新:entware仅需要/opt一个目录

目录

I.安装enwtare

II.entware环境开机自启

小米万兆和上一代旗舰AX9000都是基于openwrt 18.06 snapshot的系统,
笔者在玩AX9000的时候,这个版本还处于被openwrt官方维护的状态,
勉强可以opkg下载一些软件下来用用,而到了小米万兆发布后,
18.06 snapshot这个版本也彻底被抛弃了,不再被维护,
op官方的软件仓库都停止提供了。

所以受到启发,我们可以用entware取而代之。entware可以代替原生的opkg进行软件包管理。
小米万兆的固件系统中,想要安装opkg并使用,就必须把/opt目录替换掉。
而根目录不可写(原理大致是分区100%占用则只读),所以无法用移除原路径新建软链接的方式,
那便使用mount -o bind的方式来重挂载目录。

前置条件:连接外接硬盘,这里建议购买支持usb3.0的易驱线,
以及一个100G左右的sata固态硬盘即可,大概几十元到100元之间。
格式化成ext4格式,插上路由器。路由器会自动识别并挂载在/mnt/路径下

I.安装enwtare

第一步:在/mnt/usbxxxxxxx/ 下新建一个myentware文件夹,在其下新建opt目录,并把根目录对应文件夹的内容复制进去;然后把目录重挂载,以我的小米万兆为例,具体操作把usbxxxx替换成自己对应的路径。

mkdir -p /mnt/usb-14189a85/myentware/opt

cp -r /opt/* /mnt/usb-14189a85/myentware/opt

mount -o bind /mnt/usb-14189a85/myentware/opt /opt

  完成后运行 df -h命令,可以看到/opt /usr /bin路径都已经挂载在外接存储上了。

第二步:安装entware,并将entware对应的软件路径添加到系统环境PATH中。

curl http://bin.entware.net/aarch64-k3.10/installer/alternative.sh | sh
echo 'export PATH=$PATH:/opt/bin:/opt/sbin' >> /etc/profile
source /etc/profile

此时entware安装完毕,但是运行opkg 会发现依然去找openwrt的仓库,原因是系统默认                的首选opkg是/bin/opkg而不是/opt/bin/opkg

把/bin/opkg移除就行:

mv /bin/opkg /bin/opkg.bk

再次运行opkg update:可以看到这次软件列表从entware仓库更新了

II.entware环境开机自启

        由于安装时使用的mount -o bind在每次重启后后必须重新挂载,所以我们必须添加开机自启的脚本来自动适配entware的运行环境。笔者使用的方式是利用/data/etc/config/firewall来执行自定义脚本。

 第一步:

       /data目录是一个数据持久化的目录,可以在里面写入一些自定义脚本(也可以放到挂载外接硬盘的目录下)。

mkdir /data/myscripts
vim /data/myscripts/auto_start.sh
#set entware
mount -o bind /mnt/usb-14189a85/myentware/opt /opt
echo 'export PATH=$PATH:/opt/bin:/opt/sbin' >> /etc/profile

#start entware-boot
/mnt/usb-14189a85/myentware/opt/etc/init.d/rc.unslung start

        :wq! 保存并退出。此处分为两部分:

        第一部分是开机重挂载三个目录并将entware需要的目录添加的系统PATH,保证entware环            境的持久化和正常运行

        第二部分是/opt/etc/init.d/rc.unslung start,执行这一步,可以让entware环境下的开机启动项          逐项启动,在/opt/etc/init.d/目录下可以放置自己需要启动的开机脚本。

第二步:

        我们需要把自定义脚本放到可以开机启动的地方

vim /data/etc/config/firewall

        移到文本末尾,写入如下规则后:wq!保存并退出

config include 'myscripts_auto_start'
        option type 'script'
        option path '/data/myscripts/auto_start.sh'
        option enabled '1'

        验证一下自己写的配置规则没有问题,如果顺利执行完,最后执行auto_start.sh后没有报                错,则写得没问题。否则修改到没问题为止。(如果配置不正确便重启路由器,会导致                  firewall启动失败而软性变砖,到时候只能reset了)。

service firewall restart

        最后,进入路由器管理页面或者直接reboot重启路由器,待启动完毕后,就能正常使用                    entware了

  • 18
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值