As I observe students building LFS, I see them make a lot of mistakes. This is not necessarily bad as making and correcting errors is a good part of the learning process.

What I would like to do though is to provide sanity checks during Chapters 5 and 6 to try to catch mistakes earlier in the build process. I've seen students progress well into Chapter 6 when they've made some errors in Chapter 5 and they then need to go back and restart Chapter 5.

One problem that seems to pop up a lot is students running make and then forgetting make install.

What I have thought about is to produce a simple list of files of critical directories at appropriate times where a comparison to a reference list could highlight missing files.

Appropriate check points that I've thought about is at the end of gcc-pass2 in Chapter 5 and after gcc in Chapter 6. Two other logical locations would be at the end of each chapter.

What I tried in Chapter 5 after gcc-pass2 was

  ls -RF /mnt/lfs/tools/{bin,sbin,lib} > /tools/chap-5.10.files

and a similar command at the end of Chapter 5.

This wasn't really satisfactory, It produced files of 1688 and 4979 lines each and the format was not the best when looking at the contents. A lot of the files are headers buried deep into /tools by gcc and the kernel.

One thought I has was to do

  find /mnt/lfs/tools/{bin,sbin,lib} -maxdepth 1|sort

which at the end of Chapter 5 is 607 lines.

For Chapter 6, I think the following might be reasonable from inside chroot:

  find /{bin,sbin,lib} /usr/{bin,sbin,lib,libexec} -maxdepth 1|sort

which provides a file of 1055 lines.

So, what do you think? For a sanity (not comprehensive) check is this enough? Too much?

Comments appreciated.

  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to