If someone asked me “What is your favorite part of the Linux operating system?”, I would have to say the Linux kernel itself. And it’s much the same for Unix too. Having that source code of the kernel loaded up in Emacs ready
for some serious tweaking gives you a strange sense of power at your fingertips. But it’s not having that sheer power that I love, it’s simply having the ability to edit that kernel source code freely without any restrictions. But there does lie one major hurdle. Only serious and advanced Linux users and developers have the understanding and ability to configure and build kernels from source. It’s not easy and takes some time to learn the skills to really make it worthwhile and successful. But at the moment, there’s no real incentive to learn how to configure and build a custom kernel other than just curiosity itself. And that curiosity has to come from within the user.
Linux veterans will know well and true that there was a time when Linux was command-line only and required a vast amount of knowledge to operate. In truth, the perception that only advanced users use Linux was at one point correct. The perception is much more irrelevant with modern Linux. And largely thanks to the graphical user interface. It not only made daily usage of Linux much more productive, but it also gave an average everyday computer user the ability to try and use Linux for their desktop. But all the good old tools and commands that veterans love to use are all still readily available and in use much the same way as they were in the very beginning. In theory, if something is made easy to use, then it’s more likely to be used.
I feel that kernel customization and development is still in its infancy. Much resembling Linux in its early days. Perhaps if more attention and focus was given toward providing some graphical based tools and software with the focus on easy kernel editing, configuration, building and installing, more users might take a keen interest in custom Linux kernels. I’m not saying that we need to discontinue the old processes and methods of kernel development, but enhance the experience a little more so that more people without the knowledge but the will, can learn how to configure and build kernels. Much the same way Linux has grown and matured to the service we all use today.
If one was to take a deep look in to the depths of all aspects of the Linux eco-system and create a timeline of all the improvements made since the very first Linux kernel 1.0, then you’d quickly realize that not only would your timeline be very large, but it would also display the sheer amount of attention that has been taken to improve the overall usability of Linux as a desktop operating system. Perhaps the time has come to take it one step further and cater for the one primary piece of code that hold it all together, the Linux kernel.
If you’re a kernel developer of any type, I’d like to hear your thoughts. Comment below or simply send me an email here at Unixmen.