Looking for Guidance in Linux Kernel Development

186 views
Skip to first unread message

Vedanta M S

unread,
May 15, 2026, 10:29:56 AMMay 15
to Kernel Meetup Bangalore

Hey guys,

I am Vedanta, I am new to Linux kernel development. I want to become really good at it. Although I have been trying to learn from here and there, I am not sure how to get a good hold of it.

It would be great if someone could guide me occasionally and help me understand the bigger picture of this journey.

I’m mainly looking for:

  • A roadmap for learning Linux kernel development

  • Important concepts I should focus on

  • Questions I should ask myself while learning

  • Ways to practice kernel development effectively

Thanks in advance for any replies or guidance!

Vinod Koul

unread,
May 18, 2026, 1:46:06 AMMay 18
to Vedanta M S, Kernel Meetup Bangalore
Hello Vedanta,

On Fri, May 15, 2026 at 8:00 PM Vedanta M S <vedant...@gmail.com> wrote:
>
> Hey guys,
>
> I am Vedanta, I am new to Linux kernel development. I want to become really good at it. Although I have been trying to learn from here and there, I am not sure how to get a good hold of it.
>
> It would be great if someone could guide me occasionally and help me understand the bigger picture of this journey.
>
> I’m mainly looking for:

I would by start installing Linux on a laptop or device that you may
have. Follow thru examples in LDD3 book (it is available online)

Subscribe to a few mailing list, look at how people discuss issues and code.

Also if you have an old phone lying around, check the postmarket os
community, which is mostly cool kids/students like you.
You can participate in the discussion, port it to your old device
lying around and learn a lot while doing it

Learning by doing works best for me, so that would my advise


>
> A roadmap for learning Linux kernel development
>
> Important concepts I should focus on
>
> Questions I should ask myself while learning
>
> Ways to practice kernel development effectively
>
> Thanks in advance for any replies or guidance!
>
> --
> You received this message because you are subscribed to the Google Groups "Kernel Meetup Bangalore" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to kernel-meetup-ban...@googlegroups.com.
> To view this discussion, visit https://groups.google.com/d/msgid/kernel-meetup-bangalore/b6c0e729-4afe-4111-bc03-0e2930f674a5n%40googlegroups.com.

Vedanta M S

unread,
May 18, 2026, 10:35:26 AMMay 18
to Kernel Meetup Bangalore
Hey Vinod,
Yes I'll look into LDD3 book and Postmarket OS looks interesting will try that out too. Thank you!

Tawaliou ALAO

unread,
May 24, 2026, 2:47:10 AMMay 24
to Vedanta M S, Kernel Meetup Bangalore
Hey Vendata, hope you’re doing well

I’m trying to learn kernel development too, So I can share with you the learning path I’m following maybe it call help you:
- A course on Computer Architecture like from and2tetris to understand how a CPU works, memory from scratch, build a tiny OS on top of that

- A course on Operating System Engineering like MIT 6.1810 Operating System Eng. this can give you the foundation of Operating System, with labs to complete. The courses is around a tiny OS called xv6 which is Unix like OS

- Linux Kernel Teaching: 
A course to put your hands on the Linux kernel v5. Lectures+ labs and assignements to write kernel code. (I’m currently there)

The goal with these courses is to lower the barrier to the Linux kernel… 


Eng. Tawaliou ALAO
Software Engineer.
Contact: (+229) 96433882 | alaota...@gmail.com

Vedanta M S

unread,
Jun 6, 2026, 10:12:35 PMJun 6
to Kernel Meetup Bangalore
Hey Alaota!!
Sorry for the late reply, 
I'll try to go through it one by one starting from the nand2tetris. 

I wasn't able to access MIT Operating systems. It says " 6.1810 would not exist today had it not been for a wonderful set of past TAs". 

Thank you !

Tawaliou ALAO

unread,
Jun 8, 2026, 4:55:13 AMJun 8
to Vedanta M S, Kernel Meetup Bangalore
Hi vendata, hope you’re doing well.
Here’s the link to the MIT 6.1810 Operating System Eng course: 


Eng. Tawaliou ALAO
Software Engineer.
Contact: (+229) 96433882 | alaota...@gmail.com

Nihal Kumar

unread,
Jun 11, 2026, 1:06:55 AM (13 days ago) Jun 11
to Tawaliou ALAO, Vedanta M S, Kernel Meetup Bangalore
I am just curious why hasn't anybody mentioned the linux foundation course

I am also starting out btw.

// gmail prefers top post I guess



--




Tawaliou ALAO

unread,
Jun 11, 2026, 3:06:40 AM (13 days ago) Jun 11
to Nihal Kumar, Vedanta M S, Kernel Meetup Bangalore
This course is not about the internal of Linux Kernel, mostly to help you write your first patch.
Before writing it you must have some technical background in the Linux kernel


Eng. Tawaliou ALAO
Software Engineer.
Contact: (+229) 96433882 | alaota...@gmail.com

Nihal Kumar

unread,
Jun 11, 2026, 6:08:20 AM (13 days ago) Jun 11
to Tawaliou ALAO, Vedanta M S, Kernel Meetup Bangalore
Alright!

Vedanta M S

unread,
Jun 13, 2026, 10:22:10 AM (11 days ago) Jun 13
to Tawaliou ALAO, Kernel Meetup Bangalore

This is working !! 
Thank you!! 

Yuvraj Sakshith

unread,
Jun 13, 2026, 6:35:37 PM (10 days ago) Jun 13
to Vedanta M S, Kernel Meetup Bangalore
Hey Vedanta,

I see that folks have already suggested courses/books like nand2tetris, LLD3, etc. which is fantastic. I was in a similar situation few years back. I will try to structure a learning path for you in this email.

Few key suggestions:

- Jumping into the kernel itself by reading Robert Love’s book or any other linux kernel textbook will only give you a high level idea of the kernel. It very hard to make sense of the kernel today because every subsystem is so interconnected, it forms a circular dependency.

- Fundamentals of CPU architecture, memory, interrupts, I/O should be very strong before the kernel will start making sense.
Consider the following questions:
— Where does the kernel begin executing?
— How does the kernel binary get linked and how does it get into RAM before being executed? Who does it?
— What is the difference between privileged software vs. normal user applications? What is the difference deep down in the architecture?
— What is a virtual address? And why do we need virtual addressing?
— Who compiled the first compiler?
— How does code get linked? What is linking anyway?
— How does the scheduler know when to pull out a thread from CPU?

These are some very fundamental questions which go unaddressed if you directly jump into linux kernel. The books try to explain — I strongly believe a better approach is needed.

- Stick to one hardware architecture and understand it completely. I am heavily biased towards ARM64 and would suggest you the same — mostly because even a kid can read their documentation and make sense of it. It’s very well written.

- Learning things bottom up. The top down approach will keep you confused. Its like learning English, but starting with Shakespeare instead of the alphabet.

Courses:

- nand2tetris
— The focus is to start from transistors, logic gates, connect them to make complex digital logic like, multiplexers, demultiplexers, adders, flip-flops etc. These are then connected to make memory, CPU, memory-mapped display, etc.
— Part 2 of the course focuses on writing software for the hardware you have built in Part 1. They start with an assembly language of their own, write an assembler, a virtual machine, a compiler and finally an operating system.

- Build your own RTOS [1]
— You build your own tiny RTOS and a nice scheduler for it. It’s an aha-moment when you see your scheduler context switch and run different threads concurrently.

- Write your own x86 32-bit operating system [2]
— In this course, you will learn about writing a small boot loader and a full fledged kernel with userspace on x86. The biggest takeaway is that you will understand how virtual memory works and how the memory manager allocates, maps, and handles different virtual address spaces (for different processes).

After completing these three, you should have a very good idea of how software actually runs on a machine. Then, you are on your own. You can step into the linux kernel.
Start from arch/arm64/kernel/head.S and follow along and see how the linux kernel sets up memory, loads page tables, etc. etc. — it will take time but its very interesting.

In parallel, I would suggest you to write your own tiny kernel for ARM / x86. You should be able to emulate a Raspberry Pi 3 / 4 on QEMU.

If you prefer reading instead of watching courses, then Computer Systems by Randall Bryant [3] is a book you’ll love.

Hope this helps and all the best!
Yuvraj Sakshith

---




---

Yuvraj Sakshith

unread,
Jun 13, 2026, 6:42:58 PM (10 days ago) Jun 13
to Vedanta M S, Kernel Meetup Bangalore
+ Course [1] will require you to purchase a STM32 Nucleo board. If you are not able to purchase it / find it online, I can give you mine. Just let me know.

Yuvraj

Tawaliou ALAO

unread,
Jun 13, 2026, 6:45:27 PM (10 days ago) Jun 13
to Yuvraj Sakshith, Vedanta M S, Kernel Meetup Bangalore
Thank you for the links and the steps  🙏🏿


Eng. Tawaliou ALAO
Software Engineer.
Contact: (+229) 96433882 | alaota...@gmail.com

Vedanta M S

unread,
Jun 13, 2026, 10:15:22 PM (10 days ago) Jun 13
to Yuvraj Sakshith, Kernel Meetup Bangalore
That's a very detailed guide ! I always wanted to know what questions should I be able to answer to be confident with the basics. 
True I had started with LDD3. Felt a bit lost in between due to complexity. So i had started with nand2terris. 
Thank you so much for all these steps and resources! 

Regards 
Vedanta M S

Vedanta M S

unread,
Jun 13, 2026, 10:20:13 PM (10 days ago) Jun 13
to Yuvraj Sakshith, Kernel Meetup Bangalore
Hey Yuvraj, 
That's very kind of you, thank you! I already have a stm32 Nucleo board. 

Thanks a lot !! 🙏 
Reply all
Reply to author
Forward
0 new messages