A blog for kernel development

Amit Kumar free.amit.kumar at gmail.com
Thu Mar 10 11:19:48 EST 2022

Your mail is very inspirational.
My aspiration of becoming a Linux kernel developer is very old.
I used to be a Java developer. Due to my personal problems, I have
been distracted for a long time from my career.
Now, I am back in my career and decided to give a try again to my
aspirations. I want to create such a blog that lead a newbie step by
step in becoming a Linux kernel developer.
So if Linux is written entirely in C and C programs everytime take
main function right, okay where is main function of kernel?
A kernel runs in a freestanding environment i.e. there is no libc
available. In other words, kernel runs on the bare metal, we use
assembly language and linker script to set up everything on our own.
Last but not least, Robotics is on my radar.

Amit Kumar

On Thu, Mar 10, 2022 at 7:38 AM Ozgur Kara <ozgur at goosey.org> wrote:
> 10.03.2022, 04:30, "Amit Kumar" <free.amit.kumar at gmail.com>:
> Hi,
> Hello,
> maybe if you want to be a kernel developer you should go to some reference sources before that.
> Really Important: The C Programming Language
> 1. Understanding Linux Kernel (I/O and Process Management
> 2. Understanding Memory Addressing
> 3. Understanding Processes
> 4. Understanding Intterupts
> 5. Understanding Timing and Clock
> 6. Kernel Address Space
> 7. Kernel Namespaces
> 8. System Calls
> 9. Signals
> A) Linux Device Drivers
> 1. Module
> 2. Communication
> 3. Buffer Character and Blocks
> 4. Pooling
> 5. User Space and Kernel Space
> 6. Learn Linux kernel header file
> B) Kernel Internals
> 1. Boot Loader (Booting)
> 2. Virtual File Systems
> 3. Caching and Paging
> 4. Task Structure
> 5. Scheduler
> 6. Queue
> 7. File Structure
> 8. IPC
> 9. Synronization
> 10. Data Types in the kernel
> 11. PCI and USB
> 12. DMA
> so as soon as you know these you are already in an active kernel developer mode but you probably have to be very interested in hardware. So the Linux kernel is not just software and almost all developers strive for hardware compatibility.
> Operating System standards (POSIX) are already largely complete on Linux and you can bid and join workgroups for porting a new software solution for example a new filesystem.
> Regardless of your hardware knowledge and C knowledg will be declared you a "developer" and for example i dont even know most of them and i have been using Linux for many years and sometimes i even heard words when my C skills were not enough they fired me from there :)
> but don't be discouraged by it, its good keyword:
> "Just For Fun"
> yes, do everything to be fun and learn. Now download a linux kernel, unzip it and examine source codes.
> Check out inside Documents and then open kernel menu and play with some changes and try to compile.
> if you dont get an error, boot and run from new kernel and test. in this case, learn bootloader, initramfs and actuall real kernel file where is it and what is size for example?
> An example question:
> So if Linux is written entirely in C and C programs everytime take main function right, okay where is main function of kernel? :)
> Good Luck and always include your research on these in your blog.
> Regards
> zgur
> https://blog.freeark1.tv/2022/03/a-blog-for-linux-kernel-development.html
> I am thinking of sharing everything which will lead a normal
> application developer to become a Linux kernel developer. This will be
> just my journey journal to become a Linux kernel developer. Please,
> feel free to share your views so that I can serve the purpose.
> Regards,
> Amit Kumar
> On Sat, Mar 5, 2022 at 8:55 AM Amit Kumar <free.amit.kumar at gmail.com> wrote:
>  Hi,
>  I have started this mail thread to interact with other kernel
>  learners. I am also running a blog for stuff related to Linux kernel
>  development.
>  https://blog.freeark1.tv
>  When a new post will appear on this blog I'll mail it on this thread.
>  Soon I'll start posting about kernel development.
>  Regards,
>  Amit Kumar

More information about the Kernelnewbies mailing list