Skyeye 支持多网卡吗?
刚开始玩 skyeye ,蛮好玩的。就是不知道怎么在一个虚拟机里配多块网卡,老大们能给指条路吗?不行的话俺就撸袖子改 code 了。 没人理我我自己 update 一下,看 code 是支持的,在 conf 里配了两块卡用 gdb 跟也看见建设备了。这样的话下面就得找 embedded Linux 里面检查设备那段了。学艺不精,惭愧啊。看 code 里好像 -e load 进来的 linux 根本没机会设参数啊,如果我想带 eth= 的参数进去应该怎么做? 应该有友好些的办法吧,不会让咱 hard code 吧。 应该要加相应网卡的驱动程序,在进入用户界面,再用ifconfig 手动设置eth0 和eth1 ifconfig 都不知道就不来这儿混了
俺现在的问题是, kernel 的 eth 参数应该怎么设,怎么带进去 我都没有试验过双网卡的情况。可能会有问题。 俺勤劳勇敢滴 update 一下:看来只能在 config kernel 时设了。 这 code 也忒 hard 了:
struct net_device sene2k_netdevs = {
init: sene2k_init,
};
等两天,俺改了它。 经过几天的搏斗,终于搞定了,做了以下修改:
* kernel paramter patch, 俺自己把 memory bank tag 给 disable 了。
* net_dev_cs8900a.c 。其中的 write register 有问题,俺改了,但不知道改得对不对,至少我遇到的问题是解决了。eeprom 算 checksum 也有问题,和 linux driver 对不上,俺也不知道哪个是对的,都改了点,也能工作了。
* cirrus.c . 改成从 Space.c probe 的,ifmap 也改了点,可以传 dword 的 io base 了。读 eeprom 那儿和 net_dev_cs8900.c 一起改了点。
现在可以在 conf 里配多块网卡并用 kernel command line 带参数进 kernel 了。不过暂时只有 cs8900a 的,而且不知道我改的东西和真实的硬件能否对应。我把 patch 整理出来以后会发出来给大家玩玩的。
显然俺是要模拟低端的网络设备,如果顺利希望 Skyeye 能成为俺们新的虚拟开发平台。
页:
[1]