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

Reply via email to