Commit Graph

79 Commits

Author SHA1 Message Date
Daan De Meyer 6242cda99d Move shared mkosi settings to a single file in mkosi.default.d/ 2021-01-06 12:10:58 +00:00
Daan De Meyer 612a6869ee mkosi: Enable HostonlyInitrd option
Split out from #17919.
2021-01-03 15:31:07 +01:00
Daan De Meyer 9a01c6f095 Enable more mkosi options
- HostonlyInitrd reduces the size of the initramfs which speeds up
QEMU boot times.
- Autologin and deleting the root password remove
the manual login step whenever starting the systemd-nspawn container
or QEMU vm.
- NetworkVeth passes --network-veth to the nspawn container when
using mkosi boot and emulates --network-veth with a tap device
and networkd's 80-vm-vt.network builtin network file when using
mkosi qemu. --network-veth makes it easier to test network and
resolved in mkosi's nspawn container or QEMU vm.
2021-01-01 16:46:09 +00:00
Daan De Meyer 262cd9facd mkosi: Add basic editors to final images
It's often useful to have an editor available to edit some random
config file in the final image. Let's install some basic editors
that don't take up too much space.
2020-12-19 22:04:31 +00:00
Lennart Poettering 5e85016b1f mkosi: add TPM2 packages to debian/ubuntu/fedora mkosi files
As suggested: https://github.com/systemd/systemd/pull/17741#issuecomment-743479834
2020-12-17 20:03:00 +01:00
Daan De Meyer c6ab308767 mkosi: Add strace to final images
Useful for debugging purposes.
2020-12-09 17:34:45 +00:00
Daan De Meyer ae4f44a94e mkosi: Add gdb to final images
Let's add a debugger to the mkosi images so we can debug coredumps
from inside mkosi qemu VMs (and hopefully in the future from
mkosi systemd-nspawn containers as well).
2020-12-09 17:30:41 +00:00
Daan De Meyer ee2812da8f mkosi: Enable --qemu-headless option for all distros
--qemu-headless configures the generated image and mkosi's qemu
command to connect to the VM via the serial port. This allows
spawning a qemu VM within the user's terminal instead of spawning
a graphical GTK GUI. --qemu-headless sets TERM, COLUMNS and LINES
in serial-getty@ttyS0.service in the container which makes the
terminal in the VM behave almost equivalent to the one on the host.

This change makes testing changes to systemd using mkosi + QEMU a
lot easier compared to before as commands can be executed in the VM
from the comfort of one's terminal compared to the Linux console
available when running via the GTK GUI.
2020-12-08 10:03:25 +01:00
Daan De Meyer 8f2c4c5e93 mkosi: Add findutils to Fedora config
find is needed by test_exec_dynamicuser.
2020-12-04 22:24:12 +00:00
Daan De Meyer 8d036c446a mkosi: Add rpm to Fedora BuildPackages as it's needed by pkg-config 2020-12-04 20:06:03 +00:00
Daan De Meyer aef61dc888 mkosi: Replace iptables-dev with libiptc-dev in debian config
Latest debian unstable doesn't have iptables-dev anymore. Instead,
let's use libiptc-dev.
2020-12-03 17:46:49 +00:00
Pavel Sapezhko e11ec61d65 mkosi: make ubuntu image bootable by default 2020-11-30 22:14:57 +00:00
Lennart Poettering e2c5e698c0 mkosi: make sure our mkosi files work with f33 2020-11-25 13:18:36 +01:00
Yu Watanabe db9ecf0501 license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
Lennart Poettering 690ae29aee mkosi: include libfido2 binary package in mkosi manually for now
As long as the RPM version does not include a dep for it yet, we need to
add it manually, since we now link against it.

Follow-up for: 95f7ab2fe6
2020-09-19 18:06:45 +02:00
Zbigniew Jędrzejewski-Szmek d688c5d653 mkosi: update rules in mkosi.default.networkd-test boot
We need to include ninja-build in the packages list because meson doesn't
depend on it (because it supports other backends too).

Also drop xz-devel, it's not crucial for the test.
2020-09-17 17:06:51 +02:00
Zbigniew Jędrzejewski-Szmek 050b4981e0 mkosi: stop pulling in libtool
Not useful since 72cdb3e783.
2020-09-17 16:08:41 +02:00
Lennart Poettering 95f7ab2fe6 mkosi: include libfido2 in fedora mkosi image
We want to build this image with as many deps turned on as we can make
happen, hence include libfido2 in the image.
2020-09-12 08:10:08 +02:00
szb512 fe224669fb Update mkosi.ubuntu to 'focal'
[zjs: Looking at https://packages.ubuntu.com/bionic/iptables-dev, iptables-dev
was a transitional package that was pulling in libxtables-dev, libip4tc-dev,
and libip6tc-dev (as listed by @GiedriusS). iptables-dev is gone in focal, so
replace it by the expanded list.]
2020-07-23 16:44:09 +02:00
Daan De Meyer e5f0010659 mkosi: Update help comment in settings files 2020-07-16 21:44:57 +01:00
Zbigniew Jędrzejewski-Szmek b68edd3006 man,mkosi: bump Fedora version 2020-06-02 14:08:35 +02:00
Michal Koutný a840ad5ae8 mkosi: Add explicit --bootable=no openSUSE dependencies
Many dependencies were pulled via dracut->systemd. Since we can build
stripped images without initrd and dracut, we need to add systemd
runtime dependencies explicitely.
2020-05-19 13:14:19 +02:00
Michal Koutný 498115c2b6 mkosi: Add openSUSE Tumbleweed packages
patterns-base-minimal_base is a moving target, so dependencies need to
be as explicit as possible.
2020-05-18 23:06:22 +02:00
Jeremy Cline 8284f81bf7 Tidy up the Fedora mkosi Package list
libzstd is a new dependency for systemd that's not in a stable release
yet, so it's not pulled in by the RPM package dependency. Manually
include it in the package section so the image mkosi produces works. It
can be removed when the RPM depends on it.

Additionally, a number of packages in the list appear to be pulled in
because they're dependencies in the systemd rpm, so remove them.
Finally, mkosi v5 adds the proper fs utilities for bootable images type
so drop that dependency as well.
2020-05-13 08:23:51 +02:00
Michal Koutný 05d9125ece mkosi: Fix openSUSE image declaration
User accounts of given names are necessary for the build script and
tests to succeed.

(Fixup of #15527, too keen cleaning of dependencies and cached image
caused this.)
2020-05-04 22:12:58 +02:00
Norbert Lange 8012d5c08e install libzstd-dev for CI builds 2020-05-04 10:59:43 +02:00
Michal Koutný 69d95d6468 mkosi: Add openSUSE params file
The setup is meant to run against openSUSE Tumbleweed and install
minimum packages necessary for successful build and passing tests.

To speed up incremental build an external build directory is used.
2020-04-23 10:28:03 +02:00
Michal Koutný 9acb2964d7 test: Simplify hostname checking
Both hostname and uname utilities boil down to uname(2) syscall. Reduce
tests dependency footprint by using uname for checking hostname too.
2020-04-22 10:35:12 +02:00
Zbigniew Jędrzejewski-Szmek 33eb1f2497 tree-wide: drop printk.devkmsg=on setting in various places
Since 6123dfaa72 this should not be necessary anymore.
2020-03-03 15:02:53 +01:00
Zbigniew Jędrzejewski-Szmek a345d5c1c9 man,mkosi: use glibc-minimal-langpack for Fedora
This saves ~24MB of space, see
https://fedoraproject.org/wiki/Changes/Remove_glibc-langpacks-all_from_buildroot.
2020-03-03 15:02:53 +01:00
Lennart Poettering e53db1405c mkosi: add fdisk-devel, openssl-devel, libpwquality-devel, p11kit-devel and efsck to build
This is preparation for subsequent additions which link against these
libraries.
2020-01-28 22:35:32 +01:00
Lennart Poettering 64db6f3644 mkosi: modernize
Fedora minimization had some effect, hence add some required
dependencies explicitly so that we work anyway.

Also, the libtool is not used anymore, drop it.

Finally, the mkosi output format is called gpt_ext4 now, not raw_ext4
anymore.
2020-01-20 17:42:03 +01:00
Kevin Kuehler b9dc511954 mkosi: Find hostname command on Arch Linux
exec-specifier.service: Executing: /usr/bin/sh -c 'test mkosi-7d5e81c7b81c42338d060a6b98edd44a = $(hostname)'
/usr/bin/sh: hostname: command not found
/usr/bin/sh: line 0: test: mkosi-7d5e81c7b81c42338d060a6b98edd44a: unary operator expected
Received SIGCHLD from PID 7389 (sh).
Child 7389 (sh) died (code=exited, status=2/INVALIDARGUMENT)

gettext provides the hostname binary, but puts it in
/usr/lib/gettext/hostname, which is not part of the default $PATH. Using
inetutils instead puts the binary in /usr/bin/hostname.
2019-11-01 13:34:41 +01:00
Anita Zhang 9e73d33128
Merge pull request #13892 from keur/mkosi_arch
Fix mkosi on Arch Linux
2019-10-31 11:22:37 -07:00
Jóhann B. Guðmundsson 294eeed144 Update to Fedora31 2019-10-31 16:13:08 +01:00
Kevin Kuehler 9e05564006 Fix mkosi on Arch Linux
/* test compression */
XZ compression finished (38280 -> 11756 bytes, 30.7%)
sh: diff: command not found
Assertion 'system(cmd) == 0' failed at src/journal/test-compress.c:198,
function test_compress_stream(). Aborting.

The journal compression test shells out to diff, so include diffutils as
a BuildPackage on Arch.

Remaining fixes in https://github.com/systemd/mkosi/pull/377
2019-10-31 02:32:23 -07:00
Jóhann B. Guðmundsson ff807cbb29 mkosi: update to Fedora30 (#12642) 2019-05-23 09:39:07 +02:00
Taro Yamada 74387d79fb mkosi: (Archlinux) increase the size of root partition.
Currently "mkosi --default .mkosi/mkosi.arch" fails to build the image due to pacman error:

"error: Partition /var/tmp/mkosi-xxx/root too full: yyy blocks needed, zzz blocks free"
"error: not enough free disk space"
"error: failed to commit transaction (not enough free disk space)"

So increase the size to 3G.
2019-02-22 19:53:27 +09:00
Louis Taylor 8464d9e0dc mkosi: add qrencode to arch package list
Before adding this, I got errors about the library being missing such
as:

        journalctl: error while loading shared libraries: libqrencode.so.4: cannot open shared object file: No such file or directory

Fixes #7367.
2019-01-19 07:41:34 +09:00
Alexey Bogdanenko d3e5af0440 mkosi: update libqrencode in Debian config
In Debian unstable package libqrencode-dev is version 4.0.2-1, and the
corresponding runtime library is provided by package libqrencode4.

This change fixes the following error when running journalctl:

    root@image:~# journalctl
    journalctl: error while loading shared libraries: libqrencode.so.4: cannot
    open shared object file: No such file or directory

This change also fixes the following boot failures in
systemd-journal-flush.service and systemd-journal-catalog-update.service:

    [FAILED] Failed to start Flush Journal to Persistent Storage.
    [FAILED] Failed to start Rebuild Journal Catalog.

See also #4949
2018-12-15 10:55:10 +01:00
AsciiWolf 333ee1d104 mkosi: drop my copyright 2018-11-26 00:30:28 +01:00
Zbigniew Jędrzejewski-Szmek 10d4409cea mkosi: use Fedora 29
F29 is at beta now, but should be out within two or three weeks, by the time
next systemd release happens.
2018-10-18 16:27:21 +02:00
Lennart Poettering 52d363e32e mkosi: make kmsg work in our mkosi builds at least 2018-10-16 16:33:55 +02:00
Lennart Poettering f3ab1d39b1 mkosi: add mkosi snippet for ubuntu, too 2018-06-14 17:44:20 +02:00
Lennart Poettering 96b2fb93c5 tree-wide: beautify remaining copyright statements
Let's unify an beautify our remaining copyright statements, with a
unicode ©. This means our copyright statements are now always formatted
the same way. Yay.
2018-06-14 10:20:21 +02:00
Lennart Poettering 0c69794138 tree-wide: remove Lennart's copyright lines
These lines are generally out-of-date, incomplete and unnecessary. With
SPDX and git repository much more accurate and fine grained information
about licensing and authorship is available, hence let's drop the
per-file copyright notice. Of course, removing copyright lines of others
is problematic, hence this commit only removes my own lines and leaves
all others untouched. It might be nicer if sooner or later those could
go away too, making git the only and accurate source of authorship
information.
2018-06-14 10:20:20 +02:00
Lennart Poettering 818bf54632 tree-wide: drop 'This file is part of systemd' blurb
This part of the copyright blurb stems from the GPL use recommendations:

https://www.gnu.org/licenses/gpl-howto.en.html

The concept appears to originate in times where version control was per
file, instead of per tree, and was a way to glue the files together.
Ultimately, we nowadays don't live in that world anymore, and this
information is entirely useless anyway, as people are very welcome to
copy these files into any projects they like, and they shouldn't have to
change bits that are part of our copyright header for that.

hence, let's just get rid of this old cruft, and shorten our codebase a
bit.
2018-06-14 10:20:20 +02:00
Lennart Poettering 6a51a4682b mkosi: ensure the 'hostname' tool is available in the build environment
Our test-execute test uses 'hostname' to validate specifiers, hence it
should be available in our mkosi build too, so that the test can pass.
2018-04-19 11:30:18 +02:00
Zbigniew Jędrzejewski-Szmek 11a1589223 tree-wide: drop license boilerplate
Files which are installed as-is (any .service and other unit files, .conf
files, .policy files, etc), are left as is. My assumption is that SPDX
identifiers are not yet that well known, so it's better to retain the
extended header to avoid any doubt.

I also kept any copyright lines. We can probably remove them, but it'd nice to
obtain explicit acks from all involved authors before doing that.
2018-04-06 18:58:55 +02:00
Zbigniew Jędrzejewski-Szmek 9e8f3893e3 mkosi: remove intltool from deps
intltool is unnecessary since c81217920e.
But we still need gettext, because we use msgformat to generate .mo files.
(I tried to make meson depend on it, at least in Fedora:
 https://bugzilla.redhat.com/show_bug.cgi?id=1545926, but that didn't fly,
 and in Debian at least meson also has no dependency on the tools used by
 its i18n module, so we need to add our own dependency anyway.)

Closes #8192.
2018-02-16 13:01:12 +01:00