[svlug] Code walkthrough notes

Srihari Raghavan srihari.raghavan at gmail.com
Fri Nov 9 18:11:42 PST 2007


Hi all
    My 2c.  I also agree that, we plan on doing bite-sized set of objectives
for every meeting and do pre-meeting code reading and other preparations on
an individual or sub-group basis, come to the meeting to resolve doubts,
discuss thoughts etc.,  On days where we do have kernel experts come in and
discuss their experiences, we can alter the agenda.

    Here is a good resource to look at the boot process:  It describes in
detail about 2.6.12 boot process with src code references.

http://claraty.jpl.nasa.gov/archive/2006_embedded_systems_conference/TechSeminars/docs/pdf/slides/400slides.pdf

Other good links:
http://ourworld.compuserve.com/homepages/KanjiFlash/BPTour.htm
http://www.ibm.com/developerworks/linux/library/l-linuxboot/index.html
http://techpubs.sgi.com/library/manuals/0000/860-0217-001/pdf/860-0217-001.pdf

    Also, one other suggestion, is that, we can rely on well-written kernel
books to arrive at these small clearly-defined set of objectives for every
meeting.  It could roughly map to one of the chapters of the books etc.,

    For eg., my personal interest is in networking and these are really good
kernel networking stack internals related books that I have:  In the first
book, chap 2 talks about sk_buff structure in detail with references
to 2.6src code and that could be a good start for a meeting.

http://books.google.com/books?id=yy7tihZLgGYC&printsec=frontcover&dq=understanding+linux+network+internals&ei=ARA1R_-JJo74pwK-tuXJDw&sig=8FLh8Y8-zkLB2eT49xEMdbDCU-E#PPR5,M1<http://www.amazon.com/gp/product/0596002556/ref=pd_cp_b_0/103-5888255-8049467?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-41&pf_rd_r=0KR26BGNPZZKRCA4GY1J&pf_rd_t=201&pf_rd_p=317711001&pf_rd_i=1584502843>

http://www.amazon.com/Linux-TCP-IP-Stack-Networking/dp/1584502843


Thanks
SR

On Nov 9, 2007 5:22 PM, Akkana Peck <akkana at shallowsky.com> wrote:

> > On Nov 9, 2007 12:13 PM, Paul Reiber wrote:
> > > Within a few months, the group will be prepared and knowledgeable
> > > enough to be guided
> > > by 'domain experts' both from within our own ranks and from the
> > > outside world.
>
> Julie Hill writes:
> > I know you mean well and I appreciate all that you're doing, but I
> > find this disappointing and condescending. I can't speak for others,
> > but I was ready on Tuesday to seriously look at the kernel internals.
>
> Yes! Julie, you hit the nail on the head.
>
> The discussion before the meeting was all about understanding
> kernel code, and working on study projects in between so that we
> could really understand the issues and delve into details.
>
> > Would it be possible to pick a topic and put out a call to the members
> > for people who can speak on that on Tuesday? It doesn't have to be
> > perfect. A team of people could speak initially to take the pressure
> > off any one individual.
> >
> > One idea that someone mentioned to me was that we could have one
> > meeting where a specific kernel topic was presented and homework
> > assigned. Then the next few meetings after that would be follow ups to
> > cover additional details, time for discussions, question and answer
> > sessions, help with homework, etc.
>
> I'd love to see a series like that. Speakers when we can get them;
> then for meetings where we don't have a speaker lined up, what about
> a "study group" meeting?  Assign a specific topic ahead of time --
> we can discuss on the mailing list details like what code is most
> relevant and where to start.
>
> Then at the meeting, maybe we could sit in a group and discuss what
> we found. "I didn't understand the part around line 597 where it
> doesn't start init if kx is zero.  Did anybody figure out what it's
> doing there?" "Sure, it's doing [explanation of kx] but what I
> wasn't clear on was how this routine gets called in the first
> place -- can anybody give an overview?" Not a presentation but
> a series of discussions and mini-presentations.
>
> I don't know if anybody else is interested in the idea, but
> if people are, we'd need a topic. I've seen lots of lists of
> topics, but we need to pick just one.
>
> So here's an idea.  Lots of people seem interested in the boot
> process (me too).  In 2.6.23.1, I see a directory at the top level
> called init.  It's pretty small: it contains a main.c, a bunch of
> files with names starting with do_mounts, a couple of files dealing
> with initramfs, calibrate.c and version.c -- 9 C files in all
> (and two of them are tiny, around 50 lines).
>
> That might be a nice bite sized piece to get us started.  Most of
> us probably know a little bit about filesystem mounting and initrds
> already, but I bet there's lots to learn from looking through this
> code to see what the kernel actually does. If it turns out to be
> TOO easy and you get bored, go investigate grub and how the MBR
> works, or techniques for making initrd images, and share that
> with the group on Tuesday.
>
> So how about it?  Anybody interested in studying the init/ directory
> this week, then getting together in person to discuss what we learned
> and ask about what we don't understand?
>
> And are there any kernel experts in the group who already know
> a little about the boot/init process and would be willing to be
> there to guide us if we go astray?
>
>        ...Akkana
>
> _______________________________________________
> svlug mailing list
> svlug at lists.svlug.org
> http://lists.svlug.org/lists/listinfo/svlug
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.svlug.org/archives/svlug/attachments/20071109/cef19eca/attachment.htm


More information about the svlug mailing list