kernelnewbies.kernelnewbies.org archive mirror
 help / color / mirror / Atom feed
* Fwd: Learning Linux Kernel Development
       [not found] <CALS6=qW=eiPfeZ23uEBLTdtpdzsb4Y2biNuPZ-Hj9CzjQdJnDA@mail.gmail.com>
@ 2018-10-10 15:35 ` Carter Cheng
  2018-10-10 16:03   ` valdis.kletnieks at vt.edu
  2018-10-11 10:42   ` o at goosey.org
  0 siblings, 2 replies; 6+ messages in thread
From: Carter Cheng @ 2018-10-10 15:35 UTC (permalink / raw)
  To: kernelnewbies

---------- Forwarded message ---------
From: Carter Cheng <cartercheng@gmail.com>
Date: Wed, Oct 10, 2018 at 10:52 PM
Subject: Learning Linux Kernel Development
To: <kernelnewbies@kernelnewbies.org>


Hello,

I am actually kind of interested in learning linux kernel development and
have been over the last few weeks going through Love's Linux Kernel
Development book which details the situation in the kernel around linux
2.6. Obviously for a book of such limited length he can probably only go
into some of the details and give a taste of what is actually is going on.
I have a couple questions however and I was wondering if this was the
correct place to ask-

1. After finishing the book and perhaps Understanding the Linux Kernel and
Linux Device Drivers. What is the best way to dig deeper.
2. Is there some good way to figure out how to update knowledge gained from
this book to what is in the 4.x series of kernels?

Thanks,

Carter.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20181010/153b287f/attachment.html>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Fwd: Learning Linux Kernel Development
  2018-10-10 15:35 ` Fwd: Learning Linux Kernel Development Carter Cheng
@ 2018-10-10 16:03   ` valdis.kletnieks at vt.edu
  2018-10-11  5:56     ` Carter Cheng
  2018-10-11 10:42   ` o at goosey.org
  1 sibling, 1 reply; 6+ messages in thread
From: valdis.kletnieks at vt.edu @ 2018-10-10 16:03 UTC (permalink / raw)
  To: kernelnewbies

On Wed, 10 Oct 2018 23:35:20 +0800, Carter Cheng said:
> 1. After finishing the book and perhaps Understanding the Linux Kernel and
> Linux Device Drivers. What is the best way to dig deeper.

There's multiple answers to that question, as it depends on the questioner's preferred
learning style and motivation for digging deeper.

(I'll just add a link so I don't have to copy-paste here)
https://lists.kernelnewbies.org/pipermail/kernelnewbies/2017-April/017765.html

> 2. Is there some good way to figure out how to update knowledge gained from
> this book to what is in the 4.x series of kernels?

If you've studied enough different kernels so that you can generalize from an
example, the fact that 4.19 is 12 million lines different from 2.6.whatever
won't be much of an issue. If however you're still at the cargo-cult
programming level of writing code the way the LDD says via cut-n-paste without
really understanding it, you're going to have a bad time.

Somebody was keeping sample code from the LDD, updated to recent kernels. Not
sure if it's much help - if you understand the concepts involved, you probably
wouldn't need sample code, and if you didn't understand the concepts, you just
end up cut-n-pasting from a newer version....

(Two really good kernel books are Bach's book on the Unix SYSV kernel and
McKusick's book on the BSD kernel - both spend a good amount of time doing "and
if we don't take a lock here, this race condition can happen, and if it
happens, *this* is what your file system looks like afterwards" type
discussion...)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 486 bytes
Desc: not available
URL: <http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20181010/a4b3115e/attachment.sig>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Fwd: Learning Linux Kernel Development
  2018-10-10 16:03   ` valdis.kletnieks at vt.edu
@ 2018-10-11  5:56     ` Carter Cheng
  0 siblings, 0 replies; 6+ messages in thread
From: Carter Cheng @ 2018-10-11  5:56 UTC (permalink / raw)
  To: kernelnewbies

Thanks for the advice. I actually have those books as well and will take a
look at them.

On Thu, Oct 11, 2018 at 12:03 AM <valdis.kletnieks@vt.edu> wrote:

> On Wed, 10 Oct 2018 23:35:20 +0800, Carter Cheng said:
> > 1. After finishing the book and perhaps Understanding the Linux Kernel
> and
> > Linux Device Drivers. What is the best way to dig deeper.
>
> There's multiple answers to that question, as it depends on the
> questioner's preferred
> learning style and motivation for digging deeper.
>
> (I'll just add a link so I don't have to copy-paste here)
>
> https://lists.kernelnewbies.org/pipermail/kernelnewbies/2017-April/017765.html
>
> > 2. Is there some good way to figure out how to update knowledge gained
> from
> > this book to what is in the 4.x series of kernels?
>
> If you've studied enough different kernels so that you can generalize from
> an
> example, the fact that 4.19 is 12 million lines different from 2.6.whatever
> won't be much of an issue. If however you're still at the cargo-cult
> programming level of writing code the way the LDD says via cut-n-paste
> without
> really understanding it, you're going to have a bad time.
>
> Somebody was keeping sample code from the LDD, updated to recent kernels.
> Not
> sure if it's much help - if you understand the concepts involved, you
> probably
> wouldn't need sample code, and if you didn't understand the concepts, you
> just
> end up cut-n-pasting from a newer version....
>
> (Two really good kernel books are Bach's book on the Unix SYSV kernel and
> McKusick's book on the BSD kernel - both spend a good amount of time doing
> "and
> if we don't take a lock here, this race condition can happen, and if it
> happens, *this* is what your file system looks like afterwards" type
> discussion...)
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20181011/638d2fa8/attachment.html>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Learning Linux Kernel Development
  2018-10-10 15:35 ` Fwd: Learning Linux Kernel Development Carter Cheng
  2018-10-10 16:03   ` valdis.kletnieks at vt.edu
@ 2018-10-11 10:42   ` o at goosey.org
  2018-10-11 13:46     ` Carter Cheng
  2018-10-12  2:05     ` valdis.kletnieks at vt.edu
  1 sibling, 2 replies; 6+ messages in thread
From: o at goosey.org @ 2018-10-11 10:42 UTC (permalink / raw)
  To: kernelnewbies

An HTML attachment was scrubbed...
URL: <http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20181011/40faaad7/attachment.html>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Learning Linux Kernel Development
  2018-10-11 10:42   ` o at goosey.org
@ 2018-10-11 13:46     ` Carter Cheng
  2018-10-12  2:05     ` valdis.kletnieks at vt.edu
  1 sibling, 0 replies; 6+ messages in thread
From: Carter Cheng @ 2018-10-11 13:46 UTC (permalink / raw)
  To: kernelnewbies

Thanks a lot.

On Thu, Oct 11, 2018 at 6:42 PM <o@goosey.org> wrote:

>
>
> 10.10.2018, 19:36, "Carter Cheng" <cartercheng@gmail.com>:
>
>
> ---------- Forwarded message ---------
> From: *Carter Cheng* <cartercheng@gmail.com>
> Date: Wed, Oct 10, 2018 at 10:52 PM
> Subject: Learning Linux Kernel Development
> To: <kernelnewbies@kernelnewbies.org>
>
> Hello,
>
>
>
> Hello,
>
>
>
> I am actually kind of interested in learning linux kernel development and
> have been over the last few weeks going through Love's Linux Kernel
> Development book which details the situation in the kernel around linux
> 2.6. Obviously for a book of such limited length he can probably only go
> into some of the details and give a taste of what is actually is going on.
> I have a couple questions however and I was wondering if this was the
> correct place to ask-
>
>
>
>
>
> The way to go deeper is to understand the operating system basis and this
> requires good knowledge of C and hardware and kernel experience.
>
>
> 1. After finishing the book and perhaps Understanding the Linux Kernel and
> Linux Device Drivers. What is the best way to dig deeper.
>
>
> This driver is just one of the things that Linux developers work.
>
>
> 2. Is there some good way to figure out how to update knowledge gained
> from this book to what is in the 4.x series of kernels?
>
>
>
> I think all C code-based drivers will work on all Linux versions after
> downloading kernel please checkout the staging/ folder.
>
>
> Thanks,
>
>
>
> Regards
>
>
> Carter
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20181011/a1403f51/attachment.html>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Learning Linux Kernel Development
  2018-10-11 10:42   ` o at goosey.org
  2018-10-11 13:46     ` Carter Cheng
@ 2018-10-12  2:05     ` valdis.kletnieks at vt.edu
  1 sibling, 0 replies; 6+ messages in thread
From: valdis.kletnieks at vt.edu @ 2018-10-12  2:05 UTC (permalink / raw)
  To: kernelnewbies

On Thu, 11 Oct 2018 14:42:56 +0400, o at goosey.org said:
> 10.10.2018, 19:36, "Carter Cheng" <cartercheng@gmail.com>:
> >    2. Is there some good way to figure out how to update knowledge gained from
> >    this book to what is in the 4.x series of kernels?

> I think all C code-based drivers will work on all Linux versions after
> downloading kernel please checkout the staging/ folder.

Nowhere close.  Working on "all Linux versions" would imply a stable API.

The internal kernel APIs change all the time - a non-toy driver written for a
2.6.10 kernel has little to no chance of working on 4.19 without updating to
use the APIs presented by the 4.19 kernel.

See Documentation/process/stable-api-nonsense.rst for the details.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 486 bytes
Desc: not available
URL: <http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20181011/fc3ce7e3/attachment.sig>

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-10-12  2:05 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <CALS6=qW=eiPfeZ23uEBLTdtpdzsb4Y2biNuPZ-Hj9CzjQdJnDA@mail.gmail.com>
2018-10-10 15:35 ` Fwd: Learning Linux Kernel Development Carter Cheng
2018-10-10 16:03   ` valdis.kletnieks at vt.edu
2018-10-11  5:56     ` Carter Cheng
2018-10-11 10:42   ` o at goosey.org
2018-10-11 13:46     ` Carter Cheng
2018-10-12  2:05     ` valdis.kletnieks at vt.edu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).