guo4qing 发表于 2020-2-20 20:33

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


r32190 发表于 2020-5-29 21:04

插了串口 发觉没有停下来 不过停在另外一个地方.

[    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)

zhijianli88 发表于 2021-11-15 17:14

没有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


r32190 发表于 2020-5-30 14:43

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过肯定会卡死在中间

guo4qing 发表于 2020-2-21 19:28

没人看?自己顶上去😭😭😭

liyixx 发表于 2020-2-22 09:52

这么好的固件当然要顶了!

jswxjj 发表于 2020-2-22 10:15

帮楼主顶上去!:victory:

guo4qing 发表于 2020-2-22 18:01

liyixx 发表于 2020-2-22 09:52
这么好的固件当然要顶了!

已经分享了

guo4qing 发表于 2020-2-22 18:01

jswxjj 发表于 2020-2-22 10:15
帮楼主顶上去!

好了,分享出来了

roylic 发表于 2020-2-22 20:40

这么好的固件当然要顶了

玖唔搭捌 发表于 2020-2-23 17:12

有时间再刷,先收藏

jswxjj 发表于 2020-2-23 18:42

谢谢楼主分享!!

altair1003 发表于 2020-2-24 12:30

顶一下,我也有这个机器,目前还是原版固件没动,等等准备加个spi,搞个双启。;P   

aa1354035l 发表于 2020-2-24 12:46

支持楼主解决大问题。

guo4qing 发表于 2020-2-24 18:11

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 好期待。。。

liceven 发表于 2020-2-24 23:58

有没有128的发一个

guo4qing 发表于 2020-2-25 00:42

liceven 发表于 2020-2-24 23:58
有没有128的发一个

这个就是128的,我还有256的 但是这机器用不了,   可用81m已经是极限了,再高我也没办法了。 毕竟ubifs文件系统占用了几十兆.....

guo4qing 发表于 2020-2-25 00:47

liceven 发表于 2020-2-24 23:58
有没有128的发一个

ubi分区79c0000,转换成容量就是121.75mb
但是我们要除掉固件rootfs占用的空间 一般是18m剩下103m ,这103m会被格式化成为ubifs文件系统,最终能给用户用的只有81m了,,想要更多就没办法了,你只能用优盘扩展容量了。
页: [1] 2 3 4 5 6 7
查看完整版本: HC5962.B70极路由4可用空间81M固件潘多拉19.02_附带免重新编译自定义调整分区教程