Thanks for everyone's help getting through some of the problems I encountered. Finally got LFS complete and booted and thought I could share a few things extra issues I came across using git repositories for GCC and the Linux kernel.
Because I'm a weirdo, I want to eventually get my LFS software built directly from official repositories. For the initial build, I used the provided tar balls EXCEPT for GCC and Linux. There were a couple of extra issues that seemed to come from this. GCC 9.0.1 (experimental) - I came across an issue after building GCC in chapter 6 where the linker was still using libraries from the /tools directory. Not sure what the exact issue here was, but the answer I found (from a previous version of LFS coincidentally) was to dump the specs file from GCC and then manually change the linker settings so that the /tools directory references were replaced with libraries of the final system. This may be an issue going forward for LFS so I thought I'd share, or maybe I just did something dumb somewhere else. Systemd-240 - There was a Werror build problem with systemd. Warnings generated from the "Werror=format-overflow=" configuration option halted the compilation. I can go back and find the offending file if people are interested. Adding "Wno-error=format-overflow" to the ninja build configuration options helped systemd to finish compiling with no other errors. It remains to be seen whatever was causing this warning will wreck the system. My only idea is that GCC 9.0.1 is being picky in a way that 8.20 is not. Linux 5.0.0 - I made a huge mistake in using the git repository to compile the kernel whereas I used the tarballs to install the Linux headers for 4.20.6. I decided to just go through with it and see if the system would boot still, and it appears having a different kernel version from the kernel headers did not blow everything up. Maybe someone here can let me know how to go back and reinstall the updated headers without ruining everything or recompiling the whole system. Last note, I managed to use the old "package user" system from way back to build and install all my software. I did not rely on the build scripts provided by the more_helpers... files, instead just using the "Install_package" script to do the grunt work of creating the users and and home folders in /usr/src. Then I just manually copied and pasted the commands from the book (manually changing d-bus to run as suid). Now I have a full LFS system where every binary and library shows which package is belongs to. I'm a high school math and computer science teacher so I'm using LFS as a way to learn more about Linux and it's ecosystem so that I can better teach Linux in my classes.
-- http://lists.linuxfromscratch.org/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page
