De-bloating vs starting from scratch is just a point of view thing IMO. Both are fine it’s just which one you’re used to. I take the “build the system” way usually. My systems are only 64 bit, Wayland+ window manager, Firefox + Thunderbird, file manager, terminal emulator and if needed PIA’s VPN GUI app + torrent app. Laptops have also Bluetooth and wifi. I have also two Appimages for my work which aren’t available for Gentoo.
Hate to mess up all your hard work - but - shouldn’t Slackware be on the list - somewhere down the bottom - it’s non-SystemD - probably sits between Arch and Gentoo on difficulty / complexity to install…
From memory - it’s been a few years - Slackware’s a little harder than Arch… I don’t see Slackware on your list either…
Probably 5 years since I last tackled Arch… Maybe same time since I tackled Slackware… I’ve read a few online posts and stuff that pegged, on level of difficulty to install, between Arch (easier) and Gentoo (harder)…
So (hard, to hardest):
arch
slackware
gentoo
And obviously LFS is the hardest of all…
Patrick Volkerding has mentioned SystemD in the past - but not implemented it in Slackware…
It is in the ‘Difficult or Experimental’ category, in non-systemd column.
Following you, I might make another category between that and Gentoo.
Note… I update the table now in a new topic
I like this idea. Would anyone want to work on a system like that with me? I have a lot of the BLFS part done and a package manager. I just need to decide on the more basic parts like Linux kernel settings, Busybox versus Toybox, what type of init system to use. I’d also like to use musl instead of glibc. Wondering if a static system, a bit like Bedrock Linux uses for core programs, would be a good way to go or whether to build it with shared libraries.
Laura, I feel that you might redo that invitation as a separate topic… more people will see it as a new topic. Give a few more details.
I thought about it, but the sad conclusion is I am too old (I turned 80 this year). It would take me too long to catch up with your progress. Best I could do is offer a few opinions
definitely musl
use the newest and therefore best init system…dinit if you want simple or s6-66 if you want everything systemd does. Look at Artix for dinit and look at Obarun for 66.
busybox can be an init system I think
static? Flatpak has a way of keeping static binaries but not keeping duplicate libraries. That solves the size issues with static
package managers need a rethink. Would you consider a ports-like system
Thanks for the init system recommendations. I’ll take a look. Haven’t researched the topic in a while. Busybox does have a simple init system. Rich Felker also wrote a quick and simple init system, sinit.
I’d definitely go with my own package manager. What’s the point of building your own system if you can’t use your own package manager? I’ve been using for over 20 years. I have at least a couple of hundred packages that work with it and I add more as needed. Plus, it’s really fast to add new package build scripts with it. The package manager build scripts make building very reproducible. They’re similar to slackbuild scripts but faster to create and update. Just run them and they build a program or library for you.
I’m tempted to post an invitation as a separate topic, but I doubt anyone but me would be interested.
If you want really simple, you cant beat the BSD RC init system.
I have not looked at sinit
One of the things packaging must cope with is … if the package starts a daemon, the package install must set up all,the startup scripts or service files for whatever init system you use. The outstanding example of doing that well is Artix.
I think it would be possible to re-engineer what Flatpak does with static binaries, but at a lower level.
You are a long way down the track. It is going to be difficult to find someone who could join in at this late stage. Take stock… lone efforts are usually the most innovative.
I assume you know about git version control and branching and merging. You need some sort of version control for a large project, even if on your own.
Have you seen EweOS?
Their icon is a female sheep with horns… if they cant get that right I wonder about their OS?
It is difficult to find any projects that match my goals and interests. That’s why I’ve been doing it on my own in my spare time for several years. I have looked at several musl based projects out there. I’ve even looked at Free operating systems that don’t use the Linux kernel. Usually when I ask, most really aren’t interested in having me volunteer to help out. I did notice a lot of distributions try to stick with upstream versions of software as much as possible with the least amount of changes. One thing that’s different about what I work on is that I like to make a lot of modifications and many of them are not going to end up getting accepted by the original project. I also use a lot of projects that are no longer supported by anyone else. One of my main goals is to be able to customize software so it’s useful for me. I also prefer programs that work well cross-platform so I’m not stuck with a particular operating system in case I want to use a Free/Open Source program for work, on my phone or in other environments. Portability and customizability don’t typically match the main goals of most other distributions out there.
Well that indicates that your project is unique and independent. That is exactly the sort of project that leads to innovative outcomes.
True.
All Linuxes and BSD’s are customizable compared to other OS’s… but not always easily customizable.
Portable apps? … you want for example a browser that runs on anything from your phone to your desktop… regardless of which distro or which hardware?.. That means the app has to run from source code?.. a bit like a Julia program maybe.
Lets be sure I understand you. You want to use LFS to build a distro or at least a personal linux. You want it to have maximum portability. You want its user to be able to easily customize everything, even the kernel. You have your own package manager. You are fixed on musl. You are considering static binaries.
I wouldn’t say a browser running on a mobile phone would be a great example. It is one of the more complicated pieces of software out there. It’s hard to find a decent lightweight browser. I do have some SDL applications I like that work on various operating systems and on my mobile devices. I’ve also been looking into what applications are available for Raylib. I’ve done a little bit of experimenting with Android X86 as an operating system.
Programs built with SDL and Raylib work really well on mobile devices. The Termux project also ports and runs several Free/Open Source programs on mobile devices. They’ve done a nice job porting popular FLOSS programs to a mobile environment.
Was thinking of something along the lines of LFS since it is a from source project. I do use some of their information and patches. However, I’ve diverged on some of the libraries and programs I’ve been building from what they’ve been doing.
I don’t think customization is easy. I don’t think it should be discouraged either. As long as the source is available and someone can reproducibly build a project, they always have the opportunity to go in and change the code in ways that work best for them. It is not always easy to share though. The customization patches for projects like dwm come to mind. For instance, it’s not always easy to find and incorporate the dwm patches you want in a build. I do think if a distribution encourages building from source and reproducible builds that it will be easier for someone who’s motivated to go in and make changes to the source as they see fit. Some of it may make it back to the original package developers which is a benefit for FLOSS in general. However, a lot of it never gets accepted. As long as it’s useful to the person who made the changes, that’s what matters most. If there’s a way to more easily share that with others so they don’t have to reinvent the wheel that would be nice also.
I do use my own package manager. I like reproducible builds with minimal dependencies. I am considering the benefits of statically building at least for sharing binary applications with others. I do prefer musl over glibc. I like to experiment with lesser known programs and libraries. Not sure if I’ve clarified anything.
OK, I missed that… you mean the ultimate customization of modifying the source code.
I have done it occasionally… most recent would be xv.
I used to do porting back in my BSD days, so I understand… it is certainly not easy to modify someone else’s code.
I dont understand why you would choose LFS rather than Gentoo or FreeBSD?
Or is that a side isssue? … Is it really more like you have worked on a diverse collection of bits of source code and you want to try and put it together somehow?
I can resonate with that.
There is some sort of appeal … akin to an archeological dig
Keep going. You may produce something really innovative…