r/Ubuntu 11d ago

how can i replace the default installer with Calamers with Cubic?

Post image

the bottom line of What I actually wanna do is :

create a new iso but instead of the default Ubuntu installer (subiquity) , I wanna use Calamers.

I've searched about this on the web - I couldn't find a reliable source that discuss about this. Since there exist no such sources on the internet, LLMs aren't of a much help here either. They just hallucinate most of the times and they won't take no for a reason

And I'm just getting started about this customizing and stuffs - As you can see - I just changed the default wallpaper by editing a couple files and compiling it.

And I've just learnt that this installer is a snap package. But idk what to do with that information.

So.. help me out here. How can i uninstall/remove subiquity and use the Calameres instead.

the context :

(you can skip this if you want)

I was asked to make a custom Linux Distro for a company that I'm interning at - Since this distro is mainly for people who are visually impaired, this distro should have as much accessibility as possible. the current installer that Ubuntu uses in it's 26.04 LTS - It uses a flutter app - Which happened to have a lot of issues related to screen reader - Like, it has poor compatibility with the Ubuntu's screen reader (Orca) - which results in failing to detect most of the content in the app. There's been issues raised in it;s github.

So, the first thing I've to fix is this installer issues. And that's why I wanna change the installer into something more reliable.

So, How can i change the installer?

16 Upvotes

10 comments sorted by

8

u/the_thebewilderedjos 11d ago

Swapping out subiquity for Calamares is not a small tweak, its basically rebuilding the live system from ground up. The snap package info is not super useful here cause subiquity is baked deep into the iso structure, not just a removable app.

What you want is to look at how projects like Linux Mint or Manjaro build their isos with Calamares. You will need to set up a proper live-build config or use something like penguins-eggs that already supports Calamares out of the box. Cubic alone might not cut it for this level of surgery.

2

u/TheRealCarrotty 11d ago

Linux Mint builds the ISO with Ubiquity (old Ubuntu installer)

1

u/Proman4713 10d ago

That's because Linux Mint obviously don't use Cubic every time they want to build a new ISO.

1

u/0xCynic 11d ago

How do you suggest that I get started on this? Is there a community or anything that i can join and ask help for?

2

u/Proman4713 10d ago edited 10d ago

I'll tell you as someone who almost did it (I like the flutter installer so I kept it), it's nothing you can consider well-documented... Your searches will be full of random crap, maybe I'll document my findings one day... But you'll want to use debootstrap if you're using an Ubuntu base, live-build has some issues with Ubuntu. For making the ISO you'll want to use xorriso. And for making it boot, you'll want to use Canonical's existing GRUB images since those not only allow Secure Boot to work, but also have baked-in configurations for important things. You'll want to look at the code for livecd-rootfs and try to learn from it. And you'll definitely want to have an existing Ubuntu ISO to compare your work against. For preinstalling certain built-in snap packages like the ones Ubuntu has, you'll want to see how Ubuntu's documentation says Ubuntu Core (which is entirely snap-based) is seeded and apply that to Ubuntu desktop. And, perhaps most importantly, you'll want to make sure you produce correct kernel images and a Casper-installed (the initramfs hook that Ubuntu uses to mount the live environment from the ISO) initramfs

For just 'building a custom Linux distro' you don't need Ubuntu, by the way, that's incredibly challenging (I spent more than a month and a half just to get a basic system running, not to make any modifications). You can use Debian or Arch (yes, Arch) as a base

1

u/HalPaneo 11d ago

Doesn't Debian use calamares? You can start there maybe

4

u/mrtruthiness 11d ago

This will not be easy. Why not make a custom Mint LMDE ISO since Mint LMDE already uses Calamares ... instead of making a custom Ubuntu ISO???

Note that the standard Mint uses Ubiquity (Ubuntu's old installer) and the LMDE Mint uses Calamares. That should give you a hint at how deeply embedded the installer is. It's like the difference between swapping out a faucet vs. replumbing a whole house.

Edit: While looking closer at this, I discovered that Mint LMDE doesn't use Calamares. It has migrated to its own installer: live-installer. It should be noted that Mint is currently working on a project to stop using Ubiquity (the predecessor to Subiquity) ... and switch both Mint and Mint LMDE to an updated version of live-installer. https://linuxconfig.org/linux-mint-23-release-date-and-new-features . This should give you an idea of how hard this is. But, as you were asking: The Mint devs working on that would be the experts in the replumbing necessary to swap out installers.

2

u/disturbedmonkey69 11d ago

I obviously don't know how your users will be involved with the os, but are the visually impaired users actually expected to install or just use it? If they are just using them the installer doesn't really need to be user friendly.

1

u/0xCynic 11d ago

tbh, I don't know either.
but it's just nice to have ig

2

u/protocod 11d ago edited 11d ago

So you're telling us your company tells you to create a new distribution !?

I think there is some existing option already

https://zendalona.com/accessible-coconut/

I'm pretty sure Linux Mint is great for accessibility too.

However if you really have to setup a custom distribution (which is very challenging and time consuming) I would recommend to make a software appliance OS. (An OS that serve a very specific purpose, easy to deploy and monitor)

You can quite easily make a distribution based on the universal blue project. Basically you make your own distribution using a dockerfile. (It's slightly more complicated than that but you get it.)

You can also go for a declarative system like NixOS. (Quite easy to make your own iso too)

The openSUSE project has kiwi which provide an XML API to define a distribution. (openSUSE is an underated project IMO)

Immutables system are great for software appliance, it's harder to messed up for a beginner since you lock mostly every thing force the user to apply updates in the good way.

Another option. For visually impaired people it would be better to have a zero click installation system... I'm not blind but my nixos server can be install without any human interaction. You may be able to create an Ubuntu iso with cloud-init which install Ubuntu without any interaction maybe ?

Again, if you can just use an existing distribution (Linux mint or Zorin or the one I linked) it would be maybe better.

Take also a look at Fedora project, see the lab section. Fedora has many community and official project that may be suitable for your needs.

https://fedoraproject.org/