lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAPhOmC5x9MyPtUhiZMg3xeYGt=aofyyq70g7bek=LxKOAva=zQ@mail.gmail.com>
Date:	Fri, 6 Nov 2015 18:15:55 +0100
From:	Patrick Plattes <patrick@...beere.net>
To:	linux-kernel@...r.kernel.org
Subject: Improvement of trails and tutorials to become a kernel developer / maintainer

ello,

I'm interested since a very long time in kernel development, but I
never saw the right path to become familiar with parts of the kernel.
I read a bit of ipc code and ext* code, but since I often don't know
any possible next steps I moved back to something else in the user
space.

I really like the tutorial on kernelnewbies.org FirstKernelPatch an I
had the idea to create this type of tutorial as a training for
specific kernel subsystems eg. ipc, file systems, usb drivers, ...

A structure of such a tutorial could look like that: (eg scheduler)

1. Introduction / Goal
[5 sentences of the goal - what should be archived by this tutorial]
- understand scheduling in the linux kernel
- write your own scheduler
- ...
2. Preparation
2.1 Understand how to write a kernel patch:
http://kernelnewbies.org/FirstKernelPatch
2.2 Understand the goal of Scheduling: https://en.wikipedia.org/wiki/Schedule
3. User space view
3.1 Read and understand: http://man7.org/linux/man-pages/man7/sched.7.html
3.1.1 Questions
3.2 Exercise: Write a program that does A
3.3 Exercise: Write a program that does B
3.4 Exercise: Write a program that does C
4. Kernel
4.1 Read and understand: http://man7.org/linux/man-pages/man7/sched.7.html
4.1.1 Questions
4.2 Read API description: http://...
4.3 Exercise (understanding): Read and understand function xxxx_yyyy()
4.4 Exercise (understanding: Change the implementation of xxxx_yyyy(),
so that ...
4.5 Exercise (debugging): checkout version 123456 and fix the
following (old) bug
4.6 Final Exercise (developing): Write your own scheduler with the
following algorithm...

In my opinion that could help a lot of interested people to have a
guided tour though the kernel. It could really lower barriers, also in
terms of the fear of communication.

I am NOT able to to produce it by myself, but I can help to structure
it, review it and also answer questions. I would also maintain them in
case of changes and test the tutorials on a regular basis to keep them
up to date. I also would improve the tutorial from a newbie point of
view ;)

If there is someone out there that is also interested in doing it
please let me know.

And if there is something like this out there please let me know, so I
can maybe support this project :)

Greetings,
 Patrick
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ