Let's get started with exploring and understanding how to do Linux Kernel Development and working with the kernel development community. Please spend some time understanding the Kernel Development Process and Contributor Covenant Code of Conduct and the Linux Kernel Enforcement Statement.
If you are still with me, the next important step is finding a development system that suits your needs. x86-64 systems are a good choice for a basic development system, unless there is a need for a specific architecture and/or configuration.
The second step is to install distribution of your preference. I prefer Ubuntu, hence this document will have the details on how to configure a kernel development system running Ubuntu distribution. Please follow Install Ubuntu desktop for installing the Ubuntu release of your choice.
On development and test systems, it is a good idea to ensure there is ample space for kernels in the boot partition. Choosing whole disk install or setting aside 3 GB disk space for the boot partition is recommended.
Once the distribution is installed and the system is ready for development packages, enable root account and also enable sudo for your user account. The system might already have the build-essential package which is what you need to build Linux kernels on an x86_64 system. If build-essential is not already installed, run the following command to install it and other required tools:
sudo apt-get install build-essential vim git cscope libncurses-dev libssl-dev bison flex
Once you have a development system, it is time to check if your system supports the Minimal requirements to compile the Kernel. The next step is finding information on email clients and configuring your email client for sending patches and responding to emails. Please review the Linux kernel coding style.
Please send patch to linux-kernel-mentees mailing list and Shuah Khan