I’m excited to announce some significant progress on this effort since my last post.
After a couple years of frustration trying to figure out a way to design this process in a way that does not involve how LFS does it, which is problematic in so many ways between poor documentation in the binutils/gcc/etc docs, and the arduously inflexible documentation from the LFS project, I’ve decided to go a different way and test this out in a prototype called “Foster-B”.
Intended to be a place where I can hack away without destroying my existing codebase with experimentation, I opted instead to litter the internet with various repositories of experimental sessions, in this case called Foster-B where I wanted to see if I could “outsource” the responsibility for maintaining the cross-compiler pieces to another entity without compromising SURRO’s “not based on another distro” requirement, like BUILDROOT would do.
At this point Foster-B has a working cross-compiler inside the container residing at /opt/crosstools.
The cross-compiler provider is the crosstool-ng project. It’s pretty clumsy but I got it working. And this should bring us up to the point in the process where LFS would be in about their chapter 6 using a method that is actually designed to be automated without potentially gutting the user’s host system.
This one part required a rather large investment of time and it’s not even done yet. I still have some cleanup to do, and I still need to use the cross-compiler to compile a chroot, which is actually a much easier task.
I think we’re through the “hump”, though, and I’m excited about days to come when I can be in that chroot building out the SURRO Linux proper.