一。h608b-v2的启动过程:
bootload加载
|
V
加载linux核心,核心初始化
|
V
调用/etc/init.d/rcS,
加载/var工作目录(ram中,可读写)
加载/usr/local/ct目录(flash,可读写)
|
---------------------------------------调用/usr/local/ct/rc1
|
-----------------------------------------
|
继续执行rcS,完成各个工作进程的启动
|
V
进入正常工作状态。
二。上面过程的左半部分都是在只读目录中,不刷新固件则不可改变。
但右面的rc1却是在读写目录,可以更改,并且是flash存储器,更改可以保存。
三。如此,/usr/local/ct/rc1就是在不更新固件的条件下改变系统工作的入口。
只需改写rc1的内容,那么,可以做那些事呢?
1)开通ftp服务,让usb口成为网络共享设备:
执行命令 vsftpd &
2) 修改web管理界面:
只要提供新的html.mz文件
3)打开telnet和ssh端口(如果要提供共享的话,还是用时打开,不用则关闭好):
执行 iptables -D INPUT -j DROP -p tcp --distination-port 23
iptables -D INPUT -j DROP -p tcp --distination-port 22
4)......继续想和做
四。h608b出厂时默认关闭了ftp,telnet,ssh,tftp所有本地连接端口,所以第一次必须
用数据线来改写rc1。但每次都用数据线又很麻烦,所以我用数据线写入两个文件:
rc1和rc.diy 。以后通过这两个文件与优盘配合完成有关更新工作。
其中,rcB.diy是在原系统进程之前完成,可以影响原有进程的工作,比如使用新的
web页面;rcA.diy在原有进程正常运行后执行,做新增内容。
具体步骤如下:
1)用数据线把rc1和rc.diy复制到/usr/local/ct目录
2)把上两文件属性设成可执行。
3)在优盘上建一目录E8_h608b
4) 把rcA.diy和rcB.diy和html.mz(若要改变web页的话)栲到E8_h608b目录。
5)把优盘作为第二个共享盘(不是第二个USB口,先插一个作usb1_1,然后插入本盘,
成为usb2_1).
6) 重启,有关文件自动读进并执行。
7) 启动时如插入/var/usb/usb2_1/rc.exec则telnet和ssh打开。
五。根据不同的目的,可以改写rcA.diy和rcB.diy和rc.exec只要记住:rcB.diy是pre init
而rcA.diy是after init而rc.exec是立即执行(在rcA.diy之后)。
六。几个附件:
1)rc.tar包含几个脚本文件
2)hyml.mz.2.gz是一个修改过的web页。
hotqj:最新的打包在14楼
3)是2)的一个截图。
4)html.tar是管理页面的源码,有兴趣的可以研究,修改和扩充。
[ 本帖最后由 hotqj 于 2008-9-29 09:39 编辑 ] |