In my ~20 years of experience, the only way to get good at something that is incredibly complex like kernel development, you will need to actually try to build the thing. Over and over and over. It doesn't matter what those reference manuals or books say. The computer doesn't give even the remotest feasible shit about the implementation reference or some particular author's opinion. Your tools do not know you are a noob trying to become a master. There is no gradient to follow that will allow you to meet this challenge in a fair way.
Many times, this frustration just boils down to cleverly-disguised subconscious procrastination. For me, the fear of trying to do the hard thing and failing at it is ultimately what keeps me from engaging certain things. This is a good sensibility to have so you don't bash your head against the wall, but sometimes you have to override it, start writing code, and accept that you will make some horrific mistakes. There is a light at the end of the challenge tunnel, that is if you actually begin to overcome it. This is one of the most addicting sensations I have experienced and I find it can carry me the rest of the way to mastery. That feeling you get when the browser actually loads your first web application, or when the ipsec VPN tunnel you've been fighting for days actually connects and you can ping both ways. Finishing a YouTube video or a chapter in some C kernel development book will never give you the same result.
Many times, this frustration just boils down to cleverly-disguised subconscious procrastination. For me, the fear of trying to do the hard thing and failing at it is ultimately what keeps me from engaging certain things. This is a good sensibility to have so you don't bash your head against the wall, but sometimes you have to override it, start writing code, and accept that you will make some horrific mistakes. There is a light at the end of the challenge tunnel, that is if you actually begin to overcome it. This is one of the most addicting sensations I have experienced and I find it can carry me the rest of the way to mastery. That feeling you get when the browser actually loads your first web application, or when the ipsec VPN tunnel you've been fighting for days actually connects and you can ping both ways. Finishing a YouTube video or a chapter in some C kernel development book will never give you the same result.