If you are truly adventuresome you might want to try build Linux from scratch using the kernel source code. The source code is available at Linus Torvalds GIT repository or you can find a lot of information, along with the source code at The Linux Kernel Archives.
This will teach you a great deal about building Linux apps and how to use the development environment in Linux. There are a lot of resources available on the Web - YouTube videos, tutorials for building from scratch, etc.
If you decide to try this - I wish you good luck and have patience.