Introducing Myself, Looking to Learn

Anand Moon moon.linux at yahoo.com
Wed Nov 13 22:50:11 EST 2013


Hi All,

It's good to start with LDD3 for beginner, But we end up just compiling the modules from the examples.
Most of us don't now how to test these modules. But we can get learn the basic of module programming.

Real challenge are in the kernel source tree.
For example if we have a wireless/Ethernet card in laptop, 
you can go thought the changes that are happing with your driver with respect to old kernel.
Also try to understand the patches that are been currently discuss in the mailing list.
Understand the discussion that take place in mail chains, these will help clearing you concepts. 
Understand the protocol used by the driver and how new support can be added to it.
Integrating with the original developer will give you new thought.

Also user space is very good area to explore and very important one.
If you just load the driver but don't configure it correctly It will not work to it's potential.
How we configure you driver, where are the configuration files.
Try to so all the configuration chances manually, this will help a lot.
Try to trace the functionality from the user space IOCtl call to driver, modparams etc.
We always try to use the configuration that's available in the internet.
We do not go beyond that configuration and try to experiment on new values,
May be we should do that and see how it works or behaves.

One more thing getting to compile a custom configured kernel for you PC is important step.
Having knowledge of GIT is must now a days.

And you will become you own mentor for that driver.

-Anand Moon



On Monday, October 28, 2013 4:11 PM, Matthias Brugger <matthias.bgg at gmail.com> wrote:
  
2013/9/3 Robert P. J. Day <rpjday at crashcourse.ca>:
> On Tue, 3 Sep 2013, Valdis.Kletnieks at vt.edu wrote:
>
>> On Wed, 04 Sep 2013 02:05:42 +0530, Varad Gautam said:
>> > Hi Vladis! Thanks for replying. I think I would be fine with
>> > writing real code once I figure out what goes where.
>>
>> Well, assuming you have a background as a professional or very
>> serious amateur programmer, *and* you have a *particular* drive to
>> do something specific.  There's still a lot of code being added by
>> amateurs who have some weird USB device that doesn't have a driver
>> and so on - but there's less and less room for beginners that just
>> want to hack code and don't care where.  Data structures and
>> algorithms have gotten more complex, the locking is more
>> fine-grained and subtle - gone are the days you could just take the
>> Big Kernel Lock and not worry, now you ofteh have to understand
>> stuff like RCU locking.
>>
>> So you might want to stop and ask yourself *why* you want to write
>> code for the kernel. :)
>
>  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.
>
>  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.
>
>  at the very least, you should have an idea of what part of the kernel
> interests you most. if you can't even identify which major subsystem
> -- networking, USB, video, etc. -- you want to work on, you aren't
> even *remotely* ready to start writing code.
>
>  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.
>
>  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.

Basically my answer to this kind of questions is, to start reading
LDD3 [1] try to figure out what have changed and try to get the source
code examples work with a newer kernel [2].

[1] http://lwn.net/Kernel/LDD3/
[2] https://github.com/martinezjavier/ldd3

Cheers,
Matthias

>
> rday
>
> --
>
> ========================================================================
> Robert P. J. Day                                 Ottawa, Ontario, CANADA
>                        http://crashcourse.ca/
>
> Twitter:                                      http://twitter.com/rpjday
> LinkedIn:                              http://ca.linkedin.com/in/rpjday
> ========================================================================
>
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies



-- 
motzblog.wordpress.com


_______________________________________________
Kernelnewbies mailing list
Kernelnewbies at kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20131113/77c95560/attachment-0001.html 


More information about the Kernelnewbies mailing list