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
Hello Amit, thanks for letting us know about your new blog. Some time ago I also dived into Kernel Development, but except a lot of sandboxing [1] I did not get around to write about it. I'll take a closer look at your blog. What are your itch to get into Kernel Development? At what subsystem you're going to get started? I once looked more into proc, debugfs and statfs, two subsystems to get a more gentle start so to speak (at least that's what I hope). Maybe we can learn from another and strengthen our learning endeavor to flatten the learning curve :-) Links: [1]: Linux Kernel Module (LKM) Sandbox, https://github.com/tpiekarski/lkm-sandbox On 05.03.22 4:25 AM, Amit Kumar 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
On Sun, Mar 6, 2022 at 3:04 AM Thomas Piekarski <t.piekarski@deloquencia.de> wrote:
Hello Amit,
thanks for letting us know about your new blog. Some time ago I also dived into Kernel Development, but except a lot of sandboxing [1] I did not get around to write about it.
I'll take a closer look at your blog.
What are your itch to get into Kernel Development? At what subsystem
I want to develop robots in the future.
you're going to get started? I once looked more into proc, debugfs and statfs, two subsystems to get a more gentle start so to speak (at least that's what I hope). As far as I understand there are several things that play role in LKD.
Maybe we can learn from another and strengthen our learning endeavor to flatten the learning curve :-) This is why I have started writing a blog. I have visited your GitHub repo. I will give it a shot.
Links:
[1]: Linux Kernel Module (LKM) Sandbox, https://github.com/tpiekarski/lkm-sandbox
On 05.03.22 4:25 AM, Amit Kumar 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
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Hi, 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@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
Hi, Your mail is very inspirational. My aspiration of becoming a Linux kernel developer is very old. https://lore.kernel.org/all/1482241064-7504-1-git-send-email-free.amit.kumar... 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. https://elixir.bootlin.com/linux/v5.17-rc7/source/init/main.c#L927 Last but not least, Robotics is on my radar. Regards, Amit Kumar On Thu, Mar 10, 2022 at 7:38 AM Ozgur Kara <ozgur@goosey.org> wrote:
10.03.2022, 04:30, "Amit Kumar" <free.amit.kumar@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@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
Hi, https://blog.freeark1.tv/2022/03/our-friend-printf.html I've added an email subscription to my blog, so please subscribe. Regards, Amit Kumar On Sat, Mar 5, 2022 at 8:55 AM Amit Kumar <free.amit.kumar@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
Hi Amit, On Thu, Mar 10, 2022 at 10:01:40PM +0530, Amit Kumar wrote:
Nice blog! Just to let you know, there's a difference between development on Linux and Linux kernel development. Wikipedia has a pretty good general article on kernels: https://en.wikipedia.org/wiki/Kernel_(operating_system) We're mostly interested in the development, concepts, inner-workings and usage of the Linux kernel. While what happens in userspace is relevant, we mostly concentrate on the kernel itself. Ozgur Kara <ozgur@goosey.org> gave a really good list of topics torelating to kernel development. I'd also really recommend reading https://github.com/0xAX/linux-insides/blob/master/SUMMARY.md A pretty good place to start kernel development is by writing kernel modules. https://lwn.net/Kernel/LDD3/ is a good place to start, but some of the stuff is a bit outdated given it's over 10 years old, but you should be able to write some stuff with it. Torin
On Thu, 10 Mar 2022, 18:13 Torin Carey, <torin@tcarey.uk> wrote:
Hi Amit,
On Thu, Mar 10, 2022 at 10:01:40PM +0530, Amit Kumar wrote:
Nice blog! Just to let you know, there's a difference between development on Linux and Linux kernel development. Wikipedia has a pretty good general article on kernels: https://en.wikipedia.org/wiki/Kernel_(operating_system)
The above-mentioned article is about operating system's kernels. There's another one specifically devoted to the Linux kernel: https://en.wikipedia.org/wiki/Linux_kernel Regards, Fabio M. De Francesco We're mostly interested in the development, concepts, inner-workings and
usage of the Linux kernel. While what happens in userspace is relevant, we mostly concentrate on the kernel itself.
Ozgur Kara <ozgur@goosey.org> gave a really good list of topics torelating to kernel development. I'd also really recommend reading https://github.com/0xAX/linux-insides/blob/master/SUMMARY.md
A pretty good place to start kernel development is by writing kernel modules. https://lwn.net/Kernel/LDD3/ is a good place to start, but some of the stuff is a bit outdated given it's over 10 years old, but you should be able to write some stuff with it.
Torin
participants (5)
-
Amit Kumar -
FMDF -
Ozgur Kara -
Thomas Piekarski -
Torin Carey