HC5962.B70极路由4可用空间81M固件潘多拉19.02_附带免重新编译自定义调整分区教程
本帖最后由 guo4qing 于 2020-2-22 17:27 编辑潘多拉固件,主要是19.02,对nand支持十分奇妙。不管你的nand芯片多大,刷完后统统都是5M,我的更惨,只剩下3.2M可用空间。要知道我的路由器是hc5961nand芯片是256M容量,刷完后只有3M可用,我是不能忍受的。
但是重新编译,不存在的。
于是就有了这个简单的教程
1.需要有ubuntun 18.04系统 用apt install binwalk命令安装好这个软件
2.原版hc5962的19.02的固件
3.用binwalk -e hc5962.bin解压得到内核文件kernel.bin
4.用16进制编辑器转到偏移量4807312(10进制),其中分区表定义就在4807312(10j进制)到4807616(10进制)这一段里面。
用两张图展示一下
这是ida反编译结果,上图是16进制对照图
大家可以自由修改
修改完毕后保存一下
然后用ubuntu系统,使用openwrt 或padavan 或潘多拉的toolchain里面自带的 lzma和mkimage命令重新生成kernel
命令如下
lzma e -lc1 -lp2 -pb2 kernel.bin hc5962.lzma 这里的lzma我用的是潘多拉image builder里面自带的lzma 当然用padavan的工具链里面的lzma也行
mkimage -A mips -O linux -T kernel -C lzma -a 80001000 -n hc5962 -e 80001000 -d hc5962.lzma uhc5962.bin 这里的mkimage用的是padavan工具链里面的mkimage
两条命令之后,就可以用breed的网络控制台测试一下 先搭建一个http服务
路由进入breed模式
telnet 192.168.1.1
wget 0x81000000 http://192.168.1.2/uhc5962.bin 这里ip自己看着替换
boot mem 0x81000000
此命令可以直接从修改的固件启动,主要是测试用。
测试完美之后呢,用cat uhc5962.bin > /dev/mtdblock5 写入路由器就行啦
最后说一下潘多拉固件如何使用扩容后的分区
比如你调整后 overlay分区
mkfs.ext4 /dev/mtdblock10
然后打开路由管理界面 系统 挂载点 生成配置 下方的挂载点 点击添加 选择你刚刚格式化的分区
如图
我的路由器是256M分区,用hc5962的分区表肯定会浪费128M空间,
按照上面的教程做了之后我的路由器有180M 可用空间里
需要注意一点,潘多拉的extroot功能似乎有bug,需要在开机脚本 /etc/rc.local里面添加rm /etc/.extroot-uuid 不然的话 重启后又切回之前的状态了。
具体的可以参考这个帖子 https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=395354
当然以上是hc5962的固件修改分区过程,小米r3g r3p 应该也差不多
反编译工具用的是ida64 7.0
估计其他的都是大同小异
这个附件里面就是从sdk里面提取到的mkimage,还有lzma,ubuntu 1804 64位系统下运行。
256M----
# "firmware" 0xFC00000 0x140000
+80000
# "bd_info_rsa"0x80000 0xFDC0000
# "backup" 0x80000 0xFE40000
# "overlay" 0x40000 0xFEC0000
# "oem" 0x80000 0xFF00000
# "opt" 0x80000 0xFF80000
128M-----
方案 假设总容量为7FF0000 保留1M空间
# "firmware" 0x7C000000x140000
+80000
# "bd_info_rsa"0x80000 0x7DC0000
# "backup" 0x80000 0x7E40000
# "overlay" 0x40000 0x7EC0000
# "oem" 0x80000 0x7F00000
# "opt" 0x80000 0x7F80000
还是附上我自己修改的官方潘多拉19.02_HC5962/B70固件吧
完全基于原版19.02的内核修改而来,可以使用官方源里面的各种插件
给大家两个软件源
http://pandorabox.tuuz.cc:8000/pandorabox/19.02
http://downloads.pangubox.com:6380/pandorabox/19.02/
有特殊需要的可以把 插件镜像到本地使用
这两个插件源码都可以正常使用 记住了是19.02版本
这是容量 可用是81M空间 文件系统是ubifs,大家也可以用我这个内核配合原版imagebuilder自己定制固件
Filesystem Size Used Available Use% Mounted on
rootfs 85.6M 84.0K 81.1M 0% /
/dev/root 18.0M 18.0M 0 100% /rom
tmpfs 219.0M 0 219.0M 0% /sys/fs/cgroup
tmpfs 219.0M 1.5M 217.6M 1% /tmp
/dev/ubi0_1 85.6M 84.0K 81.1M 0% /overlay
overlayfs:/overlay 85.6M 84.0K 81.1M 0% /
tmpfs 512.0K 0 512.0K 0% /dev
#cat /proc/mtd
dev: size erasesizename
mtd0: 00040000 00020000 "Bootloader"
mtd1: 00040000 00020000 "Config"
mtd2: 00080000 00020000 "debug"
mtd3: 00040000 00020000 "Factory"
mtd4: 07c00000 00020000 "firmware"
mtd5: 00200000 00020000 "kernel"
mtd6: 079c0000 00020000 "ubi"
mtd7: 00040000 00020000 "panic_oops"
mtd8: 00080000 00020000 "bd_info_rsa"
mtd9: 00080000 00020000 "backup"
mtd10: 00040000 00020000 "overlay"
mtd11: 00080000 00020000 "oem"
mtd12: 00080000 00020000 "opt"
链接:百度云/s/1ibRsDzczgcA3UTxFYcxIMQ 提取码:m3ln
插了串口 发觉没有停下来 不过停在另外一个地方.
[ 2.584000] Creating 10 MTD partitions on "MT762x-NAND":
[ 2.588000] 0x000000000000-0x000000040000 : "Bootloader"
[ 2.596000] 0x000000040000-0x000000080000 : "Config"
[ 2.604000] 0x000000080000-0x000000100000 : "debug"
[ 2.608000] 0x000000100000-0x000000140000 : "Factory"
[ 2.616000] 0x000000140000-0x000007d40000 : "firmware"
[ 3.164000] 3 uimage-fw partitions found on MTD device firmware
[ 3.172000] 0x000000140000-0x000000340000 : "kernel"
[ 3.176000] 0x000000340000-0x000007d00000 : "ubi"
[ 3.184000] 0x000007d00000-0x000007d40000 : "panic_oops"
[ 3.200000] mtdoops: Attached to MTD device 7
[ 3.212000] 0x000007dc0000-0x000007e40000 : "bd_info_rsa"
[ 3.216000] 0x000007e40000-0x000007ec0000 : "backup"
[ 3.224000] 0x000007ec0000-0x000007f00000 : "overlay"
[ 3.228000] 0x000007f00000-0x000007f80000 : "oem"
[ 3.236000] 0x000007f80000-0x000008000000 : "opt"
[ 3.244000] Signature matched and data read!
[ 3.248000] load_fact_bbt success 1023
[ 3.252000] rdm_major = 252
[ 3.252000] EEPROM:Read from offset 0xe000,length 0x6.
[ 3.268000] Ralink APSoC Ethernet Driver v3.2.4 (raeth)
[ 3.272000] raeth: PDMA RX ring 512, QDMA TX pool 1024. Max packet size 1536
[ 3.280000] raeth: NAPI & GRO support, weight 64
[ 3.284000] raeth: Byte Queue Limits (BQL) support
[ 3.288000] raeth: GMAC reset
[ 3.292000] mt762x-gsw switch driver registered
[ 3.296000] mt762x-gsw default vlans:llllw
[ 3.308000] TCP: cubic registered
[ 3.312000] TCP: westwood registered
[ 3.316000] TCP: hybla registered
[ 3.320000] TCP: htcp registered
[ 3.324000] NET: Registered protocol family 10
[ 3.328000] NET: Registered protocol family 17
[ 3.332000] Bridge firewalling registered
[ 3.336000] Ebtables v2.0 registered
[ 3.340000] 8021q: 802.1Q VLAN Support v1.8
[ 3.344000] PandoraBox Mass Storage accelerater v1.2
[ 3.352000] Generic NVRAM Driver for MediaTek Board. (c) 2013-2015 PandoraB
[ 3.360000] NVRAM driver (major 250) installed
[ 3.364000] registered taskstats version 1
[ 3.372000] UBI: auto-attach mtd6
[ 3.372000] UBI: attaching mtd6 to ubi0
[ 3.472000] UBI error: scan_peb: bad image sequence number -1496820848 in P5
[ 3.480000] Erase counter header dump:
[ 3.484000]magic 0x55424923
[ 3.488000]version 1
[ 3.492000]ec 2
[ 3.492000]vid_hdr_offset 2048
[ 3.496000]data_offset 4096
[ 3.500000]image_seq -1496820848
[ 3.504000]hdr_crc 0xb43d008c
[ 3.508000] erase counter header hexdump:
[ 3.512000] UBI error: ubi_attach_mtd_dev: failed to attach mtd6, error -22
[ 3.520000] UBI error: ubi_auto_attach: cannot attach mtd6
[ 3.524000] UBIFS error (pid 1): ubifs_mount: cannot open "ubi0:rootfs", er9
[ 3.532000] VFS: Cannot open root device "(null)" or unknown-block(0,0): er6
[ 3.540000] Please append a correct "root=" boot option; here are the avail:
[ 3.548000] 1f00 256 mtdblock0(driver?)
[ 3.552000] 1f01 256 mtdblock1(driver?)
[ 3.556000] 1f02 512 mtdblock2(driver?)
[ 3.564000] 1f03 256 mtdblock3(driver?)
[ 3.568000] 1f04 126976 mtdblock4(driver?)
[ 3.572000] 1f05 2048 mtdblock5(driver?)
[ 3.580000] 1f06 124672 mtdblock6(driver?)
[ 3.584000] 1f07 256 mtdblock7(driver?)
[ 3.588000] 1f08 512 mtdblock8(driver?)
[ 3.592000] 1f09 512 mtdblock9(driver?)
[ 3.600000] 1f0a 256 mtdblock10(driver?)
[ 3.604000] 1f0b 512 mtdblock11(driver?)
[ 3.608000] 1f0c 512 mtdblock12(driver?)
[ 3.612000] Kernel panic - not syncing: VFS: Unable to mount root fs on unk)
[ 3.624000] mtdoops: ready 33, 34 (no erase)
没有breed,只有 Pandorabox 的bootloader, 没办法刷不了 openwrt(不敢刷), 就刷了LZ 这个固件。确实有 81M可用空间
但是,系统一直出
[ 94.536000] 2.4GHz AP AUTH - receive DE-AUTH(seq-2346) from dc:d8:7c:39:a4:ea, reason=3
[ 96.264000] MtAsicACQueue: Write CR:21510, Value=10421
[ 96.268000] MtAsicACQueue: Write CR:21500, Value=10421
[ 96.288000] MtAsicACQueue: Write CR:21510, Value=10421
[ 96.292000] MtAsicACQueue: Write CR:21500, Value=10421
[ 96.296000] ASSOC - Assign AID=7 to 2.4GHz STA dc:d8:7c:39:a4:ea
[ 96.304000] ASSOC - HT support STA. Update AP OperaionMode=3, fAnyStationIsLegacy=0, fAnyStation20Only=1, fAnyStationNonGF=1
[ 96.436000] WLAN:STA dc:d8:7c:39:a4:ea(dev:ra0 rate:65Mbps RSSI:-48dBm) associated
[ 96.444000] AP SETKEYS DONE - WPA2, AuthMode(7)=WPA2PSK, WepStatus(6)=AES, GroupWepStatus(6)=AES
[ 96.444000]
[ 96.992000] BA - Send ADDBA request. StartSeq = 1,FrameLen = 33. BufSize = 21
[ 98.312000] Rcv Wcid(7) AddBAReq
[ 98.312000] Start Seq = 00000005
[ 98.320000] BA - Send ADDBA request. StartSeq = 2,FrameLen = 33. BufSize = 21
BA - Send ADDBA request. StartSeq = 5,FrameLen = 33. BufSize = 21
BA - Send ADDBA request. StartSeq = a,FrameLen = 33. BufSize = 21
BA - Send ADDBA request. StartSeq = 1c,FrameLen = 33. BufSize = 21
Filesystem Size Used Available Use% Mounted on
rootfs 96.0M 76.0K 91.2M 0% /
/dev/root 9.3M 9.3M 0 100% /rom
tmpfs 124.1M 1.5M 122.5M 1% /tmp
/dev/ubi0_1 96.0M 76.0K 91.2M 0% /overlay
overlayfs:/overlay 96.0M 76.0K 91.2M 0% /
tmpfs 512.0K 0 512.0K 0% /dev
终于成功 重点是kernel要放在最原始那个固件 ,ubi i从来没有mount过 如果mount过肯定会卡死在中间 没人看?自己顶上去😭😭😭 这么好的固件当然要顶了! 帮楼主顶上去!:victory: liyixx 发表于 2020-2-22 09:52
这么好的固件当然要顶了!
已经分享了 jswxjj 发表于 2020-2-22 10:15
帮楼主顶上去!
好了,分享出来了 这么好的固件当然要顶了 有时间再刷,先收藏
谢谢楼主分享!! 顶一下,我也有这个机器,目前还是原版固件没动,等等准备加个spi,搞个双启。;P 支持楼主解决大问题。 altair1003 发表于 2020-2-24 12:30
顶一下,我也有这个机器,目前还是原版固件没动,等等准备加个spi,搞个双启。
我这个固件是128m分区表,但我。自己机器分区表用的是256m,,刷了之后可用空间195m,这个版本没有上传。 有能力的可以自己改哟,我估计潘多拉,openwrt应该都可以用这种方法修改。我也改了双启动,不过潘多拉19.02已经很不错了,支持cifsd,ufsd以及nfs优化版,实测sata下读取nfs可达111m/s,samba可达56m/s,由于cifsd还不会用,不知道具体性能,不过lintel大佬说cifsd可以让ipq40xx的极路由x的samba跑到111m/s 好期待。。。 有没有128的发一个
liceven 发表于 2020-2-24 23:58
有没有128的发一个
这个就是128的,我还有256的 但是这机器用不了, 可用81m已经是极限了,再高我也没办法了。 毕竟ubifs文件系统占用了几十兆..... liceven 发表于 2020-2-24 23:58
有没有128的发一个
ubi分区79c0000,转换成容量就是121.75mb
但是我们要除掉固件rootfs占用的空间 一般是18m剩下103m ,这103m会被格式化成为ubifs文件系统,最终能给用户用的只有81m了,,想要更多就没办法了,你只能用优盘扩展容量了。