学习向Linux内核贡献代码,接受Eudyptula挑战

简介:

如果你想为Linux内核贡献代码、但不确定从哪里开始,Eudyptula挑战会是检验你编程技能和学习如何参与内核社区的一种伟大的方法。

该挑战大约一个月前出现在线上http://eudyptula-challenge.org/,由一个匿名黑客(或黑客们)创办,以Little Penguin(小企鹅)【注1】命名,为了让更多开发者参与到Linux内核。它是模仿Matasano Crypto Challenge建立的——集中48小时的练习,培训参与者密码系统如何建立以及如何被攻击。而Eudyptula挑战不是一个教程,小企鹅说,但是通过完成该挑战你就可以较好地了解整个内核贡献过程的运转情况。

挑战参与者通过给Little发送电子邮件来报名,他会给参与者发送一系列由Linux内核开发者派发的编程任务。参与者一次收到一个任务,且必须在小企鹅发送下一个任务之前完成。该挑战没有获胜者,不过那些成功完成挑战的、所有20个任务的参与者就会成为Linux内核贡献者。

我们最近通过与小企鹅的邮件沟通对该挑战有了更多的了解。你能够在http://eudyptula-challenge.org/给小企鹅发送一封(非HTML)邮件来报名。

Eudyptula挑战是什么?

Eudyptula挑战是面向Linux内核的一系列的编程练习。这些练习从一个非常简单的“Hello World”内核模块开始,逐步增加复杂程度。

你为什么发明了这个挑战?

有一次喝了一整夜的酒,冒出了一个想法。如果Linux内核要生存的话,它需要新的程序员来修复一整夜的豪饮后、所新增加的所有bug。

什么时候开始,持续多长时间?

你可以在任何时候开始。只需根据网站上关于如何加入的操作说明,你的任务就会发送过来。目前有20个不同的任务要完成。如果你全部完成了,一组新的任务眼下正为了满足已经完成挑战的人,他们要求的也越多。

每一步都是通过电子邮件吗?没有一个可用的web表单?

是的,内核开发都是通过电子邮件运作的,因此安装一个邮件客户端来正确地发送Linux内核补丁是所有内核开发者需要学习的技能。还有,提交补丁、代码以及通过电子邮件对review做出响应的来来回回的过程,就真真切切地发生在所有内核开发者身上。这个挑战尽可能接近地复制Linux内核开发体验。

谁应当参加挑战?

对与Linux内核相关的、一组不同任务的编程感兴趣的每一个人。

在我参与之前我需要掌握什么?

为了参与,你需要对C有深入的了解。这个挑战不是一个教程,没有如何完成任务的提示,也没有去哪里找到更多信息的指南,它需要你自己的大量投入。

如果我完全是Linux内核开发新手,该挑战将教会我如何贡献吗?

是的,大量任务是关于获取 应用到Linux内核树本身的 补丁。挑战结束后,你将具备如何向内核贡献代码的技能和理解。

有获胜者吗?我如何才能完成?

没有“获胜者”,因为没有定时突然出现的一堆任务。很多人已经完成了当前的任务组,新人正在每天报名参加。

据说Linux基金会可能为每一个完成挑战的人准备了一个“奖品”。只有你不得不完成挑战才能自己发现奖品是什么。

完成该挑战 意味着 我有资格成为一名内核维护人员吗?

你将有资格指出你喜爱的维护人员引起的、与内核开发相关的任何问题。那通常比作为一名内核子系统维护人员要有趣得多。

这会让我的简历更有竞争力吗?它有助于找工作?

它不会伤害你的简历,但是我怀疑有人知道这是什么。为了找工作,外面有很多Linux内核开发者的工作,如果你完成了所有这些任务,没有理由你不能轻松找到一个全职工作。

为什么你认为已经看到了该挑战的强烈反响?我们听说你已经有2,000个参与者了。

这个挑战产生了大量反响,远远超出了我的想象。目前有超过2,400个人在参与挑战,每天还有更多的报名。

很多时候,人们只是在涉及内核编程时,他们不知道想做什么。这种类型的任务强迫他们在内核源代码树里的大量不同地方探索。没有一个特定的任务,大多数人不会去研究内核的这些区域是如何运行的。

我还听说一个大学编程小组组织了一个黑客节日,他们的会员在周末要接受挑战,这是怎么回事?

该挑战仍然以个体为基础,因此大学小组忙着他们自己的任务。他们有一个10人小组,在同样的地点工作。没有开发者能够在一个周末完成所有的任务,但是看起来他们在试图这样做时度过了一段快乐时光。 

文章转载自 开源中国社区 [http://www.oschina.net]

目录
相关文章
|
2月前
|
监控 Linux 开发者
理解Linux操作系统内核中物理设备驱动(phy driver)的功能。
综合来看,物理设备驱动在Linux系统中的作用是至关重要的,它通过与硬件设备的紧密配合,为上层应用提供稳定可靠的通信基础设施。开发一款优秀的物理设备驱动需要开发者具备深厚的硬件知识、熟练的编程技能以及对Linux内核架构的深入理解,以确保驱动程序能在不同的硬件平台和网络条件下都能提供最优的性能。
119 0
|
5月前
|
并行计算 Linux
Linux内核中的线程和进程实现详解
了解进程和线程如何工作,可以帮助我们更好地编写程序,充分利用多核CPU,实现并行计算,提高系统的响应速度和计算效能。记住,适当平衡进程和线程的使用,既要拥有独立空间的'兄弟',也需要在'家庭'中分享和并行的成员。对于这个世界,现在,你应该有一个全新的认识。
231 67
|
3月前
|
存储 负载均衡 算法
Linux2.6内核进程调度队列
本篇文章是Linux进程系列中的最后一篇文章,本来是想放在上一篇文章的结尾的,但是想了想还是单独写一篇文章吧,虽然说这部分内容是比较难的,所有一般来说是简单的提及带过的,但是为了让大家对进程有更深的理解与认识,还是看了一些别人的文章,然后学习了学习,然后对此做了总结,尽可能详细的介绍明白。最后推荐一篇文章Linux的进程优先级 NI 和 PR - 简书。
100 0
|
5月前
|
存储 Linux
Linux内核中的current机制解析
总的来说,current机制是Linux内核中进程管理的基础,它通过获取当前进程的task_struct结构的地址,可以方便地获取和修改进程的信息。这个机制在内核中的使用非常广泛,对于理解Linux内核的工作原理有着重要的意义。
211 11
|
6月前
|
存储 IDE Linux
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
本文详细介绍了在VMware虚拟机中安装CentOS 6.8的全过程。首先,需确保已安装VMware并开启V-CPU虚拟化功能,可通过BIOS设置或使用LeoMoon CPU-V工具检测。接着,下载CentOS镜像文件,并在VMware中新建虚拟机,配置CPU、内存、硬盘等参数。最后,加载ISO镜像启动虚拟机,按照提示完成CentOS的安装,包括语言、键盘、存储方式、地区、密码设置及硬盘分区等步骤。安装完成后,以root用户登录即可进入系统桌面,开始学习Linux命令和操作。
626 12
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
|
6月前
|
自然语言处理 监控 Linux
Linux 内核源码分析---proc 文件系统
`proc`文件系统是Linux内核中一个灵活而强大的工具,提供了一个与内核数据结构交互的接口。通过本文的分析,我们深入探讨了 `proc`文件系统的实现原理,包括其初始化、文件的创建与操作、动态内容生成等方面。通过对这些内容的理解,开发者可以更好地利用 `proc`文件系统来监控和调试内核,同时也为系统管理提供了便利的工具。
247 16
|
8月前
|
Ubuntu Linux 开发者
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
438 15
|
8月前
|
安全 Linux 测试技术
Intel Linux 内核测试套件-LKVS介绍 | 龙蜥大讲堂104期
《Intel Linux内核测试套件-LKVS介绍》(龙蜥大讲堂104期)主要介绍了LKVS的定义、使用方法、测试范围、典型案例及其优势。LKVS是轻量级、低耦合且高代码覆盖率的测试工具,涵盖20多个硬件和内核属性,已开源并集成到多个社区CICD系统中。课程详细讲解了如何使用LKVS进行CPU、电源管理和安全特性(如TDX、CET)的测试,并展示了其在实际应用中的价值。
193 4
|
10月前
|
负载均衡 算法 Linux
深入探索Linux内核调度器:公平与效率的平衡####
本文通过剖析Linux内核调度器的工作机制,揭示了其在多任务处理环境中如何实现时间片轮转、优先级调整及完全公平调度算法(CFS),以达到既公平又高效地分配CPU资源的目标。通过对比FIFO和RR等传统调度策略,本文展示了Linux调度器如何在复杂的计算场景下优化性能,为系统设计师和开发者提供了宝贵的设计思路。 ####
193 26
|
10月前
|
缓存 并行计算 Linux
深入解析Linux操作系统的内核优化策略
本文旨在探讨Linux操作系统内核的优化策略,包括内核参数调整、内存管理、CPU调度以及文件系统性能提升等方面。通过对这些关键领域的分析,我们可以理解如何有效地提高Linux系统的性能和稳定性,从而为用户提供更加流畅和高效的计算体验。
384 24

热门文章

最新文章