免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4886 | 回复: 12
打印 上一主题 下一主题

[实践] 关于如何参与kernel开发 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-05-01 17:41 |只看该作者 |倒序浏览
本帖最后由 remaper 于 2013-05-02 22:21 编辑

各位前辈

弱弱的问几个问题,看了一下 如何成为一名linux内核开发者 这份文档
  2.6.x -git 补丁
  这些是在git仓库里管理的Linus内核树的每日快照。这些补丁每天发布一次,代表Linus树的当前状态。它们比-rc内核更具实验性质,因为它们是自动生成的,以至没有人曾经瞟上一眼来检查它们是否处于健全状态。
这个“每日快照”在哪里?还有,
  2.6.x -mm 内核补丁
这个mm-tree是在哪里的?找不到,目前我能理解的是mainline,和rc系列,以及next。但是却没法理解这些repo和我们参与kern开发流程的关系在哪里?细致的关系
我确认一下我所理解的内核开发的流程:
1、patch发送到maillist里
2、似乎patch在maillist里会被自动收集,然后。。。一系列不清楚。


我参与过的其他的开源项目,通常这个流程是这样的:
1、fork一个repo到自己的帐号
2、建立branch,将所有修改commit到自己的repo上
3、创建pr,到原repo的某个branch,比如,通常可能会是develop
4、假设修改没有问题,和已被认可,由维护人员合并到develop


但kern的开发流程,似乎不是这样的,求指点,很郁闷。


=========================================
流程大概清晰了,这里有一份不错的资料:
http://blog.pipul.org/2013/05/ho ... n-the-linux-kernel/

论坛徽章:
4
酉鸡
日期:2014-03-21 23:19:50狮子座
日期:2014-08-01 22:11:40酉鸡
日期:2015-01-10 21:31:442015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2013-05-01 20:04 |只看该作者
我离此步还远~~~

论坛徽章:
0
3 [报告]
发表于 2013-05-01 23:29 |只看该作者
个人开发者要想把代码加入到由里纳斯的主线内核几乎是没这个机会的!有的开发者开发了3-5年估计都不能进入到内核主线中,但你可以尝试着把自己写的代码加入到厂商分支或者内核次级分支中,如果通过内核维护人的认可就可以合并了。我倒是有过这个经历,我们公司和ti有过合作,然后把高通的一款最新的display和touch的driver(这个是ti支持的驱动,属于厂商分支,如果可能厂商会提交给里纳斯他们这些大牛逼的执法官的)写出来提交给了内核的ti的linux分支的,这个至于直接提交给里纳斯啊   我连梦都没做过!太难!他神龙见首不见尾的。至于我们的流程就是你说的这些,没什么特别的啊!你想向谁提交就去他们的tree上git啊!

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:53:17
4 [报告]
发表于 2013-05-02 10:32 |只看该作者
uliux 发表于 2013-05-01 23:29
个人开发者要想把代码加入到由里纳斯的主线内核几乎是没这个机会的!有的开发者开发了3-5年估计都不能进入到 ...


谁说没机会, 你只要够精明, 就可以把冰卖给爱斯基摩人。

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
5 [报告]
发表于 2013-05-02 10:59 |只看该作者
本帖最后由 Godbach 于 2013-05-02 11:00 编辑

回复 4# 帅绝人寰

還可以把史書賣給搞 IT 的

這個類比不太恰當,哈哈
   

论坛徽章:
2
CU十二周年纪念徽章
日期:2013-10-24 15:41:34处女座
日期:2013-12-27 22:22:41
6 [报告]
发表于 2013-05-05 14:45 |只看该作者
本帖最后由 tempname2 于 2013-05-05 14:57 编辑
uliux 发表于 2013-05-01 23:29
个人开发者要想把代码加入到由里纳斯的主线内核几乎是没这个机会的!有的开发者开发了3-5年估计都不能进入到 ...


你为什么会认为被Linus直接合进去的patch才算进主线?从maintainer的树里进主线没那么难(3-5年),问题是你有没有好patch。

流程上,Linus不接受个人patch,总可以找到比Linus更适合提交patch的maintainer。有些maintainer好讲话,比如Andrew Morton、Greg,稍微make sense的cleanup都会跟你收进去,更不谈bug fix了;也有像Al Viro这种脾气不好的maintainer,小bug fix他都不鸟你。

Linus也有可能直接merge一些紧急、核心代码的bug fix,不过这是少数情况。

论坛徽章:
2
CU十二周年纪念徽章
日期:2013-10-24 15:41:34处女座
日期:2013-12-27 22:22:41
7 [报告]
发表于 2013-05-05 15:09 |只看该作者
回复 1# remaper


如果是针对某一子系统的开发,可能要在maintainer的树上而非Linus的树上做修改。

步骤摘要:

新建branch,修改代码,commit,编译运行测试,git format-patch,scripts/checkpatch,scripts/get_maintainer,git send-email

patch至少要编译通过啊,如果patch发出去被人抓到编译通不过是很惨的。。。

代码要是没问题maintainer会把patch合到自己的树,有些maintainer会手工回复告知,有些maintainer用脚本发送自动通知,有些maintainer屁也不放一个。

论坛徽章:
7
丑牛
日期:2013-10-18 14:43:21技术图书徽章
日期:2013-11-03 09:58:03辰龙
日期:2014-01-15 22:57:50午马
日期:2014-09-15 07:04:39丑牛
日期:2014-10-16 14:25:222015年亚洲杯之伊朗
日期:2015-03-16 10:24:352015亚冠之城南
日期:2015-05-31 09:52:32
8 [报告]
发表于 2013-05-05 17:11 |只看该作者
回复 7# tempname2


    这些人一天到晚搞程序就没搞出神经功能紊乱?

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
9 [报告]
发表于 2013-05-06 08:59 |只看该作者
回复 6# tempname2
话说netdev的maintainer david脾气就不太好

   

论坛徽章:
13
巨蟹座
日期:2013-10-30 18:29:4115-16赛季CBA联赛之青岛
日期:2019-01-04 17:30:1015-16赛季CBA联赛之天津
日期:2016-03-08 10:30:1715-16赛季CBA联赛之天津
日期:2015-12-10 15:56:452015年亚洲杯之约旦
日期:2015-03-09 16:29:36双鱼座
日期:2014-11-27 17:17:20寅虎
日期:2014-11-18 13:55:12双子座
日期:2014-03-31 15:41:32狮子座
日期:2014-03-14 11:23:24狮子座
日期:2014-02-19 16:30:12午马
日期:2013-11-04 23:22:31卯兔
日期:2013-10-30 19:51:15
10 [报告]
发表于 2013-05-06 10:37 |只看该作者
像刚刚学linux内核的时候  是不是要学会打补丁啊   多打点补丁?  kernel里的算法大牛们你们是怎么学的? kernel的算法需要一些什么样的基础(数学功底)? 还请大牛指点一二。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP