Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4858
  • 博文数量: 6
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 65
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-10 13:03
文章分类
文章存档

2011年(1)

2009年(5)

我的朋友
最近访客

分类: LINUX

2009-11-12 01:11:10

上完矩阵论,哎,好多概念,烦死人。
 
回来后决定重新编译下内核,因为最近正在做一个虚拟网卡的课程设计,所以需要涉及到内核方面的一些东西,于是决定重新编译下内核,只要做过一次,基本就不难,步骤就4步。
 
1.解压
2.make和make install,生成的内核会自动复制到boot目录下
3. 制作initrd.img,并且放到boot目录下去
4.配置grub,基本上和原来系统的配置一致,主要就是修改下新的bzImage和initrd.img ,root 的值可以通过blkid查看。
 
编译,重启就成功了。
 
令人头疼的是我在实现一个虚拟网卡的过程中,查看的很多资料都是基于2.4内核的,直接编译都没有通过,不得不去查找,API的修改,我参考了LDD3中的很多东西,但是发觉结构还是不正确,结果查找才发现LDD3针对的虽然是2.6但是版本较早,后来2.6的API发生了很多变化,例如net_device在2.6中有hard_header和hard_rebuild函数,但是在后续版本中都集成成为一个header_ops,查找了半天才发现这个问题。
 
在开发的过程中,只能说是参考LDD但是很多2.6的变化都得查询官方的API,希望大家能够少走一些弯路。
 
基本上感觉这周内肯定可以实现一个简单的虚拟网卡,逐步也会将整个过程写写,我其实也是才接触linux驱动方面的新手。
 
 
晚上看到了一篇关于写ip五元组的hash函数设计的问题,想到最近在做网络流方面的时候也使用了5元组唯一标示一个网络会话,设计的hash函数就很简单,开始通过端口号加移位运算与或运算完成,然后映射到一个hash list中,然后遇到冲突,再充分比较5元组,但是具体效率如何,如何设计一个好的关于网络5元组的hash函数是值得思考的问题。不过我还没想。
阅读(307) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~