What is Surro Linux?

What is Surro Linux?

  • Surro Linux is a new Linux distribution in development here intending to become a fully LSB 5.0 certified and FHS 3.0 compliant operating system.  It will use RPM for its package manager and will have public repositories.
  • Surro Linux is not based on another distribution and is not a “spin” of an existing Linux Distribution.
  • It is not embedded Linux.

What are notable milestones to get there?

While it takes about a day to create something that will just boot, we’ve found that an enormous amount of the work is in designing it to be usable on a large scale by others in a consistent fashion (setting up infrastructure, source code management tools, designing how it will be version controlled and the filesystem structures to use, designing the actual system to be used beyond just a POC, all of our support services for the design team, there are a million things that make releasing a real distro different than just building an embedded linux system (which some people confuse this effort to be sometimes), and many of those “extra things” that come with a real release we’re examining how best to do as an organization still.  If we just wanted a bootable disc, we would have already released it.  Getting to a boot is easy, until you add even a single other user, let alone LSB 5 compliance, which no other distro has done yet.

So, to understand the milestones, you’ve got to understand that this is not just one project, but a project that is a collection of projects:  Examplar, Foster, Surro Linux.

Milestone 1:  Build Examplar.

Examplar is a test and automation framework built for Surro Linux.  It is designed to be a generic automation tool and is nearing completion.  I am currently building this myself while building out infrastructure and I am taking my time.

Milestone 2:  Use Examplar to Build Foster

Once Examplar is complete enough, it will be used to execute the build scripts from our previous iterations (or something kind of like them) to build the boot environment.  This environment is a bootable ISO called Foster.

Foster is used to build the actual distribution.

Using Foster instead of cross compiling everything in a weird kind of soup dump will save us an ungodly amount of time troubleshooting the scripts being executed and this also ensures a sane build environment.

Milestone 3: Use Foster to build the SURRO prototype image.

Due to the nature of Examplar’s design it ought to be able to drive the booted system using a differently configured version of itself on the build iso that will proceed to build out the actual distribution image using packages from our public repository and black magic.

At this phase users may be able to demo the image but installation will be ugly.

Milestone 4:  Build an installer that puts SURRO on a local disc

At this phase we’ll be putting efforts into stripping the prototype image down to just enough to build an installer on it and then building that installer.  It’ll likely be curses-driven for a while.

Milestone 5:  Creating a lifecycle — Self Maintaining Process.

At this phase we’ll be shifting efforts into creating a lifecycle for every aspect of Surro Linux.  This includes package version management and generation (we’re looking at mock for package generation and if you’re familiar with CI/CD we’ll probably be using some workflows you recognize).  It includes sustainable design process design (that’s a mouthful, and also a thing).

Every milestone prior to this will need to be done correctly for Milestone 5 to be done well, so, Milestone 5 should be thought of as being split among all the other milestones and is a huge timesink but is worth it.  The intention is to design it to be maintainable by a small crew, able to accommodate a large crew, and keep itself going once we make a release.

Timeline:

As it gets completed.  We’re taking our time with it and if you’d like to contribute we are definitely looking for more people to speed it up.

Question, Comments, Concerns:

Post to our mailing list using the link in the sidebar — This project would love to hear from you.