Sean here,
Obviously the end product is going to be a working cross-compiler and operating system. But you can't just sit down with a stern look of determination and start hitting keys until an OS comes out. No matter how stern that look is.
So step by step, my plan was this:
Part 1: Set up a development environment. This is going to be where I go above and beyond the book a little bit.
* I've found it's very important to have the ability to rewind in case you mess up on a step, so I'll go over version control a little bit.
* I also like having source-based package management. I've found that RPM's specs are very generic and will be using those to teach with. This way, whether the user decides to use a source-based or binary-based package management system (or no system at all, or their own invention), they'll know what they're doing.
* The disadvantage is that, since you can't make your own RPM package database very easily, you end up with slackware-style (lack of) dependency tracking. That's okay for us and this project, but in case an advanced user doesn't want this in the future, we're also going to borrow a page from SourceMage and create some build control scripts. Dependency tracking can be written into these later.
Part 2 through N: Packages. The binutils, C compiler, and C library will each get their own lectures. Some prerequisite tools (like the linux headers for binutils) will get grouped together with these three. After that, groups of four or five packages will be installed together in a single lecture. This will continue until the cross, tools, and core systems are completely built. Every lecture will produce at least one package.
Part 3: Completing. After this stage, a bootable (no graphics) operating system will be created. You can log into it and mess around with it, even get on the internet with it.
Part 4: X windows. We will switch to the CBLFS book for this step. I will walk through installing X-windows over 1 lecture, and the gnome window manager after that. The firefox browser will also be installed in the second lecture.