Being a newbie ; -) (was Re: Introducing Myself, Looking to Learn)

Henrique Rodrigues henriquesilvar at
Tue Sep 3 21:10:45 EDT 2013

I wouldn't recommend playing with the code to ubuntu users that barely know
what a terminal is.  For "absolute beginners" and "novice enthusiasts" I
usually recommend to start by installing Gentoo following its handbook. The
Gentoo handbook is a very good learning source for beginners and it guides
you through a bit of everything. And because you have to configure most of
the system and compile (almost) everything from scratch, you start to get a
feeling of the system as a whole. This should take a few weeks for absolute
beginners. If they survive the Gentoo battle, then the dumb drivers from
LDD are good next steps, because now the hacker enthusiast have some
experience with (re-)compiling the kernel and with using the command line
to figure out how to find causes of his problems.

On Tue, Sep 3, 2013 at 5:37 PM, Arlie Stephens <arlie at> wrote:

> On Sep 03 2013, Robert P. J. Day wrote:
> >  i'm going to jump in here since i see this question annoyingly
> > frequently -- "i'm new to the kernel and i want to get involved and
> > write code; how do i start?"  to be blunt, if that's your starting
> > point, you're not ready to write code for the kernel. period.
> It seems to me there are a lot of reasons to ask this question, and
> it's not a great idea for the kernel (in the long run) to discourage
> newbies to the extent that "new blood" never comes in.
> >  as vladis quite correctly points out, gone are the days when there
> > was piles of simple coding to be done. most of the kernel is well
> > established, solid and stable, and ongoing development is *very*
> > advanced. in other words, there's less and less room for enthusiastic
> > beginners. but there's more.
> I think you can expect it will be a while before you write anything
> that's remotely worth upstreaming, except possibly drivers for obscure
> hardware or possibly minor bug fixes, for bug(s) that happen to
> replicate on your own system.
> That doesn't mean you can't learn. In fact, it's even possible to get
> paid to learn. At the moment, I'm working in a shop that ships appliances
> that include linux. My job is to investigate whatever goes squirrely
> at the kernel level, and make the system play nicely with our latest
> hardware. Since we're running an older version of linux, the most
> common result of these investigations is to find and merge an upstream
> patch. Another common result is to find a bug in one of our own kernel
> modules. Next most likely is a configuration issue. If none of these
> apply, we get to write the patch ourselves. If the problem affects
> recent kernels, we'll also submit it to LKML etc. I haven't personally
> had cause to submit anything yet.
> >  it's somewhat absurd to say you want to get involved in kernel
> > development, then ask *others* where you should start. it's like
> > saying, "i really want to write a book, but i have no idea what i
> > should write about. can you give me some ideas for a plot? and
> > characters? and possibly an ending?" yes, it's that silly.
> I tend to take this as a request for suggestions for learning
> exercises, or even simply where to start learning. It's a big and
> complex system, with layers and layers of details to deal with. I
> doubt "where do I start" is really a variant of "what should I
> develop?" (The right answer to that is pretty simple - whatever you
> want to have available, that isn't available ;-))
> >
> >  if you're a beginner, then the obvious starting point is to start
> > reading. and read. and read. and when you're done reading, read some
> > more. and slowly, you'll figure out what interests you most. and
> > that's where you then spend your time.
> Personally, I'd suggest playing with the code. Don't expect to produce
> something upstreamable. My latest ludicrous activity was reinventing
> part of "ftrace" ;-) I didn't mean to do that, I was just trying to
> get a record of [..things ftrace could have gotten me..] on a repeatedly
> failing system. Net result - I learnt more than I would have if I'd
> just used ftrace, and my coworkers are being patient about the time
> it's taking me to solve the original crash. (Fortunately I found a
> problem with the kernel configuration we were using for that
> appliance, as a side effect of my experiments, so the effort wasn't
> completely wasted ;-) And now I know about ftrace, and have ideas
> about extending it to do the next batch of things I want.)
> >
> > rday
> >
> --
> Arlie
> (Arlie Stephens                         arlie at
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at

Henrique Rodrigues
-------------- next part --------------
An HTML attachment was scrubbed...

More information about the Kernelnewbies mailing list