LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - News
User Name
Password
Linux - News This forum is for original Linux News. If you'd like to write content for LQ, feel free to contact us.
All threads in the forum need to be approved before they will appear.

Notices


Reply
  Search this Thread
Old 07-15-2015, 04:36 PM   #1
jeremy
root
 
Registered: Jun 2000
Distribution: Debian, Red Hat, Slackware, Fedora, Ubuntu
Posts: 13,600

Rep: Reputation: 4083Reputation: 4083Reputation: 4083Reputation: 4083Reputation: 4083Reputation: 4083Reputation: 4083Reputation: 4083Reputation: 4083Reputation: 4083Reputation: 4083
Getting into Linux Kernel Development


Quote:
I don't know about you, but I've always found the idea of operating system kernels to be some mysterious and esoteric programming skill. Its importance cannot be overstated of course, but I've always felt that kernel programming and regular programming were two very separate skills.

I've recently had some patches merged into the Linux kernel, and thought it might be interesting to describe what I learnt from this brief dip into kernel development and how someone who is new to it might go about getting into this space.

A Bit of Backstory

Over the past year or so, I've been fascinated in reading kernel code. It all went over my head, of course, but I thought it was interesting seeing how the syscalls we used every day were implemented. I'd been pining for a good enough excuse to dip my toe into this weird and wonderful world of which I knew nothing about.

As luck would have it, I stumbled upon a feature request in libcontainer (now part of runC, and so the bug report has been deleted), and thought to myself "well, it's now or never". The bug report stated that "it would be nice if we could limit the number of PIDs in a cgroup", and I thought it would be a fairly easy project to do. "I'm quite a dab hand at C, how hard could it be?". The bug report linked to an old patchset (circa 2011) which would obviously need quite a bit of work to be brought up to date with the current state of the kernel. It turned out that it needed a complete rewrite, because of how much the internal APIs had changed in that time (and the fact that some of the hooks it depended on were removed because they were incredibly racy).

So, with all that in mind, I was ready to start writing a new version of the same patchset.

Advice for Getting Started

The easiest way to get started (from what I've heard) is to find a driver that doesn't work properly or look for some easy-looking bug report. I wouldn't recommend going about getting into the Linux kernel the way I did, I was thrown quite quickly into the deep end with no documentation in sight.

It's also a good idea to find someone on IRC (##kernel on freenode), or just email maintainers to ask them about what the problem you want to solve is (or even ask them if they have any bugs that you might be able to fix) and how to go about solving it. Maintainers are people too, so don't spam them if they don't reply within 15 minutes of your first email.
More at cyphar...

--jeremy
 
Old 08-04-2015, 04:43 PM   #2
gnpaddy
LQ Newbie
 
Registered: Jun 2010
Posts: 2

Rep: Reputation: 0
Wow Thanks for the information..
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
LXer: Linux Kernel 3.15 development the kernel column LXer Syndicated Linux News 0 05-11-2014 03:10 PM
LXer: The Kernel Column – The development of Linux Kernel 3.9 LXer Syndicated Linux News 0 06-24-2013 09:20 AM
LXer: Kernel Log: An analysis of Linux kernel development LXer Syndicated Linux News 0 12-06-2010 08:20 AM
Linux kernel development sumanch Linux - Newbie 3 03-15-2010 04:02 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - News

All times are GMT -5. The time now is 07:05 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration