abcdefgl 发表于 2006-7-6 19:18:35

我做的在内存上运行的嵌入式路由器

我认为用ramdisk做嵌入式路由器是好的选择。下面是我做的在内存上运行的嵌入式路由器的一些数据:
看是否在内存上运行:
/ # mount
/dev/root   on      /      type      ext2(ro)
none      on      /dev   type      devfs(rw)
proc      on      /proc    type      proc(rw,nodiratime)
运行结果显示:没有硬盘,只有内存盘.

看硬盘(其实是内存盘)占用情况:
/ # df -h
Filesystem    Size    Used   Available   Use%   Mounted   on
/dev/root   3.9M    2.6M    1.3M       67%       /
运行结果显示:内存盘大小4M,root系统文件占用2.6M.

看内存使用情况:
/ # free
      total      used      free      shared      buffers
Mem:    513664   14300   499364      0         3964
Swap:   0          0         0
Total:513664   14300   499364
运行结果显示:内存有512M,使用了14M,其中4M是系统盘,实际使用内存量:10M.

/ # ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.0 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.0 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.0 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.0 ms
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.0 ms
64 bytes from 127.0.0.1: icmp_seq=5 ttl=64 time=0.0 ms
64 bytes from 127.0.0.1: icmp_seq=6 ttl=64 time=0.0 ms
64 bytes from 127.0.0.1: icmp_seq=7 ttl=64 time=0.0 ms
64 bytes from 127.0.0.1: icmp_seq=8 ttl=64 time=0.0 ms
64 bytes from 127.0.0.1: icmp_seq=9 ttl=64 time=0.0 ms
64 bytes from 127.0.0.1: icmp_seq=10 ttl=64 time=0.0 ms

--- 127.0.0.1 ping statistics ---
11 packets transmitted, 11 packets received, 0% packet loss
round-trip min/avg/max = 0.0/0.0/0.0 ms

对比开发机:(是同一台机器,FC4操作系统)
# ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.073 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.050 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.049 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.049 ms
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.050 ms
64 bytes from 127.0.0.1: icmp_seq=5 ttl=64 time=0.051 ms
64 bytes from 127.0.0.1: icmp_seq=6 ttl=64 time=0.051 ms
64 bytes from 127.0.0.1: icmp_seq=7 ttl=64 time=0.051 ms
64 bytes from 127.0.0.1: icmp_seq=8 ttl=64 time=0.057 ms

--- 127.0.0.1 ping statistics ---
9 packets transmitted, 9 received, 0% packet loss, time 7998ms
rtt min/avg/max/mdev = 0.049/0.053/0.073/0.010 ms, pipe 2

z841123 发表于 2006-7-8 09:11:36

那你怎样保存你修改后的数据?
BFW就是运行在RAM的哦~~~有空就试一下它吧!

lzbnet 发表于 2006-7-8 12:08:56

能否写一下过程?

Hansxia 发表于 2006-7-8 14:37:12

发一贴就跑,目的何在?

hb2k 发表于 2006-7-10 21:19:54

又见太监帖

如题。

gzhr 发表于 2006-7-11 10:18:07

LZ就发了这一个贴子,倒

bpxyz 发表于 2006-7-30 18:34:32

我也在做这个哦:lol。。

不过我的体积比较大,主要是还在调试阶段 12M 。
包括dhcp,squid,web服务。

补充一下:squid 的缓冲在内存里,速度比用硬盘的快得多。
具体思路等完成后再来发表。

[ 本帖最后由 bpxyz 于 2006-7-30 18:37 编辑 ]

macafee 发表于 2006-7-30 19:45:20

一点都不希奇.....所有基于LIVECD运行的系统都是建立在RAMDISK上的!

bpxyz 发表于 2006-7-31 10:58:18

livecd多大? boot完毕后可以eject么? 你还得陪上个光驱,而且多了N多不需要的服务。

我做这个完全是个人爱好,为的是详细了解linux的启动原理、过程,也是受四川地区曾经火了一时的金飞鱼、思比特路由器的影响,他们的就是在一个16M的DOM上运行基于linux的NAT+PROXY服务的ramdisk。

webmedia 发表于 2006-12-21 08:45:59

原帖由 bpxyz 于 2006-7-31 10:58 发表
livecd多大? boot完毕后可以eject么? 你还得陪上个光驱,而且多了N多不需要的服务。

我做这个完全是个人爱好,为的是详细了解linux的启动原理、过程,也是受四川地区曾经火了一时的金飞鱼、思比特路由器的 ...


vyatta的vyatta-livecd-1.0.3.iso只有56M
可以在VMWare上运行,配置界面像Juniper的路由器

bpxyz 发表于 2007-8-19 11:06:24

vyatta 是做router的,不是用来做服务器的. 如果真的要搞个pc路由器,也许我直接使用junos.

samhui 发表于 2007-8-19 13:32:52

可惜junos不能做多线的adsl啊。惨:(

bfrader 发表于 2007-10-12 19:41:06

:lol :lol :lol :lol

hantu 发表于 2007-10-13 13:47:44

其它嵌入式的小系统,不管是从硬盘光盘软盘闪存盘启动,只要启动完成后都可以只用到内存盘了的,这一点儿都不稀奇

cracks 发表于 2007-10-13 14:01:37

路由基于内存中交换要快,不过处理还是在于处理器,对于交换区和存储区(硬盘)要求不是太高。
页: [1]
查看完整版本: 我做的在内存上运行的嵌入式路由器