|Two books that you can download:
Linux From Scratch[^]
Beyond Linux From Scratch[^]
I started working through LFS when I was in high school but never finished it. It should get you through a lot of the basics (filesystem, booting, daemons, etc). After that I believe BLFS should help you get started on setting up graphics and a desktop environment, but like I said I never got that far. I opted to customise Gnome on an Arch Linux install instead.