Conversation

I got ask how to get into kernel development. Basically asking for a starting point to work (simple bugs etc). I don't know a good answer and kernelknewbies seems also pretty outdated. Any ideas?

4
1
1

le petit printf ๐Ÿ‡บ๐Ÿ‡ฆ๐Ÿ‡จ๐Ÿ‡ฟ๐Ÿ‘ƒ๐Ÿ’จ

@wagi yeah, much like other free software projects -- just pick *something* to work on, a bug that bothers you, a feature you're missing. start simple, read as much code as possible to see what others do.

kernel specifics: (1) the path from writing code to running it is often not too straightforward. learn to configure (configuration is complex!), build and run the kernel on bare metal and in virtual machines. figure out a way that's quick and efficient for you and the thing you're working on, whether you take an inspiration from others or not.

[1/2]

1
0
0

le petit printf ๐Ÿ‡บ๐Ÿ‡ฆ๐Ÿ‡จ๐Ÿ‡ฟ๐Ÿ‘ƒ๐Ÿ’จ

Edited 12 days ago

@wagi (2) debugging techniques you're familiar with won't work. don't bother with a debugger, there's a lot of CONFIG_.*DEBUG options that enable self-checks for most common mistakes (bad locking, use-after-free, even the sanitizers) at expense of performance. very helpful!

[2/2]

(haven't done anything in kernel for years, probably not greatest advice)

0
0
0

@ljs @lkundrak @wagi @vbabka @gregkh I'd add that once you have identified your area of interest, sub to the ML. It might be a bit overwhelming at first, but reading diffs / reading debates etc is a really good help to get into it.

(also where is my eudyptula bot :()

edit: By ML I mean the dedicated ML for the subsystem you are interested in, _do not_ sub to the global one haha

0
0
1

@ljs @lkundrak @wagi @vbabka @gregkh It was actually a really nice intro into kernel dev and really well done. I don't think I went through it fully and can't claim that badge.

0
0
0
@wagi While the kernelnewbies website is kinda outdated, the IRC channel is not.
I recommend every newbie reading this mail on becoming a contributor:
https://lists.kernelnewbies.org/pipermail/kernelnewbies/2017-April/017765.html
0
0
1

@wagi Probably as the more newbie around this thread, I think a nice first step is to engage with a distro kernel team (Fedora, opensuse, etc..). Then learn how to compile it and how to tweak the config for your needs.

After that, I agree with @lkundrak just pick *something* to work on. Of course, knowing someone that could help you is always good.

2
0
0

@ffmancera FWIW I started by fixing bugs that annoyed me. These days, it's harder to find some, unless you run on rc kernels, so yeah, definitely learn how to compile a kernel! @wagi @lkundrak

1
0
0

@ptesarik watching the regressions list might be a good place to lookout for bugs for anyone that wants to learn kernel development by fixing bugs.

https://lore.kernel.org/regressions/

@ffmancera @wagi @lkundrak

1
0
0

@ffmancera I agree that engaging with a distro kernel team might be wise, especially when it comes to helping users with bugs they reported against the distro kernel.

OTOH from my POV[1] I see quite a risk that you learn a lot about various ways to package and install kernels for your distro, which likely is not what most people want to learn.

[1] someone that deals with packaging kernels for Fedora for more than a decade

@wagi @lkundrak

1
0
0

le petit printf ๐Ÿ‡บ๐Ÿ‡ฆ๐Ÿ‡จ๐Ÿ‡ฟ๐Ÿ‘ƒ๐Ÿ’จ

Edited 12 days ago

@ljs @mathieu @wagi @vbabka @gregkh +1 for the eudyptula challenge. almost forgot how well done it was. obviously lot of effort went into it. loads of fun also

(edit: also completed. *ape shrieks*)

1
0
1

le petit printf ๐Ÿ‡บ๐Ÿ‡ฆ๐Ÿ‡จ๐Ÿ‡ฟ๐Ÿ‘ƒ๐Ÿ’จ

@kernellogger @ffmancera @wagi from what i've seen the distro kernels are always an absolute horror and one needs to stay as far as possible

1
0
1

@ljs @lkundrak @wagi @vbabka @gregkh you guys are _weird_ :D

(obligatory /s)

0
0
0

@kernellogger besides, bug fixes are generally welcome, so you get some maintainer support right from the beginning
@ffmancera @wagi @lkundrak

1
0
0

@mathieu It can always be worse.
I had to use a search engine to remind myself what eudyptula was. And no, I didn't even start it back then.
@lkundrak @ljs @wagi @vbabka @gregkh

0
0
0

@ptesarik +1 โ€“ and it's an area where new people with the right skills can make the life of developers easier even without providing a fix by simply helping with debugging et. al.

/me wonders if he at this point should also mention that people that lack the right skills sometimes create a lot of noise that leads to additional work/pain for developersโ€ฆ
/me settles with that /me comment ๐Ÿ˜„

@ffmancera @wagi @lkundrak

0
0
0

@oleksandr @lkundrak @kernellogger @ffmancera

Every discussion ends when Arch is mentioned. Thanks everyone for the very helpful tips. Highly appreciated.

0
0
1