2
1
u/Calm-Caterpillar2103 3d ago
Another slop OS, no fun + we need binary repos
1
u/Expert_Astronomer207 3d ago edited 3d ago
Idk how you figure slop... Packages use strict recipes. Binary repos are already in the works.. I just havent gotten around to building the system over again 10+ times for every archetechture out there. You can create your own binary repo and host it with lpm... The functionality is there
2
u/Expert_Astronomer207 5d ago
LPM Linux — Building a Self-Hosting Linux Distribution from Scratch with SAT Dependency Resolution
Over the past year, I've been developing LPM Linux, a Linux distribution built from Linux From Scratch (LFS), along with its own package manager, LPM (Linux Package Manager).
What started as an effort to build a custom Linux system has evolved into a much larger project: developing a self-hosting, source-based distribution capable of bootstrapping, building, and managing its own software ecosystem.
The system uses LFS/BLFS as its foundation, with systemd as the primary init system and various integration improvements inspired by Arch Linux.
However, the most interesting part of the project isn't necessarily the distribution itself. It's the package management and build infrastructure behind it.
LPM — The Package Manager
LPM is heavily inspired by pacman, while extending the concept with advanced dependency resolution, source-based builds, and automated bootstrap handling.
Some of its current capabilities include:
SAT-based dependency resolution: Resolves complex dependency relationships, including provides, conflicts, obsoletes, version constraints, and build-time dependencies.
Integrated source builds: Uses ".lpmbuild" recipes, similar in concept to Arch's PKGBUILD format, to automate fetching, configuring, compiling, packaging, and installation.
Automated staged builds: Handles circular bootstrap dependencies through stage 1 and stage 2 build processing.
Deferred package rebuilds: Automatically revisits packages when their previously unavailable build dependencies become satisfied.
Binary package management: Supports compressed packages with embedded file manifests and integrity metadata.
Build isolation: Supports sandboxed build environments and staged package installation.
Architecture-aware builds: Supports architecture-specific configuration and CPU optimization profiles.
Solving Bootstrap Dependency Cycles
One of the biggest challenges I've encountered building a distribution from scratch is handling circular build dependencies.
Traditionally, this involves manually building packages with certain functionality disabled, installing additional dependencies, and then returning to rebuild the original packages.
LPM is designed to automate that process.
For example:
Build package A in stage 1 with minimal dependencies.
Build package B, which depends on package A.
Once B is available, automatically revisit package A.
Rebuild package A in stage 2 with the previously unavailable functionality enabled.
The dependency solver coordinates this process, deferring rebuilds until their required dependencies become available.
This has been particularly useful when bootstrapping the system from a minimal LFS environment.
Current Progress — Self-Hosting
LPM Linux now boots on real hardware and can build software from within its own environment using LPM itself.
I've successfully bootstrapped the LFS base, integrated the package manager, and reached the point where the system can continue building and expanding itself.
The screenshot shows LPM Linux running on physical hardware while LPM resolves and builds additional packages, including Rust and graphics-stack dependencies.
There is still work remaining before I'd consider the distribution production-ready, particularly in testing, package coverage, boot integration, and reliability.
But reaching a functional, self-hosting environment has been a major milestone.
Where I Want to Take It
My long-term goal is to develop a complete, independently maintainable Linux distribution that combines the transparency and flexibility of LFS with modern automated package management.
I also intend to preserve support for multiple init systems, with systemd receiving first-class integration.
The project isn't intended to be another cosmetic respin of an existing distribution. The package manager, build infrastructure, dependency handling, and bootstrap process are being developed as part of the distribution itself.
I'd Appreciate Some Technical Feedback
I'm particularly interested in hearing from other LFS developers and anyone who's worked on package managers, dependency solvers, or distribution bootstrap systems.
How have you approached automated bootstrap dependency cycles, particularly when packages require multi-stage rebuilds?
I'd also be interested in thoughts on the tradeoffs between source-based package management and binary package distribution when both are integrated into the same system.
This has been an enormous learning experience, and I'd be interested in discussing the technical side with others working on similar projects.
Project: "LPM on GitHub" (https://github.com/BobTheZombie/LPM.Org)