Thoughts on implementing a 'make your own current iso'?

It would be nice if there was a feature to download the current latest iso for your chosen DE - basically what this would do is build the iso in the cloud, using the latest packages, and then let you download it, for an offline install.

What would be the benefits?

  • If for any reason the package downloads during Calamares install fail, e.g. due to bad Internet, then the install won’t fail.
  • It should also be faster
  • will allow user to use the same created iso for multiple pc’s, share with others

This could be implemented using the free computing/storage provided by the usual Linux hosts. All its doing is running the same script as whats used to create an iso, but on demand. And the iso can be cached if the packages dont change.

Sounds like you’ve got a lot of work ahead of you. I look forward to trying it out when you’re done.

6 Likes

Especially when there are 14 DE / WM offered. Plus that would require a LOT of storage space on the mirrors. Mirrors are also donated to EnOS and I don’t think the mirror owners would appreciate that. I guessing that each DE / WM would be over 2 GB in size. All development is done on github. Github has a size limit of 2 GB which the current liveISO barely makes the size limitation.

Pudge

1 Like

I don’t they are talking about having the ISOs on the mirrors.

I think the idea is that you could build your own ISO on-demand by selecting what you want ahead of time. Sort of like an offline ISO builder.

Realistically, it would require changing the way the ISOs are built and the install process to support that.

2 Likes

Any which way you cut it. . . it’s not like a 2 hour dev job. That’s like. . . a dedicated team project.

Oh yeah, it would be a major effort.

1 Like

I’m not skilled enough in the part which assembles an iso. I dont think anything needs to be hosted. Basically the way I think this would work is -

  • there will be a fixed number of build hosts. possibly using services from OBS or other Linux supporters who can donate AWS time etc
  • on demand you spin up a docker image
  • this runs a script that downloads all the packages for desired config, DE etc
  • these are then combined with Calameres etc
  • whole thing is bundled into iso
  • the iso is then hosted on EOS servers or a free CDN, as well as a checksum of the packages folder/list
  • next time someone asks for same config, compute checksum and see if an update is needed

I’m not saying this is easy. I also dont think all of this needs to be done from scratch. Its just an idea to discuss at this point.

It’s an interesting idea i guess.

The only thing I saw you posted I could see being overly relevant would be for creating multiple computers. I don’t see that as something super relevant to EOS though. I can’t imagine this a big enterprise distro.

If one were trying to create multiple work computers for instance, why not just dd/ the drives and create multiple drives?

Do you know of any distro that is doing this. If it doesn’t need to be done from scratch, what project is doing something similar to build off of?

But most importantly the rolling nature of EOS means that every single day, or even multiple times a day, your iso is already obsolete. This would be much much more suited for a LTS distro. The lifespan of what you’re looking to create is so small, associated with the monumental dev cost of effort just doesn’t make sense.

You may want to look into Ubuntu or Debian devs who may be more interested in this type of scenario.

I say we just keep it KISS as it has been from the beginning. :wink:

I agree. My use case and the idea came about because I was installing on a few pc’s while traveling, for friends/family etc, and had poor Internet. I had the usb with latest iso but my DE choice is Plasma, so each install needs a lot of data to be downloaded.

Even if there was a way to create an install iso from a freshly installed pc, that would’ve been great.

This shouldn’t be a distribution feature - there is too many variables which will make it a hit or miss.

So I am thinking outside the box now.

When you install your system using online - all packages are stored in your pacman cache.

You can use the utility repoctl to create your own mirror database using these packages.

You can even use repoctl to run a local mirror.

Then point the booted system’s pacman.conf to your local mirror.

Sample script collecting package lists and configs


https://wiki.archlinux.org/title/Archiso#Online_build

2 Likes

One way is to use scripts and compile an iso on your own computer. Arco Linux does that, and it’s really possible to create any iso with one or several DE and selected packages. As long as you can follow their tutorial and find your way through the webpages and github, it’s possible to dig into it a bit further. It’s all Arch. I managed to do it for a mixed gnome/i3 and KDE/i3 setup…

I mean I understand why one would want this for EOS, would be nice to try a DE before installing, but could be a maintenance nightmare.

2 Likes

There is but it would be the same ISO you download so what’s the point of that?

Edit: There is no process to create an ISO with all different desktops. That is the reason there isn’t an ISO for each desktop to download. The process used installs what ever desktop from online by downloading the packages required and installing everything. Otherwise it is way too much work involved and cost.

1 Like

Found voidlinux build server that does exactly this - nightly images of different configs.

https://voidbuilds.xyz/

And void is a tiny distro.

That looks very different to me unless I am missing something.

That looks like void is building their list of configs not letting users make their own configs on the fly by choosing options.

The Void team is several times larger than the EOS team.

1 Like

I don’t think people realize how small this distro really is team wise.

I don’t think they understand what’'s involved in creating the files in order to build the ISO. Building the ISO is the easy part as it’s all done by the software.

This is news to me as well. It increases my respect for the hard work the EOS team does - kudos!!

I do not mean any disrespect to the Endeavour team, but Void is an independent distribution and EndeavourOS is an Arch based system. There is a big difference in the amount of work needed to build and maintain an entire distribution from scratch and take Arch and construct a derivative system. Yes, there is plenty of work that goes into EndeavourOS, but comparing it to an independent distro is not accurate.

I like the automation philosophy Void has - every package is built automatically, dependencies checked etc. Clearly this is not how Arch works and thus can’t be done for EOS, but this is one aspect I think Arch should adopt.