Building a system from simple open source components

A lot of schools think digital literacy should be a basic along with reading, writing and arithmetic. I think this would be a good thing for younger generations to learn. They could look through a simple script and see if it’s running anything unexpected.

It’s definitely possible to put together a system with simple programs that one person can audit. I’ve been working a long time on finding applications that would fit this bill. I have a list of GUIs in C that could be used in place of C++ ones. There are desktop applications such as file managers written with X11 or SDL backends. There are some interesting C applications for OTK (C with OpenGL). Nuklear is a popular lightweight C GUI alternative. Raylib/RayGUI are also great alternatives. pdcurses with a SDL backend can make curses applications appear a little more like a GUI and a bit less like a TUI. I am definitely interested in continuing to research in this area and find other useful applications to add to my growing lists. If anyone else is interested in this topic, let me know. Maybe we can start another thread for it.

1 Like

Terminal user interface?

3 Likes

I think this is a really interesting objective.
I have been working for some time with antiX, which is part way towards where you are aiming.
I have also looked at Hyperbola Linux,which demonstrates that you can cut out a number of complicated packages from linux and still have a running system … it does without dbus, polkit, Xorg,…
I am looking for where to go next … what I was thinking was

  • try cutting things out of my Gentoo
  • try building something from source starting with a kernel and a shell, but not LFS or Gentoo … do it by hand, probably with BSD rather than Linux.

Now you are saying that you are a long way further down that track than me.
Your list of material is invaluable.
What should I do next?
Maybe I should just try to help you?
I agree with avoiding C++.

Should I shift this to a fresh topic? … I think yes … will do

Yes Howard, Laura means what I call a console terminal.
It leans back to the days af alphanumeric CRT terminals. … terrible UI , not much better than a teletype.

I was thinking text user interface, but in many cases, you run these programs in terminals.

1 Like

Thanks for shifting this to a new topic. I don’t know if I mentioned it here or not, but these were some of the libraries I was updating the build scripts for on my system: https://lmemsm.dreamwidth.org/33313.html AntiX does seem like a really good starting point. They have minimal ISOs and some great remastering tools. I was also experimenting with NetBSD as a base system. I do run across some lighter alternatives to LFS such as Shoebox Linux which shows how to build a basic system with Linux kernel and Busybox. I’m indecisive if I want to start with a base system and add in the packages I like to build from source or if I should just try to do the entire build from scratch.

1 Like

You two are really wanting to build your own Distro, and how many Distro’s have been built and are dead in the water, from lack of support or time needed to keep it updated!! The both of you, speak so highly of what you have accomplished, and I can respect that!! But I built Gentoo, back when Gentoo was more source minded, and I have built LFS, and it, only builds from source!! My argument here is, Gentoo and LFS has to be built from the base and any change in the base build, will result in a no boot!! But the big factor in all of this is upstream Linux, that keeps changing and in evolving into something unpredictable.

So @nevj take LFS and build it the way you want, Gentoo, in my opinion, has already migrated to far upstream Linux!!

I have now been given an old Compaq Presario with 2GB ram and a Intel Celeron CPU running Intel graphics, besides XP Home, the only Linux it will boot is Slackware and MXLinux 19.4, which is useless, since Debian has shutdown 32bit respos!! It only has ide drives with no sata ports, it will be a challenge!!

And “critical thinking” - we need this…

Too many people get suckered in with the instant access to false information and lies… A friend of mine who didn’t really do ANY high school, is a sucker for conspiracy theories…

Apologies for side-tracking your topic! :smiley:

3 Likes

As to lightweight desktop apps in C, I’ve been trying to find as many as I can. I also use some C++ programs written with FLTK because it’s fairly lightweight for a GUI library. However, there’s still a lot you can do if you want to stick with C. Here’s a list of SDL based applications: Captcha Check Some X11 based applications might be useful as well: lmemsm/delightful-X11: A curated list of X11 resources - Codeberg.org That’s in no way a comprehensive list but I tried to add some of lighter low dependency applications like grabc, mupdf, worker. There are plenty of curses based programs. pdcurses has a SDL backend so you can get a slightly more GUI-like look for some of the console based programs with pdcurses. Using SDL, you can run them with X or Wayland. The Inconsolation blog had a large list of console based applications. Also, if you’re looking for C GUIs, there’s the gtk2-ng project. I’m hoping to stick with applications that are lighter with less dependencies, but several people find gtk2 lightweight enough for them.

1 Like

I’ve been updating my builds for about 20 years. I just haven’t had anyone else interested in using them but me. I’ve tried a lot of distros that were built with an unusual concept and ended up dormant after only a few years. That’s one of the reasons I’m considering building my own, either completely from scratch or from a lightweight base from another distro. If I do it myself, I’m not dependent on anyone else to keep things going.

I think one of the reasons we were looking at NetBSD was for the continued support of 32 bit and older operating systems. BSD does a better job than Linux on working on older systems.

I’ve started with a very basic system and built applications for a computer with 500 MHz CPU and 64MB RAM. Of course, it was a much older Linux kernel and it used uclibc instead of glibc. However, I think I’ve gained a good idea of what will run well on low resource operating systems from the experiences I’ve had trying to keep very old computers going.

If you’re really stuck for a distro that will run on an older machine, check out ELKS. As I mentioned, BSD typically does better on older hardware than Linux so it might be worth a try. Also, FreeDOS runs really fast on old machines.

3 Likes

The list of packages that hyperbola excludes is impressive

I have been using their full iso … looking at adding DE’s … and I have used the remastering tool. It is a bit tricky if you want to make a distribution iso … ie take out all the user settings … you have to do things to preserve parts of /etc any user configs that you want to keep. I had to resort to unpacking the iso after making it , and editing things.

Possible starting points

  • Void minimal
  • antiX minimal
  • BSD … we could debate which
  • compile a kernel … probably a bsd kernel
  • not hyperbola … it is static… making noises about switch to bsd kernel
  • I want to look at Shoebox … never seen it
  • have you seem smolBSD ? It builds in a Netbsd container
  • is there any bsd equivalent of LFS?
  • Tinycore Linux? … I have never looked at it.

There needs to be a reason to compile a kernel … eg you want to configure some settings or exclude some modules.
If you dont have a reason, start with a binary kernel or a BSD download which will include only utilities.

1 Like

Just recently built FreeBSD using VirtualBox!! My take on this, is that any build using a 32bit platform, is really just a waste of time, face the facts, BSD had it’s chance, Linux changed that, and now Linux has morphed into a beast, and pretty much so dropped 32bit!! Now everyone carry’s a cell phone glued to there ears!!

Then you need to build LFS!!

Ideal place to try NetBSD.

More like a spin than a full maintained distro.
As I understand @Laura_Michaels it is to demonstrate something, rather than make and maintain a full distro.

I think @Laura_Michaels is trying to manage that by being very selective about packages.

1 Like

Not a total side track.
Education would be a lot easier if Linux had some decomplexified variants available for study. I think that is part of @Laura_Michaels objective.

How do you teach people not to be gullible?
I could do with a dose of that myself.

2 Likes

Probably the best place would be in the attic!!

1 Like

That’s like Hitch Hikers Guide to the Galaxy :

The ultimate answer to “life the universe and everything” is : 42

You need to know what questions to ask…

You can’t ask the right questions unless you understand critical thinking…

But what is “Critical Thinking” - it’s so fundamental to my world view - I can’t even explain it…

and - I didn’t do high school beyond the “vocational” stuff (basically Year 10)…

Did I learn it - or was I born with it? Something I grasped from informed conversations with my parents?

In colloquial Australian - I’d class “critical thinking” as a form of “bullshit detection”… But there’s too many Australians on the “information superhighway” who have no “radar” for detecting bullshit - including way too many of my peers…

3 Likes

I dont think I had it when young. I may have picked up some scientific skepticism in the latter part of my career, but I think general critical thinking is still lacking.

2 Likes

An over abundance of information doesn’t help…

We have too much information…

When there’s so much information - confirmation bias can lead people astray…

Not to mention the Dunning Kreger effect, i.e. the dumber you are, the more likely to think you’re smarter than everyone else…

1 Like

Again I had to look it up, I learned something much from just reading this site every day, thank you dan , just a slight change its Dunning–Kruger effect, with a u not a e.

I would like to think I am in the = tendency of high performers to underestimate their skills… but perhaps thats because really I have the tendency of people with low ability in a specific area to give overly positive assessments of this ability.

But either way, I am not going to even attempt a LFS system and I salute anyone who does.

3 Likes