找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 11323|回复: 26

32M内存太小,跑不起Lintel大的HG255D HWNAT PandoraBox固件

[复制链接]
发表于 2016-2-22 01:13 | 显示全部楼层 |阅读模式
如题,手里有个32MB RAM的HG255D,刷了lintel大的这个固件:
https://www.right.com.cn/forum/thread-169216-1-1.html
但是32MB的内存实在是太小了。

刷完后,还是能启动的,但是没有挂载rootfs_data分区,导致配置无法保存,这是最严重的问题。
我觉得,应该是开机时加载的过多内核模块耗尽了内存导致的。这个固件开机时加载了太多内核模块,比如并不是所有人都会用上视频监控,但v4l之类的东西还是都加载上了……
神奇的是,即使内存被耗尽,仍然可以正常启动无线,只是有线网口全挂了,大概是swconfig什么的失败了吧。
然后,无论是telnet还是LuCI界面都是非常卡的。
LZ现在正在通过telnet艰难地用rmmod卸掉用不着的内核模块。我觉得修改squashfs也许是更彻底的办法?但是我不知道应该怎么做,也许可以全盘用tar打包,然后重新压缩成squashfs?
发表于 2016-2-23 14:24 | 显示全部楼层
最近也在折腾
回复 支持 反对

使用道具 举报

发表于 2016-2-23 15:06 | 显示全部楼层
要完全符合自己需求,只有自己编译了,去掉一切自己不需要的模块。

点评

PandoraBox是开源的么? OpenWrt官方不支持硬件NAT,开发者觉得搞了这个的话,iptables都失效了,而且会把网络栈搞乱什么的……反正不愿意支持。  详情 回复 发表于 2016-3-3 13:37
回复 支持 反对

使用道具 举报

发表于 2016-2-27 11:14 | 显示全部楼层
我也只有32M内存,看来是刷不了这系统了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-3 13:37 | 显示全部楼层
eeff11 发表于 2016-2-23 15:06
要完全符合自己需求,只有自己编译了,去掉一切自己不需要的模块。

PandoraBox是开源的么?
OpenWrt官方不支持硬件NAT,开发者觉得搞了这个的话,iptables都失效了,而且会把网络栈搞乱什么的……反正不愿意支持。
回复 支持 反对

使用道具 举报

发表于 2016-3-3 14:11 | 显示全部楼层
我也是32M内存的HG255D,刷了明月的openwrt-mingyue-20160201-14.07-ramips-rt305x-hg255d-squashfs-sysupgrade.bin固件,重启配置就丢失,看来是内存太小的缘故了?

点评

如果你看一下/proc/mounts,会发现rootfs_data分区(好像是/dev/mtd4)压根没挂载上,所有更改都跑到tmpfs上面去了,所以重启就复原了。  详情 回复 发表于 2016-3-3 22:10
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-3 22:10 | 显示全部楼层
本帖最后由 tpwrt 于 2016-3-10 18:12 编辑
suzhen888 发表于 2016-3-3 14:11
我也是32M内存的HG255D,刷了明月的openwrt-mingyue-20160201-14.07-ramips-rt305x-hg255d-squashfs-sysupg ...

如果你看一下/proc/mounts,会发现rootfs_data分区(好像是/dev/mtdblock4——更正,记错了,是/dev/mtdblock7)压根没挂载上,所有更改都跑到tmpfs上面去了,所以重启就复原了。
回复 支持 反对

使用道具 举报

发表于 2016-3-3 22:56 | 显示全部楼层
看一下/proc/mounts

点评

当时看过了,没挂上mtdblock。 后来我手动挂载上,再用opkg删掉一些kmod,似乎就正常一些了,但进LuCI还是有点卡。  详情 回复 发表于 2016-3-4 21:53
回复 支持 反对

使用道具 举报

发表于 2016-3-4 11:30 | 显示全部楼层
这个固件硬改是1104?必须上64M内存!成功之后你会发现世界如此强大!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-4 21:53 | 显示全部楼层
abc66166 发表于 2016-3-3 22:56
看一下/proc/mounts

当时看过了,没挂上mtdblock。
后来我手动挂载上,再用opkg删掉一些kmod,似乎就正常一些了,但进LuCI还是有点卡。
回复 支持 反对

使用道具 举报

发表于 2016-3-10 10:54 | 显示全部楼层
楼主,能不能出一个详细点的教程,怎么去挂载,怎么去rmmod,详细说说,最近也考虑精简一下。

点评

一开始是重启几次,碰到/overlay正常挂载上了(不是tmpfs了),就用opkg卸掉一些用不着的kmod开头的包 我现在搞了一个脚本,开机自动卸掉占用数为0的内核模块(pppoe除外):  详情 回复 发表于 2016-3-10 18:06
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-10 18:06 | 显示全部楼层
本帖最后由 tpwrt 于 2016-3-10 18:10 编辑
jzpopo 发表于 2016-3-10 10:54
楼主,能不能出一个详细点的教程,怎么去挂载,怎么去rmmod,详细说说,最近也考虑精简一下。

一开始是重启几次,碰到/overlay正常挂载上了(不是tmpfs了),就用opkg卸掉一些用不着的kmod开头的包
我现在搞了一个脚本。加到/etc/rc.local里面,开机自动卸掉占用数为0的内核模块(pppoe除外):
  1. #!/bin/sh
  2. unload_kmods() {
  3.   if lsmod | grep -v "^pppoe" | grep -q \ 0\ $ ; then
  4.     lsmod | grep -v "^pppoe" | grep \ 0\ $ | while read line;do
  5.       kmod_name=$(echo "${line}"|awk '{print $1}')
  6.       echo -ne "Unloading ${kmod_name}..." >&2
  7.       rmmod ${kmod_name}
  8.       echo " unloaded." >&2
  9.     done
  10.     return 0
  11.   else
  12.     echo "Nothing to unload now." >&2
  13.     return 1
  14.   fi
  15. }
  16. unload_all() {
  17.   sleep 10
  18.   while unload_kmods; do echo -ne "" >&2;done
  19. }
  20. fork() {
  21.   unload_all &
  22. }
  23. fork & exit 0
复制代码



当然,卸掉了什么,就有什么功能用不了了,除非modprobe再加载回去。

点评

小白问一下,怎么挂载/dev/mtdblock7呢?  详情 回复 发表于 2016-4-7 09:57
回复 支持 反对

使用道具 举报

发表于 2016-3-11 08:04 | 显示全部楼层
谢谢,我研究一下。
回复 支持 反对

使用道具 举报

发表于 2016-3-21 15:38 来自手机 | 显示全部楼层
自己找条老内存换颗粒还不简单
回复 支持 反对

使用道具 举报

发表于 2016-4-7 09:57 | 显示全部楼层
tpwrt 发表于 2016-3-10 18:06
一开始是重启几次,碰到/overlay正常挂载上了(不是tmpfs了),就用opkg卸掉一些用不着的kmod开头的包
...

小白问一下,怎么挂载/dev/mtdblock7呢?

点评

重启几次……RP好的时候会挂载上 还可以试试mount_root命令  详情 回复 发表于 2016-4-11 00:30
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-6-8 07:36

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表