关于路由器:小米路由器PROR3P安装opkg提取bin固件包的opkg失败

之前写过一篇利用脚本装置的文章,这里再写个本人提取bin固件包中opkg装置的办法(次要是刚玩儿了固件解包,想试试看)。


前提

· R3P路由器已开启ssh(办法可见)


环境

零碎: ubuntu 18.04
软件: binwalk squashfs-tools


一、ubuntu操作

1.1 下载含有opkg的mt7621固件

wget https://archive.openwrt.org/chaos_calmer/15.05/ramips/mt7621/openwrt-15.05-ramips-mt7621-dir-860l-b1-squashfs-factory.bin
ls

1.2 装置binwalk和squashfs-tools包

sudo apt install binwalk squashfs-tools

1.3 解包bin

binwalk -e openwrt-15.05-ramips-mt7621-dir-860l-b1-squashfs-factory.bin
ls

1.4 解包squashfs

cd _openwrt-15.05-ramips-mt7621-dir-860l-b1-squashfs-factory.bin.extracted/
ls *.squashfs
unsquashfs 120038.squashfs
ls squashfs-root/

1.5 打包opkg

cd squashfs-root/
find -name "*opkg*"
tar -zcf opkg.tgz bin/opkg usr/lib/opkg usr/sbin/opkg-key etc/opkg etc/opkg.conf
ls


6.上传到路由器

scp opkg.tgz root@192.168.31.1:/data


二、路由器操作

2.1 连贯路由器

ssh root@192.168.31.1

2.2 解压

cd /data
ls
tar -zxf opkg.tgz

2.3 批改opkg配置文件

c=/data/etc/opkg.conf
sed -i "s/\(dest root \).*/\1\/data/" $c
sed -i "s/\(lists_dir ext \).*/\1\/data\/var\/opkg-lists/" $c
sed -i "s/\(option overlay_root \).*/\1\/data/" $c

2.4 增加环境变量

PATH=$PATH:/data/bin:/data/usr/sbin
echo "export PATH=$PATH" >> /etc/profile
echo "export LD_LIBRARY_PATH=/data/usr/lib" >> /etc/profile
source /etc/profile

2.5 实现


三、测试

从提取(复制)到装置(解压)的操作就实现了,上面来测试一下。

root@XiaoQiang:/data# opkg-key 
Usage: /data/usr/sbin/opkg-key <command> <arguments...>
Commands:
  add <file>:            Add keyfile <file> to opkg trusted keys
  remove <file>:        Remove keyfile matching <file> from opkg trusted keys
  verify <sigfile> <list>:    Check list file <list> against signature file <sigfile>

root@XiaoQiang:/data# opkg list
root@XiaoQiang:/data# opkg update
root@XiaoQiang:/data# 

**失败!命令能够辨认,然而不能执行更新、装置等的任何操作
工夫无限,留待日后再钻研**