linux内核修改(1)

1.从已经打好补丁的机器上下载linux-2.6.28内核,与linux-3.4.35内核对照,做相应的修改。之前修改补丁之后编译内核一直未通过是因为没有修改3,原因在于我一开始source insight建立的工程只有内核下的net\,我天真的以为只需要修改net下的代码就够了。后来把整个内核代码都塞进去了后才看到还有另外一处调用的地方。修改内核最大的问题是修改之后每次编译都要20分钟左右,然后错误提示信息不够详细。


2.Sysctl_net_ipv4.c(net\ipv4)定义了新的结构后,需要对成员data进行定义和声明

   {

//.ctl_name = NET_TCP_RTO_MIN,

.procname = "tcp_rto_min",

.data = &sysctl_tcp_rto_min,

.maxlen = sizeof(int),

.mode = 0644,

.proc_handler = proc_dointvec

},


3.Tcp.h(include\net)   extern int sysctl_tcp_rto_min;


4.Tcp_input.c(net\ipv4)  int sysctl_tcp_rto_min __read_mostly = TCP_RTO_MIN;

                     EXPORT_SYMBOL(sysctl_tcp_rto_min);


5.sysctl.h(include\linux)  NET_TCP_RTO_MIN=126, 这个不是必要的,因为3.4.35static struct ctl_table ipv4_table[]{}中定义成员结构的时候都没有.ctl_name


注:proc_handle:指针,指向对data成员实际进行读取和写入操作的一个函数;它在通过/proc文件系统读写数据时被使用。以这种方法,任何类型的数据都可以通过data来进行指向,而且proc_handler函数会正确的处理对它的工作。data:一个指向与此表项关联的数据的指针。它通常指向一个int或者一个char

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值