Hi, Thank you for your replies. I am just laying the foundation. After a couple of weeks, I will start posing about the Linux kernel on my blog. I am also planning to give online Linux kernel training after some time. This might be free. So, keep in touch.
Regards, Amit Kumar On Thu, Mar 10, 2022 at 10:47 PM Rogério Valentim Feitoza da Silva <rogerio.silva3...@gmail.com> wrote: > > On Thursday, 10 March 2022, Amit Kumar <free.amit.ku...@gmail.com> wrote: >> >> 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.ku...@gmail.com/ >> 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 <oz...@goosey.org> wrote: >> > >> > >> > >> > 10.03.2022, 04:30, "Amit Kumar" <free.amit.ku...@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.ku...@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 >> >> _______________________________________________ >> Kernelnewbies mailing list >> Kernelnewbies@kernelnewbies.org >> https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies > > Userspace applications also run on bare metal, but they run on user mode (in > x86 that's ring 3) and need the kernel's system call interface (in x86 that's > the 129th CPU interrupt, called using "int 0x80" or "int 128", and in ARM, > the SWI instruction is used) to do kernel-only tasks such as file I/O, > process management and networking. _______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies