r/LFS • u/Francesco12o-Github • 1d ago
Looking for packages to my minimal distro
Hello, i made an minimal Toybox-based Distro! its called TinyDistro, took me 3 days and 3 hours 40 minutes of nonstop work to finish , i did integrate some packages, nano, neofetch, bash , sh 200+ applets, minimal tmux, and more, im looking for more minimal packages to put in this 9.8 MB System, i might want to add a package manager named tdp, and im planning for installing other apps, such as gcc and make
r/LFS • u/Francesco12o-Github • 2d ago
Hello, im new to LFS!
i made an distro from scratch using the LFS Book! its called TinyDistro, i tested it on my raspberry PI, its usuable, init-free and uses toybox, did some work tough, 3 days, 3 night shifts t 01 AM
r/LFS • u/Cool-Chicken6754 • 2d ago
Cómo inicializar pelo Debian ou lfs.img
Hello again, last night I was mounting my LFS which contained the files ready for tonight and I rebooted and this GRUB screen appeared.
r/LFS • u/eben1689 • 2d ago
LFS for eReaders
galleryI made my own e-paper eReader friendly version of the LFS book, and decided to share it in case anyone else is interested. Please note that it is intended for casual/educational reading, and not as a guide to install Linux from scratch. It may not represent the current state of the official Linux From Scratch book (packages, scripts, instructions, etc). My goal was better rendering on an eReader screen, a faster load time, and faster page turns. It is still a little slow on my Clara BW, but it is probably the heaviest book I have in terms of formatting lol. Here is the dowload link: https://github.com/ebenezer1689/ebenezer1689.github.io
SDG
r/LFS • u/Cool-Chicken6754 • 4d ago
What would be the best structure for a package manager for my Linux From Scratch distro?
Hola a todos,
Actualmente estoy creando mi propia distribución de Linux basada en Linux From Scratch, y estoy pensando en crear mi propio gestor de paquetes.
Me gustaría saber cuál sería una buena arquitectura para un gestor de paquetes diseñado desde cero.
r/LFS • u/Glittering-Elk-6642 • 4d ago
Maintain packages
Once i get a LFS system running. How do i even maintain it. Do I have to check each and every program when there's an update and then install them?
Thankyou.
r/LFS • u/Cool-Chicken6754 • 4d ago
Is it possible to turn a Linux distribution created from Linux From Scratch into an independent distro or even create a foundation around it, like Ubuntu?
I'm studying Linux From Scratch (LFS) and I have a question:
After creating a Linux distribution based on LFS, is it possible to evolve it into a truly independent distribution, with its own repositories, package manager, updates, and community?
Would it also be possible to create a foundation or organization behind the distro, similar to how Ubuntu has Canonical?
The idea would be to start as a personal project using LFS, build a functional base, and eventually turn it into a larger project with a team and a community.
Has anyone here done something similar or has experience creating a Linux distribution from scratch?
r/LFS • u/Cool-Chicken6754 • 5d ago
Estoy pensando en crear mi propia distribución de Linux con LFS y busco consejos.
r/LFS • u/Aderox20_GDP • 5d ago
Im installing LFS for the first time the last distros i have used are arch,arch,arch (3 different installs) i have started the install but im on gcc pass 1
r/LFS • u/Fast_Ad_8005 • 17d ago
Linux From Scratch: almost five months on
galleryAlmost five months ago, I installed Linux From Scratch (LFS) 12.4 to a QEMU/KVM virtual machine. Then I updated the system to the latest developmental version of LFS and installed some Beyond LFS (BLFS) packages, including Firefox, GNOME and KDE Plasma. I also updated some packages (e.g. the kernel, Vim, GNOME and KDE Plasma) to the latest upstream versions of these packages. I also installed some packages not provided by LFS, BLFS and other LFS books, such as GNU Octave, R, Antigravity, and Julia.
Package management
Since then, I've maintained this system, keeping its packages up to date. I've even written commands (I will admit, with AI assistance) to install packages, update the system, check for updates and rebuild packages to allow for the removal of old libraries.
I have /var/lib/book-packages to store files documenting the book packages I've installed, excluding the Python packages which I manage via pip instead. Each file in this directory is named after the package it pertains to. At the top of these files is the installed version of the package, and below this is the list of files and folders provided by the package.
/var/lib/custom-packages is essentially the same but lists custom packages I've installed, and some book packages I've written my own install scripts to overcome build errors and alike I've encountered.
In the HyFetch output, "797 ( 636, 57, 1, 74, 29)" refers to packages. The 797 refers to the total number of packages installed on my LFS system. The 636 refers to the number of book packages installed and documented in /var/lib/book-packages. 57 refers to the number of custom packages listed in /var/lib/custom-packages. 1 refers to the number of Julia packages (the one installed is Julia itself via juliaup). I didn't install Julia from source as it's an unnecessarily complicated package to compile. 74 refers to the number of Python packages installed. 29 refers to the number of R packages installed.
At the top right of these screenshots you'll notice " 0 0 0". These represent the number of: * package updates available; * packages with missing inventories (indicating a build failure); and * packages with versioning failures (suggesting my mechanism for checking for updates is failing),
respectively. This was added to GNOME using the Executor extension and KDE Plasma using the Command Output widget. I also added the ability to open a terminal running the update command I've defined by clicking on these panel icons. Under GNOME, I also added a tooltip that shows the updates available, files with missing inventories, and packages with broken versioning in a list. Command Output allowed me to do this without needing to edit the widget's source code, but Executor required some source code tweaks to achieve this behaviour.
Wallpapers
I've also added three icons (by writing .desktop files and shell scripts these .desktop files call) to my panel/dock under GNOME and KDE that change the wallpaper. The icon with the white star on a blue background changes my wallpaper to a randomly-selected wallpaper (with the random number used generated using R), the icon to its right changes it to the next wallpaper in my ~/wallpapers folder, and icon to the right of that one changes it to the previous wallpaper in ~/wallpapers.
The fraction near the top centre of the screenshots refers to the number of the selected wallpaper (numerator) and the total number of wallpapers in ~/wallpapers (denominator). For instance, the 98/174 in the KDE screenshot indicates that the wallpaper shown is number 98 out of 174 wallpapers in my ~/wallpapers folder.
If you're wondering where I got the wallpapers shown in these screenshots, they're photos I took while out cycling, walking and hiking.
Conclusion
This experience has been quite interesting and has definitely improved my confidence as a Linux user. It actually makes me think that I could probably effectively use LFS as my daily driver if I really wanted to. It has also taught me a lot of things. For instance, it has taught me why Gentoo Linux has the command emerge @preserved-rebuild.
r/LFS • u/No-Preference8945 • 18d ago
How big of a feat is making a Linux From Scratch?
If you follow the tutorial, get a window manager, kernel and loader, how big of a feat is it? Would it be worth putting in a resume or is it just a hobby? I'm fairly new to all this.
r/LFS • u/BENDY_GT_1324 • Jun 22 '26
Help with Linux LFS build
Hello, I have an HP Victus 16 R1015NT laptop and I can't run `make menuconfig` in LFS. Can anyone help?
r/LFS • u/FOR-Linux-only • Jun 22 '26
My XFCE distro , made in 20 days , and i am pretty happy how it turned out , next step maybe glfs if its worth it.
took 20 days bc of i5 4th generation 4 core processors and 4 gb ram , did lfs 13.0 anyway , did it on my old laptop and grub is the worst sh*t to deal with .
r/LFS • u/Delta-Azura • Jun 16 '26
I built a package manager in Rust as a learning projet for my LFS system
r/LFS • u/Useful_Anxiety_6404 • May 26 '26
i need help solving this problem on 6.4 13.0 lfs version
...rm -f histsearch.o
x86_64-lfs-linux-gnu-gcc -c -DHAVE_CONFIG_H -DSHELL -I. -I/mnt/lfs/sources/bash-5.3 -I../.. -I../../lib -Wno-parentheses -Wno-format-security -g -O2 histsearch.c
x86_64-lfs-linux-gnu-gcc -c -I. -I../.. -I../.. -I../../lib -I../../include -I. -DHAVE_CONFIG_H -DSHELL -Wno-parentheses -Wno-format-security -g -O2 uconvert.c
rm -f shell.o
x86_64-lfs-linux-gnu-gcc -c -DHAVE_CONFIG_H -DSHELL -I. -I/mnt/lfs/sources/bash-5.3 -I../.. -I../../lib -Wno-parentheses -Wno-format-security -g -O2 shell.c
x86_64-lfs-linux-gnu-gcc -c -I. -I../.. -I../.. -I../../lib -I../../include -I. -DHAVE_CONFIG_H -DSHELL -Wno-parentheses -Wno-format-security -g -O2 ufuncs.c
rm -f savestring.o
x86_64-lfs-linux-gnu-gcc -c -DHAVE_CONFIG_H -DSHELL -I. -I/mnt/lfs/sources/bash-5.3 -I../.. -I../../lib -Wno-parentheses -Wno-format-security -g -O2 savestring.c
x86_64-lfs-linux-gnu-gcc -c -I. -I../.. -I../.. -I../../lib -I../../include -I. -DHAVE_CONFIG_H -DSHELL -Wno-parentheses -Wno-format-security -g -O2 casemod.c
x86_64-lfs-linux-gnu-gcc -c -I. -I../.. -I../.. -I../../lib -I../../include -I. -DHAVE_CONFIG_H -DSHELL -Wno-parentheses -Wno-format-security -g -O2 input_avail.c
rm -f mbutil.o
x86_64-lfs-linux-gnu-gcc -c -DHAVE_CONFIG_H -DSHELL -I. -I/mnt/lfs/sources/bash-5.3 -I../.. -I../../lib -Wno-parentheses -Wno-format-security -g -O2 mbutil.c
rm -f tilde.o
x86_64-lfs-linux-gnu-gcc -DHAVE_CONFIG_H -DSHELL -I. -I/mnt/lfs/sources/bash-5.3 -I../.. -I../../lib -Wno-parentheses -Wno-format-security -g -O2 -DREADLINE_LIBRARY -c ./tilde.c
./tilde.c: In function 'tilde_expand':
./tilde.c:188:14: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
188 | if (result = strchr (string, '~'))
| ^
x86_64-lfs-linux-gnu-gcc -c -I. -I../.. -I../.. -I../../lib -I../../include -I. -DHAVE_CONFIG_H -DSHELL -Wno-parentheses -Wno-format-security -g -O2 mbscasecmp.c
rm -f colors.o
x86_64-lfs-linux-gnu-gcc -c -DHAVE_CONFIG_H -DSHELL -I. -I/mnt/lfs/sources/bash-5.3 -I../.. -I../../lib -Wno-parentheses -Wno-format-security -g -O2 colors.c
x86_64-lfs-linux-gnu-gcc -c -I. -I../.. -I../.. -I../../lib -I../../include -I. -DHAVE_CONFIG_H -DSHELL -Wno-parentheses -Wno-format-security -g -O2 fnxform.c
rm -f parse-colors.o
x86_64-lfs-linux-gnu-gcc -c -DHAVE_CONFIG_H -DSHELL -I. -I/mnt/lfs/sources/bash-5.3 -I../.. -I../../lib -Wno-parentheses -Wno-format-security -g -O2 parse-colors.c
x86_64-lfs-linux-gnu-gcc -c -I. -I../.. -I../.. -I../../lib -I../../include -I. -DHAVE_CONFIG_H -DSHELL -Wno-parentheses -Wno-format-security -g -O2 unicode.c
unicode.c: In function 'u32tochar':
unicode.c:121:13: error: 'UCHAR_MAX' undeclared (first use in this function)
121 | l = (x <= UCHAR_MAX) ? 1 : ((x <= USHORT_MAX) ? 2 : 4);
| ^~~~~~~~~
unicode.c:44:1: note: 'UCHAR_MAX' is defined in header '<limits.h>'; this is probably fixable by adding '#include <limits.h>'
43 | #include <xmalloc.h>
+++ |+#include <limits.h>
44 |
unicode.c:121:13: note: each undeclared identifier is reported only once for each function it appears in
121 | l = (x <= UCHAR_MAX) ? 1 : ((x <= USHORT_MAX) ? 2 : 4);
| ^~~~~~~~~
x86_64-lfs-linux-gnu-gcc -c -I. -I../.. -I../.. -I../../lib -I../../include -I. -DHAVE_CONFIG_H -DSHELL -Wno-parentheses -Wno-format-security -g -O2 shmbchar.c
make[1]: *** [Makefile:84: unicode.o] Error 1
rm -f xmalloc.o
make[1]: *** Waiting for unfinished jobs....
rm -f xfree.o
x86_64-lfs-linux-gnu-gcc -c -DHAVE_CONFIG_H -DSHELL -I. -I/mnt/lfs/sources/bash-5.3 -I../.. -I../../lib -Wno-parentheses -Wno-format-security -g -O2 xmalloc.c
x86_64-lfs-linux-gnu-gcc -c -DHAVE_CONFIG_H -DSHELL -I. -I/mnt/lfs/sources/bash-5.3 -I../.. -I../../lib -Wno-parentheses -Wno-format-security -g -O2 xfree.c
shmbchar.c:38:36: error: 'UCHAR_MAX' undeclared here (not in a function)
38 | const unsigned int is_basic_table [UCHAR_MAX / 32 + 1] =
| ^~~~~~~~~
shmbchar.c:28:1: note: 'UCHAR_MAX' is defined in header '<limits.h>'; this is probably fixable by adding '#include <limits.h>'
27 | #include <shmbchar.h>
+++ |+#include <limits.h>
28 |
make[1]: *** [Makefile:84: shmbchar.o] Error 1
rm -f compat.o
x86_64-lfs-linux-gnu-gcc -c -DHAVE_CONFIG_H -DSHELL -I. -I/mnt/lfs/sources/bash-5.3 -I../.. -I../../lib -Wno-parentheses -Wno-format-security -g -O2 compat.c
make[1]: Leaving directory '/mnt/lfs/sources/bash-5.3/lib/sh'
make: *** [Makefile:763: lib/sh/libsh.a] Error 1
make[1]: Leaving directory '/mnt/lfs/sources/bash-5.3/lib/glob'
rm -f libreadline.a
x86_64-lfs-linux-gnu-ar cr libreadline.a readline.o vi_mode.o funmap.o keymaps.o parens.o search.o rltty.o complete.o bind.o isearch.o display.o signals.o util.o kill.o undo.o macro.o input.o callback.o terminal.o text.o nls.o misc.o hi
story.o histexpand.o histfile.o histsearch.o shell.o savestring.o mbutil.o tilde.o colors.o parse-colors.o xmalloc.o xfree.o compat.o
test -n "x86_64-lfs-linux-gnu-ranlib" && x86_64-lfs-linux-gnu-ranlib libreadline.a
make[1]: Leaving directory '/mnt/lfs/sources/bash-5.3/lib/readline'
lfs:/mnt/lfs/sources/bash-5.3$
this error
r/LFS • u/Long-Charity6260 • May 24 '26
glibc-2.42 failing at "make check" in lambda function.
It's not that the end gives a ton of failed ones, it just won't continue:
tst-thread_local1.cc: In lambda function:
tst-thread_local1.cc:173:47: error: no matching function for call to 'std::thread::thread(<brace-enclosed initializer list>)'
173 | std::thread thr{[func] {func (nullptr);}};
| ^
tst-thread_local1.cc:173:47: note: there are 2 candidates
In file included from /usr/include/c++/15.2.0/thread:47,
from tst-thread_local1.cc:27:
/usr/include/c++/15.2.0/bits/std_thread.h:189:5: note: candidate 1: 'std::thread::thread(std::thread&&)'
189 | thread(thread&& __t) noexcept
| ^~~~~~
/usr/include/c++/15.2.0/bits/std_thread.h:189:21: note: no known conversion for argument 1 from 'do_test()::<lambda(void* (*)(void*))>::<lambda()>' to 'std::thread&&'
189 | thread(thread&& __t) noexcept
| ~~~~~~~~~^~~
/usr/include/c++/15.2.0/bits/std_thread.h:143:5: note: candidate 2: 'std::thread::thread()'
143 | thread() noexcept = default;
| ^~~~~~
/usr/include/c++/15.2.0/bits/std_thread.h:143:5: note: candidate expects 0 arguments, 1 provided
make[2]: *** [../o-iterator.mk:9: /sources/glibc-2.42/build/nptl/tst-thread_local1.o] Error 1tst-thread_local1.cc: In lambda function:
tst-thread_local1.cc:173:47: error: no matching function for call to 'std::thread::thread(<brace-enclosed initializer list>)'
173 | std::thread thr{[func] {func (nullptr);}};
| ^
tst-thread_local1.cc:173:47: note: there are 2 candidates
In file included from /usr/include/c++/15.2.0/thread:47,
from tst-thread_local1.cc:27:
/usr/include/c++/15.2.0/bits/std_thread.h:189:5: note: candidate 1: 'std::thread::thread(std::thread&&)'
189 | thread(thread&& __t) noexcept
| ^~~~~~
/usr/include/c++/15.2.0/bits/std_thread.h:189:21: note: no known conversion for argument 1 from 'do_test()::<lambda(void* (*)(void*))>::<lambda()>' to 'std::thread&&'
189 | thread(thread&& __t) noexcept
| ~~~~~~~~~^~~
/usr/include/c++/15.2.0/bits/std_thread.h:143:5: note: candidate 2: 'std::thread::thread()'
143 | thread() noexcept = default;
| ^~~~~~
/usr/include/c++/15.2.0/bits/std_thread.h:143:5: note: candidate expects 0 arguments, 1 provided
make[2]: *** [../o-iterator.mk:9: /sources/glibc-2.42/build/nptl/tst-thread_local1.o] Error 1
I'm currently following the LFS 12.4 handbook, any help and/or questions would be appreciated.
make check was ran in a chroot environment.
Since linuxquestions was taking too long (no messages), here I am.
Getting this error when trying to configure glibc as per the guidebook suggests, I am on chapter 5.5.
Tried looking online for solution but found nothing concrete, then again I may be just an idiot, but any help here is appreciated.
