Linux kernel development requires a high level of knowledge of the C programming language, git, and operating systems theory. Additionally, it requires extreme persistence as many contributions to the kernel require multiple rounds of rewrites in order to be of sufficient quality to be accepted. This article provides basic steps for anyone interested in learning more about contributing to the Linux kernel.