[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: speeding up installs



On 2019/06/08 21:43, Adam Borowski wrote:
> I like this.  The d-i is nothing but a glorified live image already.  On
> every not completely non-eventful install I find myself wishing this live
> system wasn't crippled for space reasons.  This crippling was intentional --
> d-i was designed in the days of boot floppies when a couple of megabytes was
> a lot -- but today, no one gives a damn about ten or fifty megs extra to
> have a real shell, less, man pages and what not.

I did some tests before, using squashfs on an entire image is more
efficient than using udebs. If you install all of d-i's dependencies in
a chroot and squashfs it with xz, the resulting system ends up being
smaller (by a small margin but still), than the current d-i images.
Unfortunately, it's not trivial to just build normal debs of all the d-i
modules and install them in a normal live system and use them like that.
In a pinch, Calamares can also run from a framebuffer which might be
nice for some environments but the version in buster doesn't support
advanced partitioning yet, things like using RAID or ZFS.

> So if you took current d-i and planted it into a regular live image, that'd
> be great.  It probably has too much functionality to be easily rewriteable,
> but changing the base system under it sounds like a good idea.

Yeah there's been a lot of discussions about this, it needs someone to
spend a significant amount of time working with the d-i maintainers to
make that an option, which involves going through a whole lot of shell
scripts that isn't all that debianny anymore and modernising them.

> On the other hand, do we have a list of what d-i can do that Calamares or
> whatever you are using, can't?

Calamares doesn't:

 * Have a cli installer (which is still useful and probably will be for
a long time) (although as I mentioned above, it can run on a
framebuffer, which is kind of cool).
 * Install on RAID or ZFS setups or SAN devices, although kpmcore, it's
partitioning library, has recently been nearly rewritten and now has
some RAID support.
 * Have any kind of pre-seed/kickstart or method to preconfigur it,
although I've been in discussion with upstream and they are interested
in implementing it.

kpmcore has also dropped dependencies on all the kde/qt stuff. I'm often
tempted to create another installer based on kpmcore becuase besides
partitioning, most of the rest is reasonably simple. Calamares has some
good ideas (I like how super simple it is to create extensions for it,
which seems hard in d-i), but personally I'm not a fan of it being
written in C++, developers spend way too much time trying to fix crashes
which would better be spent adding new features. I also don't like its
current dependency on Qt either. Ideally I think an installer should be
more of a library than something that's tied to a front end, and then
the world can go ahead and smack on any UI (or none at all) to it that
they like. I think that would be even better than the script + configure
UI approach that things like Propellor and Subiquity does.

Calamares does a pretty good job of providing a distro-agnostic
installer that works for the large majority of desktop end-users out
there, and it gets a lot of things right that others don't, but I think
if that concept could just go a little bit more further it could be
possible to have a great installer that works for basically all the
popular linux (and non-linux) distributions and fix all the problems
with the current ones. Personally I don't think Calamares will ever be
able to replace d-i, I think eventually something will come along that
will replace both.

-Jonathan

-- 
  ⢀⣴⠾⠻⢶⣦⠀  Jonathan Carter (highvoltage) <jcc>
  ⣾⠁⢠⠒⠀⣿⡁  Debian Developer - https://wiki.debian.org/highvoltage
  ⢿⡄⠘⠷⠚⠋   https://debian.org | https://jonathancarter.org
  ⠈⠳⣄⠀⠀⠀⠀  Be Bold. Be brave. Debian has got your back.


Reply to: