乐趣区

关于路由器:小米路由器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# 

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

退出移动版