Re: Getting started with kernel development

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Nicky,

Nicky Chorley wrote:
> this. I've bought two books on the subject - "Understanding the Linux
> kernel" and "Linux Kernel Development", but I guess the problem is
> that I can't really follow the source code while I'm reading - there
> aren't enough pointers in the books to the relevant code and it's
> quite difficult to navigate the tree, since it's so big.

My favourite site for navigating and reading the source is:

http://lxr.linux.no/

I think that should help you a lot with "reading the kernel". Reading
the source is sometimes the better documentation and, of course, you
will have to look things up.

If you are interested in device drivers you should try:

http://lwn.net/Kernel/LDD3/ or

Essential Linux Device Drivers, by Sreekrishnan Venkateswaran

> Another thing is that I'm not sure which area of the kernel I'd like
> to contribute to. This is because I don't yet know how it works, so I
> can't make any (informed) decision. This is perhaps not much of a
> problem, I think, since once I learn how things work, I will hopefully
> be able to contribute (learning more as I do so) to an area that needs
> it.

I think a good idea to start with would be to write a simple kernel
module, e.g. a device driver that lets your keyboard LEDs blink or sth
like that, just to get into it. Another thing which I started with was
to write a very simple VFS filesystem that helped me getting to know how
these things work.

For some more C having a look into this book is also quite helpful:

http://publications.gbdirect.co.uk/c_book/

Good luck :)

Cheers,
Daniel

Attachment: signature.asc
Description: OpenPGP digital signature


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux