lkrg-org / lkrg

Linux Kernel Runtime Guard
https://lkrg.org
Other
410 stars 72 forks source link

mkosi: error: unrecognized arguments: --with-unified-kernel-images=no --root-size=4G #253

Closed solardiz closed 1 year ago

solardiz commented 1 year ago

Today mkosi-mainline has failed with mkosi: error: unrecognized arguments: --with-unified-kernel-images=no --root-size=4G. I guess something changed in mkosi and we need to adapt. @vt-alt

vt-alt commented 1 year ago
## v15
    We also remove the WithoutUnifiedKernelImages= switch as building unified
    kernel images is trivial and fast these days.

IC. "Trivial" for someone, but needs investigating how to do it properly.

    This PR also removes all the option related to disk image building that
    can now be specified in repart definition files instead. This includes:
...
    - RootSize=, HomeSize=, VarSize=, TmpSize=, ESPSize=, SwapSize=, SrvSize=
    (Replaced by repart's size options)
vt-alt commented 1 year ago

Update. If I just remove WithUnifiedKernelImages=no and RootSize=4G to see what will happen, there is another error:

‣   Installing boot loader…
bootctl: unrecognized option '--root'

Meaning there is, perhaps, too old bootctl without --root option support. Even on kinetic which is the latest Ubuntu. I will try to open issue at mkosi.

vt-alt commented 1 year ago

My prediction is this will not be fixed (because the change systemd/mkosi@8bbbd836078a2b6f625ad298ebc13d06601971e4 is so fundamental in mkosi new workflow) making mkosi tests on Ubuntu not usable for us anymore.

Previously, we first provisioned the disk image with all its
partitions, then mounted the disk image and finally populated it with
contents. Now, we provision to a regular directory on the host filesystem
first, followed by creating the disk image with systemd-repart.

By this I conclude that --root option usage in bootctl is important to the new provisioning method. But we cannot just upgrade bootctl on these Ubuntu systems, especially on older Ubuntu.

Also, systemd-repart is only available since Ubuntu jellyfish.