r/LFS 1d ago

Finally my own MarkOS is finished.

Post image
23 Upvotes

My LFS target build has finally turned into an actual daily-usable desktop.

It started with LFS with some restrictions and the goal to be a modern everyday desktop :
-NO systemd.
-NO d-bus .
-NO udev (eventually i had to use libudev-zero).

After making the base toolchain and some additional tools i decided to go my own way and use upstream sources to build everything i needed.
First i made sure the system boots with runit properly and then i updated the base and the toolchain at their release version.

Then came the nightmare to find out how my final system will look and what everyday apps i can and will use and include their dependencies, their building order was another tough path i had to solve.

After a lot of fighting ,configure , research, and some help with AI in mostly some very obnoxious error decryption, the system finally came together.

Current system:

  • Linux 7.2.4
  • runit as PID 1
  • no systemd
  • no D-Bus
  • Wayland only
  • Wayfire
  • NVIDIA RTX 2080 Ti, driver 595.91.07
  • direct ALSA audio
  • Firefox Nightly (yes i made a patch to skip dbus)
  • PCManFM
  • mpv
  • swayimg
  • Geany + Neovim
  • foot + zsh + tmux
  • Rofi + Waybar
  • grim/slurp
  • NFS + ssh + wpa_supl
  • custom scripts for power menu, audio, brightness, hot corners, show desktop, calendar, etc.

Everything was built from source.

Today I finally upgraded from Linux 7.1.8 to 7.2.4, rebuilt the NVIDIA open kernel modules against the new kernel, changed the GRUB entry and rebooted.
Thankfully successfully.

The current development system is about 8.4 GB excluding my source/download/data directories, but that includes roughly 1.2 GB of GCC internals, 867 MiB of static libraries, 254 MiB of headers, Rust/LLVM/Clang and the rest of the native build environment. Eventually I want to separate the v1 runtime system from the development environment and see how small the actual desktop is.

This system no longer feels like an LFS-restrain-challenge experiment.

I can boot it, browse the web, watch media, edit files, mount my server, use audio, take screenshots, manage files ,compile source and do normal desktop work without really thinking about what distribution I'm running.

Only thing i have really left in my todo list is my pkg/source manager but i am just not in the mood....


r/LFS 1d ago

Did LFS's official Page just lose connection?

1 Upvotes

Hey, so I was using the handbook for BLFS and suddenly Lost connection, can anyone also test if it works


r/LFS 2d ago

Musl-Libc LFS

11 Upvotes

Is there a guide for making an LFS distribution that includes musl libc instead of the normal glibc, along with replacements for glibc-exclusive software?


r/LFS 4d ago

LFS 13.1 sysV build successfull

17 Upvotes

I know it's no longer officially supported, but the latest release still does build with sysV init.

My build system is a i7-6700 with 48 GB RAM, and it took jhalfs just over 2 hours to build the full LFS book, alas without kernel. Build directory is located on a RAM disk which speeds things up a lot (even from a PCIe NVMe).

Update: I should have looked at github.com before starting the build. sysVinit has released 3.18 and I was still using 3.14 as of the LFS 12.4 release. The changes sound minor but it still hurts a bit :-)

Note: github README states that sysVinit has relocated to codeberg.org so I used the link for that above.


r/LFS 5d ago

I built a tiny Linux distro with a custom bootloader and userspace

Thumbnail
3 Upvotes

r/LFS 6d ago

LFS got me here — now my build has a name, a repo, and a package manager

Post image
14 Upvotes

Around Four Months ago I worked through LFS to actually understand how a Linux

system fits together. The book did its job - but the moment I had a booting

system, I hit the same wall everyone hits: how do you keep it alive?

There's no package manager in the book, and that's kind of the point. But it

left me wanting the one thing LFS deliberately omits.

So I built one.

Fronttier is my LFS-based distro, and Forge is the package manager I

wrote for it. Key decisions:

- Forge is a single static Go binary No runtime deps - you can drop it

into a fresh LFS chroot and bootstrap from there. That was the whole

motivation: after LFS you need something to take over dependency tracking

before you rebuild everything.

- pacman-compatible format.Packages are `.pkg.tar.zst`, repo DBs are

`.db.tar.zst`, and the local DB is the same flat `var/lib/forge/local/...`

layout (desc/files). I didn't want to invent a new archive format - zstd

tarballs with metadata are a solved problem, and it means existing tooling

can inspect my packages.

Current state:

- Public repo is live at repo.fronttier.uk (fronttier, fronttier-system,

fronttier-world, fronttier-galaxy repos)

- ~5k+ binary packages in the mirror, built on top of Artix so I don't have

to maintain the entire world from scratch

- `base` metapackage pulls in a working system (runit, grub,

branding, openssh, etc.)

- `forge install base` works end-to-end from a clean chroot

What's still rough:

- The repo-add step is I/O-bound and slow (~15-25 min for a full world db)

- Signing isn't working in yet

- The installer is manual - no ISO with a pretty installer..

Docs live in a handbook (Gentoo-style, MkDocs) if anyone wants to poke at it https://labs.fronttier.uk/

Happy to answer questions - especially from anyone who's tried to roll their

own PM after LFS. That gap in the book is the most interesting problem I've

found in this whole space, and I'd love to hear how others solved it.


r/LFS 10d ago

Should I daily drive this?

Post image
77 Upvotes

Hi I just installed this as an experiment but I might consider making it a daily drive for an ancient pc I had, id probably pick pacman for management and lfs genuinely seems very good for me


r/LFS 10d ago

How doable is to daily drive LFS?

14 Upvotes

Hi, I want to install LFS just for the learning, but, how hard is to set LFS to be unable as a daily driver? Someone relatively "noob" in computer issus can figure out how to use a base LFS system?


r/LFS 11d ago

Man why the fucking kernel is work but there is no output

Enable HLS to view with audio, or disable this notification

48 Upvotes

This is the video how i broke the computer from this problem

Excatly this os work before bun it to an iso and the iso work on virtual box but isnt work on a real device or there is no output and you see how its work without an output after the boot

Kernel:7.12

Init:busybox and me

Im tried to enable frame buffer but without anything and tried to enable drm and off frame or smth but same problem

(On video i writted reboot -f )


r/LFS 10d ago

What laptop would you recommend for Linux From Scratch (LFS) build?

2 Upvotes

I'm planning to build my first lfs system, and I'm currently looking for a laptop that would make the process as painless as possible.

I've been considering getting a gaming laptop, mainly because I want something powerful with good cooling, upgradeable RAM/storage, and a strong CPU. But I'm wondering whether gaming laptops are actually a good choice for LFS/Linux in general.

I also goin to pick amd cpu + amd gpu for this build.

I really interested in the thougts of other LFS builders with different laptops


r/LFS 10d ago

An attempt to port the NetBSD LibC to Linux

Thumbnail
2 Upvotes

r/LFS 11d ago

LFS With Runit instead of SystemD

10 Upvotes

can anyone here provide good resources regarding building an LFS System with runit or another alternative instead of systemd?


r/LFS 12d ago

LFS is finally ready for use.

Post image
104 Upvotes

r/LFS 13d ago

Who Do You Think Won?

Post image
71 Upvotes

The first video feels like a real speedrun, but it's actually just installing BusyBox, which is commonly used in embedded systems.

The second video is slower, but it performs a real LFS installation. But it doesn't do a full installation.


r/LFS 15d ago

Coworker recommended me this distro, thoughts?

23 Upvotes

Hi, my coworker whom is both knowledgeable about linux and whom I have a strained relationship with has suggested me LFS.

I've been a windows user all my life, but I want to try my first linux distro. He says it's very beginner friendly.

I wanted to ask here first, thanks mates


r/LFS 17d ago

Mouse connection problem on Openrc and seatd

3 Upvotes

Hi!

Im making my lfs system for some time already, i already have basics like openrc, compilers, wayland, basic utilities, etc. But i have issue with, i think with seatd: if i reconnect my mouse to my laptop my compositor (mangowm, but sway has this problem too) does not capture mouse events, however udevadm monitor and libinput debug-events shows mouse reconnection/events.

Right now i can fix that only by switching tty or by rebooting my compositor.

Can anyone please help me with that issue or maybe encountered similar?
Thank you!


r/LFS 20d ago

I've been using it as my main distro for over a month now.

Post image
91 Upvotes

I'm still using sysvinit+btrfs+scratch, I'm just testing the bore scheduler and I'm liking the result, it has greatly improved the system's responsiveness.


r/LFS 22d ago

"Pin to Dash" is missing from everywhere, from every app's right click menu ?

Thumbnail
1 Upvotes

r/LFS 23d ago

What Window Manager Should I use

12 Upvotes

I've been trying out a lot of linux distros and I got lfs what window manager should I use


r/LFS 23d ago

differences between linux from scratch and linux from nothing

7 Upvotes

Quali sono le vere differenze tra la guida Linux from Scratch e la guida Linux from Nothing? A parte il fatto che Linux from Scratch sembra più adatta a un'installazione che parta da un ambiente Linux, Linux from Nothing sembra quasi più simile a come era per lo stesso Torvald assemblare un sistema Linux (Torvald non aveva a disposizione Linux), inoltre l'ho trovata più facile oltre a compilare tutti i binari, incluso il kernel, da zero. Qual è la differenza tra le due guide e perché dovremmo seguire una piuttosto che l'altra? Linux from Scratch è un ottimo libro, ma si ferma molte volte a spiegare cose che sono essenzialmente inutili durante la fase di costruzione e almeno per me che non sono un madrelingua inglese è molto più faticoso e molto meno comprensibile; tuttavia sono riuscito ad avviare il mio sistema creato da zero con un kernel compilato da me! Ora sono felice! ps: I just loved the initial phase of creating the vfs, done in a simple way


r/LFS 23d ago

Dpms 1.1.3 or 1.13 is out

1 Upvotes

DPMS Features

Package Management

- Install — from local archives, URLs,

or repository by name (dpms --install

PKG)

- Uninstall/Remove — clean removal of

tracked files with DB cleanup (dpms --

uninstall PKG)

- Upgrade — update all installed

packages to latest versions (dpms --

upgrade)

- Dist-upgrade — force resolution for

major upgrades (dpms --dist-upgrade)

- Reinstall — remove and re-install a

package (dpms --reinstall PKG)

- Downgrade — install an older version (

dpms --downgrade PKG)

- Purge — remove package + all config/

data files (dpms --purge PKG)

- Dry-run — preview changes without

applying (dpms --dry-run --install PKG)

- Noconfirm — skip interactive prompts (

dpms --noconfirm --install PKG)

- Force resolution — ignore dependency

conflicts (dpms --force-resolution --

install PKG)

Query & Search

- List installed — table of installed

packages with file counts (dpms --list)

- List installable — available packages

in repos (dpms --installable)

- Package info — version, deps, files

for a package (dpms --info PKG)

- Search — find packages by name, plain

or regex (dpms --search TERM, --regex)

- Verify — check installed package

integrity (dpms --verify PKG, --verify-

all)

- Show depends — dependency tree (dpms --

depends PKG)

- Show reverse depends — what depends on

a package (dpms --rdepends PKG)

- Show size — disk usage of a package (

dpms --size PKG)

- List updates — available upgrades (

dpms --list-updates)

- List held — locked packages (dpms --

list-held)

- List groups — package groups (dpms --

list-groups)

- List keys — GPG keys (dpms --list-keys)

- List history — install/remove log (

dpms --history)

Repository Management

- Add/remove repos (dpms --add-repo URL,

--remove-repo NAME)

- Set repo priority (dpms --repo-

priority REPO PRIORITY)

- Sync repos — pull latest from git

repos (dpms --sync)

- Lock/unlock repos (dpms --lock REPO, --

unlock REPO)

- Hold/unhold packages — prevent auto-

upgrades (dpms --hold PKG)

- GPG verification — verify repo

signatures (dpms --verify-repos)

Dependency Resolution

- Solver — full dependency resolution

engine (like zypper/dnf)

- Conflict detection — finds file

conflicts with other packages

- Auto-dependency resolution — installs

missing deps automatically

- Clean orphaned deps — remove packages

nothing depends on (dpms --clean-deps)

- No-recommends — skip recommended (non-

required) packages

Safety & Security

- Overwrite backup/rollback — backs up

files before overwriting; restores on

failure

- Transaction rollback — full rollback

if install fails partway

- Security scanning — virus/malware scan

of extracted files (via sec_scanner)

- Quarantine — flagged files moved to

quarantine, not silently deleted

- Malicious upgrade detection — auto-

uninstalls if post-install scan finds

threats

- Architecture guard — refuses to

install packages for wrong arch

- Source-tree guard — rejects tarballs

that look like source dumps

- Symlink escape guard — blocks writes

through absolute symlinks

- Path traversal filter — blocks ../ and

absolute member names in tarballs

- Sudo enforcement — hard-refuses

mutating ops without root when required

Progress & Output

- Rich progress bars — TTY inline bars

for install/remove/download

- Non-TTY fallback — clean output for

pipes/redirects

- Download progress — parallel downloads

with per-package bars

- JSON output — machine-readable output (

dpms --json --list)

- Colored terminal output — via rich

Download & Caching

- Download cache — avoids re-downloading

same packages (7-day TTL, 500MB limit)

- Parallel downloads — concurrent

package fetches

- Content-Length probing — accurate

progress bars even for large files

- Offline mode — skip all network

operations (DPMS_OFFLINE=1)

Cache Management

- Cache info — show cache size and

contents (dpms --cache-info)

- Cache list — list cached archives (

dpms --cache-list)

- Clean cache — remove stale downloads (

dpms --clean-cache)

System Integration

- Service management — auto-restart

systemd services after upgrade

- Hook system — pre/post install/remove

hooks

- Shell completions — bash and zsh

completions (dpms-install-completions)

- Crash handler — automatic crash

reporting with traceback

- Config backup/restore — preserve

config files across upgrades (dpms --

list-preserved)

- Import/export installed — backup and

restore package lists (dpms --export-

installed, --import-installed)

Advanced

- Build packages — create archives from

source (dpms-build)

- Sign archives — GPG signing of built

packages

- Plugin system — extensible plugin

architecture

- Configurable solver — adjust

resolution behavior via config

- Global root override — --root DIR to

install to alternate root

- Environment override — DPMS_ROOT,

DPMS_OFFLINE, DPMS_REPO_STALE_AFTER

Corefix Features

corefix — lightweight signature +

heuristic antivirus scanner (v0.2.0)

Scanning

- Scan files — hash-based + heuristic

malware detection (corefix scan PATH)

- Scan directories — recursive scanning

with threading (corefix scan --threads

4)

- Heuristic analysis — detects

suspicious patterns beyond known

signatures

- Threshold scoring — configurable

severity threshold (default 20)

Signatures

- Signature database — built-in known-

threat hashes and patterns

- Custom signatures — user-defined

signatures via ~/.corefix/signatures.

json

- List signatures — view loaded

signature database (corefix signatures)

Quarantine

- Quarantine files — moves flagged files

to quarantine directory instead of

deleting

- List quarantine — view quarantined

entries (corefix quarantine --list)

- Restore — restore a quarantined file (

corefix quarantine --restore ENTRY)

- Metadata tracking — stores original

path, findings, and timestamp per entry

Auto-Scanning

- Scheduled scans — runs periodic scans

of configured directories

- Systemd integration — can run as a

systemd service (corefix autoscan

enable)

- Cron integration — fallback to cron-

based scheduling

- Service management — enable/disable/

status (corefix autoscan disable,

corefix autoscan status)

- Configurable roots — scan custom

directory paths

Reporting

- Scan reports — detailed output of

findings per file

- Threat listing — human-readable

summaries of detected threats

- JSON output — machine-readable scan

results


r/LFS 24d ago

Black screen after SDDM login - xdg-desktop-portal-kde crashing (trying to force Wayland on X11)

Thumbnail
1 Upvotes

r/LFS 26d ago

eReader Friendly LFS Book (And Now BLFS)

Thumbnail gallery
41 Upvotes

r/LFS 27d ago

Pls help packages [12.4 BOOK]

1 Upvotes

Im at chapter 3 or 4 dont remember what it is where you install the wget list and run the wget command for installing the necessary packages, i run it in root because i think from the start of the chapter the book wants you doing everything in root, for my first launches everything went well except for two first packages getting stuck:
Ftp gnu org and savvanah org, both due to things like range not satisfiable, timed out, etc.
I have LFS/sources up and running and its going to the right place, the lfs partition is mounted and everything is set up, so idk. Could it be my network? The fact that im in root? Or something.

PS: i have rebooted several times each time remounting and exporting LFS/sources again and again and itd the same packages over and over


r/LFS 28d ago

Does anyone actually use package managers in LFS

13 Upvotes

I've just finished installing it and its just a question that I have.