Unfortunately, I can only speak of Linux kernel hacking for myself. Currently I'm in an internship where I am working on a kernel, and I never did this before. But I was able to learn a lot of stuff in a quite short time, due to several reasons (again, I want to point out that I don't know how much of this is covered withint he BSD community):
Tutorials. The Linux Community is quite big and therefore you will find a lot of beginners information on kernel hacking. I feel like the standard to begin with was this guide. If you read it you will see, that even kernel hacking starts with hello world ;)
Linux Cross Reference. A great tool. It covers the complete Vanilla source code and shows you where each function/struct/define/whatever was defined and implemented, so no long searching for some stuff
The modular build of linux (I assume the same goes for BSD) Clearly you won't be able to look through 9 mio lines of code. But you can start easy with a little loadable kernel module and then go deeper. Maybe look at other modules first, hack them, and finally dig into the directly compiled stuff
The sheer community size. Not only kernel mailing lists, but also a huge number of forums or Q&A sites like this one where you can be sure to get help if you don't know what to do ;)
I am using and developing for Linux for many years, but am lacking any real experience with BSD to recommend either way.
You sound lacking experience for kernel hacking. Just reading kernel source might be insightful, but won't really teach you much. There is a lot going on in Linux kernel besides drivers. For example, latest 2.6.38 was focused on desktop responsiveness. DRM stack is ever changing and could use more man power. I'd suggest start easy, small fixes for beta drivers, etc.
发布评论
评论(2)
不幸的是,我只能为自己谈论 Linux 内核黑客攻击。目前我正在实习,正在研究内核,我以前从未这样做过。但由于以下几个原因,我能够在很短的时间内学到很多东西(再次,我想指出,我不知道 BSD 社区涵盖了多少内容):
只是我的 2 美分;)
Unfortunately, I can only speak of Linux kernel hacking for myself. Currently I'm in an internship where I am working on a kernel, and I never did this before. But I was able to learn a lot of stuff in a quite short time, due to several reasons (again, I want to point out that I don't know how much of this is covered withint he BSD community):
Just my 2 cents ;)
我使用 Linux 并进行开发多年,但缺乏任何使用 BSD 的实际经验来推荐这两种方式。
你听起来缺乏内核黑客的经验。仅阅读内核源代码可能会很有洞察力,但不会真正教给您很多东西。除了驱动程序之外,Linux 内核还发生了很多事情。例如,最新的 2.6.38 专注于桌面响应能力。 DRM 堆栈不断变化,可能需要更多的人力。
我建议开始对测试版驱动程序等进行简单的小修复。
I am using and developing for Linux for many years, but am lacking any real experience with BSD to recommend either way.
You sound lacking experience for kernel hacking. Just reading kernel source might be insightful, but won't really teach you much. There is a lot going on in Linux kernel besides drivers. For example, latest 2.6.38 was focused on desktop responsiveness. DRM stack is ever changing and could use more man power.
I'd suggest start easy, small fixes for beta drivers, etc.