mkosi icon indicating copy to clipboard operation
mkosi copied to clipboard

suggestion: add comparison to similar tools e.g. fai

Open udf2457 opened this issue 1 year ago • 3 comments

Hi

It would be good if you added a comparison, e.g. in README to "competitor" tools such as fai (https://fai-project.org/)

I discovered mkosi via a All Systems Go! recording, but looking at the video archive from All Systems Go! there are a whole bunch of talks about software tools that do largely the same thing as each other (i.e. building images) and largely the same thing as pre-existing tools as fai (i.e. building images).

Its not clear how many of these tools are "Not invented here" syndrome and how much of it is genuinely new toolset worth investigating.

udf2457 avatar Feb 02 '24 19:02 udf2457

Other tools which might be worth mentioning: yocto/bitbake, buildroot, docker-build, vagrant.

They definitely all have a certain overlap but mkosi has enough aspects which make it stand out to be more than just a NIH project.

septatrix avatar Feb 05 '24 13:02 septatrix

And another one: KIWI

2024-02-12, and another one, yeah: distrobuilder

septatrix avatar Feb 09 '24 12:02 septatrix

Yeah, I'm currently using FAI but I recently discovered KIWI and it looks very interesting, more robust and potentially easier to work with than FAI.

udf2457 avatar Feb 09 '24 13:02 udf2457

And another one: debos

Not sure if a textual or tabular comparison is better. However, I think at least the following aspects should be covered:

  • Supported "host" OS, i.e. under which host can the images be generated. This will be Linux for most, but maybe some exist which support building under other POSIX OS, or windows
  • Output OS/distro (e.g. Docker supports Windows images)
  • Output format (raw disk image, directory, OCI, LXC format)
    • different levels or raw disk image support might be feasible, e.g. BIOS vs. UEFI, MBR vs. GPT
    • supports signing (e.g. for secure boot, but OCI also has some signing stuff IIRC)
    • provides installer (in the case of disk images)
  • Can run rootless
  • Configuration methodology (for mkosi this would be something like ini-like + filesystem tree)
  • Supports build/finalize/... scripts (e.g. debootstrap only handles package installation)
  • Incremental build support (mkosi has very coarse support, docker might be the most advanced here)
  • License, implementation Language etc.

These are likely the areas where answers make sense for most tools, then there could be another section about parts where mkosi specializes:

  • systemd-firstboot et al.
  • UKI
  • Initrd
  • ...

septatrix avatar Mar 12 '24 01:03 septatrix

Adding these comparisons to each individual tool doesn't scale. Please open an issue on https://github.com/OSMakers/image-build-tools/ instead which is an aggregator for image building tools where they can be compared among other things. I'd move this issue there but I can't move issues across organizations so closing this here

DaanDeMeyer avatar Mar 14 '24 08:03 DaanDeMeyer