Linux from Source | Who's up For a Discussion?

I’m considering the idea of possibly having a monthly meeting on Jitsi to discuss aspects of building Linux from source code. It would be somewhat similar to Linux from Scratch or BLFS. It would give members of the group a chance to talk to other people and discuss any issues they may have with building from source. Members could brainstorm what types of applications, configuration settings and/or features they would want in a custom built system. It would be an in depth way to learn more about Linux from the ground up. I thought it would be nice to do something like this as a group and be able to share knowledge and experience with each other rather than just going through the process individually. Would this be of interest to anyone?

7 Likes

I think that’s a great idea.

2 Likes

Great call, Laura. My personal interest on this subject is how to build the smallest possible functional Kernel. I mean, the smallest memory footprint one could get while maintaining functionalities like TTY (bash shell) and a working ethernet card driver. There are so many options to disable at ‘make menuconfig’ that we can easily get lost by disabling something crucial for the system to work properly late. I know we are already able to find ISO images for small size distros but that’s not what I mean. I would like to understand what could be safely disabled at ‘make menuconfig’ so that we are all able to compile only the bare minimum on any new Linux kernel in the future and get the smallest memory footprint possible. I like debian/ubuntu distros.

2 Likes

If anyone’s interested, we’ll be meeting on Jitsi on July 26th, 2025 at 1:30 PM Eastern time. Send me a message if you’d like to attend need the room link.

2 Likes

I recently saw a video on that on Youtube: https://www.youtube.com/watch?v=u2Juz5sQyYQ I also liked Rob Landley’s video: https://www.youtube.com/watch?v=Sk9TatW9ino&list=LL&index=130&t=22s He covered some useful information.

2 Likes

Maybe you should post the link here at least 5 hours before the event. This way people will receive it via e-mail just like your reply got delivery to me. I’m at UTC -3hours timezone and I don’t know what “1:30PM Eastern time” means. Thanks a lot for the YouTube links.

1 Like

UTC-3 appears to come up as the time in Brazil. I believe I’m currently at UTC-4. If you look up the time in New York, it should give you the correct time for the event. If I’m right, it appears to be 2:30 PM your time. I’ll try to post the link before the meeting if you’d like to join in.

1 Like

Are you interested in other minimal software as well, such as lightweight GUIs or utilities programs that do one thing well?

1 Like

Of course Laura, anything that get the job done without taking too much RAM is on my radar. My crazy idea is to get a fully functional system running entirely inside the cache memory of a modern processor. Thanks a lot for your support lady and yes, I’m from a hot land called Brazil. :wink:

2 Likes

But puppy linux already does that

2 Likes

I just found this thing from gentoo wiki: “Project:Prefix/Bootstrap” which is a way to use Portage to install software from source on any host OS. I’m currently running the bootstrap-prefix.sh on my Void laptop to test it. This laptop only has Intel Celeron N3050, 2 cores, 2G RAM so it will take time.. I think this is a way to handle some of the issues you are talking here? Using Portage to build from source on any OS would help with the dependencies, you could add USE flags, and the software is build on a different location than OS’s package manager so it doesn’t interfere the OS’s packages. Also it builds the software unprivileged so no root needed.

Check this wiki: Prefix - Gentoo wiki and Project:Prefix - Gentoo wiki

I’ll update here after the bootstrap-prefix.sh has finished.

EDIT: It has build stage1 and portage and going stage2 at the moment. It added a gentoo folder to my Void’s /home/pete

1 Like

You have really unearthed something useful there..
It is a bit like Freebsd installing packages in /usr/local… but it seems to be putting in part of the Gentoo environment as well as specific packages.

I will wait and see what you achieve.

3 Likes

it needs a better machine. It’s building GCC at the moment. Taken +4h at this point..
I’ll try it on my HTPC with more cores next

3 Likes

Latest version of BookwormPup64 without GUI uses 700MB of RAM (checked with “free” command). The other ISO (F96-CE_4) gave me a better result with only 350MB consumed by Kernel. Do you believe we could go lower than that lady Laura ? The idea is NOT to revive an old PC, the idea is to get the full Kernel running inside a cache memory (L1, L2, L3) of the most advanced flagship Intel processor. The application is to use the raw power of the CPU to process network data as fast as possible. Thank you for getting people engaged on this discussion.

2 Likes

The only issue I have with puppy is trying to install it to a hard disk. I had a old machine with a 32 gb ssd I was trying to keep alive with just the very basic wordprocessing and internet access so planned to use puppy then erase tools not needed to gain most disk space.

This was to not use a usb to boot as the second part.

Never did get it to work correctly and abandoned it just replace the disk in the end

If you want more threads when building gcc, add more RAM. Gcc is a RAM hungry compile.

3 Likes

There only is two and the installer script uses one(you can change this). It’s now almost ready on my other machine with 4 cores. It’s making an update for 143 packages at the moment. And the laptop? Still emerging GCC

1 Like


it works! I just installed neofetch with emerge neofetch. Great!

1 Like

So what you have is an isolated Gentoo environment, somewhere in your Void filesystem. There is no Gentoo kernel, just portage and packages.

How do you know whether you are invoking a binary from Gentoo or from Void? Do you have to enter the Gentoo area, or does it setup a path?

I guess it would not work for important things like daemons or the Window Manager?

2 Likes

I only installed neofetch at this point. It works as it would be Void’s package. Just needed to type neofetch in the terminal. So I think all installed packages will have the path. I’ll try some other packages today.

2 Likes