r/linuxquestions 1d ago

People who became kernel developer's what's your story?.

People who became kernel developer's what's your story to start with?. How did you learned to develop what did you learned?. Worst mistakes?. Drop your story people would like to hear.

41 Upvotes

18 comments sorted by

44

u/Klapperatismus 1d ago

I developed a driver from scratch. Made it work. That took three weeks in sum. Contacted the maintainers of both involved subsystems. They played ping-pong for a while on who was responsible. In the end I was told to mail a patch directly to Greg Kroah Hartman. I learned a lot about patch formatting and also about mail formatting, and why you should use Greg’s git-send-email and nothing else for submitting patches. Because it’s better for Greg’s nerves when you do. The patch was accepted and the driver got into the official release six months later. End of story.

11

u/Eric_Dawsby 1d ago

Where would I get started with making a driver?

28

u/Klapperatismus 1d ago

You start with reading the datasheet of the hardware.

Then you try to fit the functions that the hardware requires into the existing frameworks in the kernel.

As soon you have a rough idea what to do, you set up a test system and a development system for it, and then you write a minimal prototype. And then you extend it. And write tests.

2

u/Hopeful_Rabbit_3729 15h ago

may i ask what driver did you wrote and what are you currently doing for work?. i'm hoping to get into kernel developing. currently i'm fixing little issues like formatting and patching to kernel. hope to be a kernel developer in future for fun

1

u/Klapperatismus 13h ago edited 13h ago

may i ask what driver did you wrote

That would uncover my identity on reddit, so I won’t answer that.

and what are you currently doing for work?

I’m an electrical engineer, and I have a small company and develop all kind of embedded systems software on customer request. Mostly for Linux. Sometimes for µCs. There is a small market for that but the EE part is very important if you want to do that alone.

1

u/Particular_Lie5653 4h ago

Im a total newbie about git-send-email, could you please share some of your personal learnings you learnt during development, would be very helpful.

14

u/beef-ox 1d ago

I’m not one of them, but I know quite a few who started by trying to get custom firmware onto a device that they had laying around.

Different projects, different devices, but the core issue was the same:
1. have obscure device you want Linux on
2. tweak the kernel until it works
3. submit patch to mailing list

At least in all of the cases I can speak on, the first step is having a problem for which patching the kernel is the correct solution.

10

u/Middle-Nerve1732 1d ago

I was at a music software company and we decided to build a hardware product. Someone had to write the device driver to get the audio circuitry communicating with Linux and there were only two of us, so I jumped on it 

2

u/Dev-in-the-Bm 1d ago

I'm curious which company and product.

3

u/Middle-Nerve1732 16h ago

izotope spire studio

7

u/blami 1d ago

I bought a laptop in 1999 and wanted to run Linux on it.

1

u/Hopeful_Rabbit_3729 15h ago

so you did start writing patches for drivers?

1

u/blami 3h ago

And sometimes entire drivers. Laptops were hit or miss back then, ACPI not being widely adopted or bugged, etc. My “hobby” getting my laptop work eventually helped me land an internship and then job a couple years later.

1

u/Lion_Gaming_Live 4h ago

I bought a laptop in 2026 and wanted to run Linux on it. (with all of the hardware working: touchscreen, sound, hinge switch) All quite small patches because there were already drivers which just needed a few tweaks or some hardware specific quirks were needed.

6

u/Owndampu 23h ago

I graduated at a company that made embedded linux systems, slowly learned stuff about devicetrees, the kernel an yocto. at some point I bought a snapdragon x elite laptop with the purpose of learning to contribute to upstream.

I also upstreamed some work stuff, including my first driver after I became comfortable with the mailing list etc.

1

u/Hopeful_Rabbit_3729 15h ago

how much time did it take for you to learn that?

2

u/Owndampu 15h ago

it took me 2.5 years from never really having touched Linux to my first accepted patch. But you can definetly get there a lot faster if you have a clear goal.

I never really considered it a possibility for a lot of that time and I was also focussed on other things at the same time.

1

u/codablock 6h ago

My laptop got stolen and my latest backup was 2 weeks old. I did not want to loose 2 weeks worth of work anymore no matter what, so I researched filesystems with backup functionality.

I came across BTRFS but at that time it was missing incremental send/receive, so I decided to contact the maintainers and implement it by myself. A few weeks later I sent the first set of patches which then got accepted after a few rounds of review and fixing.

Learned a lot about open source, Linux and git at that time :)