LFS brand injection in Pure Linux Builds

So, according to Chapter 02 of the SystemD LFS documentation, it looks like there is an LFS environment variable and user that will need to be set for various later instructions that will make any product resulting from use of those instructions a derivative of LFS.

While I’m still on iteration 0, I want to mark these as found so that during Iteration 2 I will have a clear path for an independent Linux build.

Update:

After reading a little further, it looks like they’re going to bootstrap builds from a parent system and use the $LFS variable as a placeholder for the mountpoint of a dedicated filesystem that is storage for the resulting binary objects of any builds that are done.  So this is really just a convenience factor.  The reason for having a dedicated user is still unclear.

LFS, BLFS, then SURRO FROM SCRATCH

As I’m shoveling my way through the LSB docs, I ventured a little further into the LFS documentation for a break.  It looks like the LSB-compliance effort I was hoping for is indeed going to be mostly completed by finishing a BLFS build, so, I got lucky — since the plan was to do LFS to get my hands dirty, then a BLFS to get tough, and then build entirely from scratch for the 3rd iteration using the processes and knowledge I develop from the first two iterations.

This is a lucky break, because, LSB is a massive standard specification and just the common core specification of the standard is over a thousand pages — highlighting the reason Debian made their break and why many major distros just never tried to get their distro certified.

Interesting stuff.  No other updates.

LSB and FHS

Right off the bat during my research of some required reading in LFS, namely the LSB, FHS, and POSIX standards, I have discovered a rather frightening fact:

All major distros are drifting away from them and have been for years.

I knew this to some extent but did not realize how bad it has gotten.

Debian has dropped LSB altogether.  Ubuntu is heading that direction.  Red hat isn’t LSB compliant nor FHS compliant.

Not a single distribution, anywhere, would pass an LSB 5 or FHS 3 certification.

So, it’s immediately apparent that SURRO Linux will absolutely need to be FHS and LSB-compliant.  We’ll have to slip on POSIX to maintain LSB compliance.

I suspect the cause for this is standards slip due to organizational entropy for the ‘big leaf’ distros and hurdles with the amount of work for the smaller ones, but, I’m still looking into it.  To be honest I’ve never gone this far into LSB, I just know it’s important to adhere to or you run into the same problem that drove so many users from BSD systems back in around the 2006-2009 exodus.

That said, it may make an interesting statement if I make the goal of the distribution to make the LSB 5 certification and FHS 3 compliant, as while FHS is universally known to be a best practice, LSB is also still a relevant standard and it would make mine the literally only distribution that cleared that bar if I can do it– with a public list to get the distro name added to as the acceptance criteria.  The implicit statement being made I guess would be somewhere on the ‘stop being edgy’ spectrum.

 

 

Some links:

LSB

http://refspecs.linuxfoundation.org/lsb.shtml

FHS

http://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html

POSIX

http://pubs.opengroup.org/onlinepubs/9699919799/

 

Advent SURRO: Linux, brought to you by SILO GROUP

It looks like 2017 is the first year I finally am at a point where I get to pick up before I got derailed on this 8 years ago:  My very own Linux distribution.

I’ve always been a highly opinionated *Nixer and those opinions can get me into trouble from time to time.  While I’m a little concerned that every large project of mine like this has brought on some repercussions from the powers that are already established in the older parts of the Linux world– which are highly insecure, and sensitive to challenge, I think that building out my own Linux will serve many purposes not able to really be met by continuing to pound away on already existing distributions like the legions and legions of developers and maintainers contributing to those major projects.

That said, It’ll likely never be a major project.  This is more for me than anyone else.  But I know that when I build stuff if it makes it to release it will likely be polished eventually after a great period of not being anywhere near ready.  It’s just a concern to note going into this.

This will be one of the most involved projects I’ve ever worked on but I’m willing to get this to alpha release no matter what gets in the way.  I’m ready for the challenge.  It doesn’t need to move quickly.  It needs to move in a correct manner, which is in the perpetual footsteps of a student locked in revision.

The intention currently is to use the Linux From Scratch project as a springboard.

  • I will go through the LFS documentation and build out an LFS distribution.
  • I will do the same with BLFS afterwards.

Once those are complete I will build an entirely new distribution using the two previous builds as training for the real thing.  I’m sure I’ll learn a great deal, and I hope that others join in on this process once I have an alpha release.