Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bootctl install only ESP binaries #167

Open
wants to merge 96 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
96 commits
Select commit Hold shift + click to select a range
eb76587
bootctl: Make sure bootctl install returns 0 on success
DaanDeMeyer May 24, 2022
011161d
Revert "core/device: ignore DEVICE_FOUND_UDEV bit on switching root"
bluca May 24, 2022
dcda9f3
kernel-install: ignore extra args passed when invoked as installkernel
keszybz May 24, 2022
e6b1694
Revert "Revert "core/device: ignore DEVICE_FOUND_UDEV bit on switchin…
yuwata May 26, 2022
165279a
test: cover initrd->sysroot transition in TEST-24
mrc0mmand May 25, 2022
dd46f03
test: generate a custom initrd for TEST-24 if $INITRD is unset
mrc0mmand May 26, 2022
b3781ad
test: store the key on a separate device
mrc0mmand May 26, 2022
4f86dd2
core/device: device_coldplug(): don't set DEVICE_DEAD
mwilck May 25, 2022
131206d
core/device: do not downgrade device state if it is already enumerated
yuwata May 20, 2022
e10683b
test-seccomp: check for CAP_IPC_OWNER before calling shmat()
anitazha May 24, 2022
4bd2056
[sd-boot] improve documentation of beep
rahilarious May 25, 2022
d5be915
loader.conf: Clarify the default value of timeout.
Edu4rdSHL May 26, 2022
0d3ba82
man/systemd.automount: move the main description up and clarify deps
keszybz May 20, 2022
7a73f99
man/automount: say that automounts should not be nested
keszybz May 26, 2022
7c2b2f2
man/shutdown: explain -h more
keszybz May 26, 2022
11b8069
man/sd-bus: discuss negative-return values and add example
keszybz May 26, 2022
cfd6a14
man/homectl: adjust man page to match code
keszybz May 26, 2022
f8bb8d4
shared/find-esp: fix inverted check for XBOOTLDR type
keszybz May 26, 2022
0239991
test: bump the post-reboot expect() timeout
mrc0mmand May 27, 2022
f007166
sd-hwdb: include sys/stat.h in hwdb-internal.h
enr0n May 26, 2022
a5c4e29
sd-bus: fix buffer overflow
yuwata May 26, 2022
75a700e
tests: link tests using fabs against libm explicitly
evverx May 26, 2022
c6dd6af
kernel-install: actually ignore the last two arguments
nabijaczleweli May 26, 2022
e01f55d
kernel-install: don't log each initrd on its own line in verbose mode
nabijaczleweli May 26, 2022
1961d84
cgroup-util: Properly handle conditions where cgroup.threads is empty…
msizanoen1 May 30, 2022
f44e534
seccomp: fix a typo in error message
mrc0mmand May 31, 2022
865b5fb
shared/utmp-wtmp: pass information if entry is local to filter function
keszybz May 31, 2022
befd876
logind: do not print wall messages to local pseudoterminals
keszybz May 31, 2022
423c60a
login: do not issue wall messages on local terminals for suspend and …
cgzones May 27, 2022
7ee5cde
resolved: define source address for proxy-only stub replies
bnf May 31, 2022
98a39c3
man: add missing arguments to systemd-creds synopsis
aafeijoo-suse Jun 2, 2022
761fc09
sha256: use memcpy() when result buffer is unaligned
yuwata May 31, 2022
01dca14
test: add test for sha256
yuwata Jun 2, 2022
eceaa72
shared/bpf: install log callback and suppress most messages from libbpf
keszybz Jun 1, 2022
1b45118
core: define a helper function for basic bpf checks
keszybz Jun 1, 2022
b9f0194
various: add %m in messages
keszybz Jun 1, 2022
2530526
core/bpf: prefix log messages from different bpf subsystems
keszybz Jun 2, 2022
5c3ab8b
[DEB] Do not require a valid version when parsing sd-boot loader entries
viccie30 Nov 14, 2021
a82c03f
[DEB] sha256: fix compilation on efi-ia32
keszybz Jun 3, 2022
0004101
[DEB] Move homectl and userdbctl to bindir
mbiebl May 28, 2022
b2dcfd5
[DEB] meson: install libsystemd-shared into rootpkglibdir
mbiebl Jun 1, 2022
47e5e78
[DEB] shellcheck-clean kernel-install again
nabijaczleweli May 22, 2022
5ba6efb
[DEB] shared/microhttp-util: silence gcc warning
keszybz Jun 5, 2022
017d2c3
[DEB] Use Debian specific config files
mbiebl Jul 18, 2013
9746125
[DEB] Bring tmpfiles.d/tmp.conf in line with Debian defaults
tfheen Jun 5, 2012
6c7669f
[DEB] Make /run/lock tmpfs an API fs
mbiebl Sep 4, 2014
1c4d344
[DEB] Add support for TuxOnIce hibernation
jmuchemb Apr 29, 2014
a018e97
[DEB] Re-enable journal forwarding to syslog
martinpitt Nov 28, 2014
fa103db
[DEB] Don't enable audit by default
martinpitt Dec 28, 2014
49300dc
[DEB] Only start logind if dbus is installed
martinpitt Feb 9, 2015
d3d2416
[DEB] fsckd daemon for inter-fsckd communication
didrocks May 22, 2015
e91de31
[DEB] Skip filesystem check if already done by the initramfs
nmartensen Jan 19, 2016
d0b3dc6
[DEB] Revert "core: one step back again, for nspawn we actually can't…
martinpitt Apr 27, 2015
4b2eede
[DEB] Revert "core: set RLIMIT_CORE to unlimited by default"
martinpitt Feb 27, 2016
e8c394c
[DEB] Let graphical-session-pre.target be manually started
iainlane Aug 22, 2016
7fa3cc7
[DEB] Add env variable for machine ID path
Jan 18, 2017
521ef14
[DEB] deny-list-upstream-test-25
Nov 6, 2019
8b802fe
[DEB] deny-list-upstream-test-02-ppc64el
Nov 6, 2019
a70f3d1
[DEB] udev: drop SystemCallArchitectures=native from systemd-udevd.se…
mbiebl Nov 19, 2019
dc5c7e3
[DEB] Move sysusers.d/sysctl.d/binfmt.d/modules-load.d back to /usr
mbiebl Oct 15, 2020
2213f49
[DEB] systemctl: do not shutdown immediately on scheduled shutdown
joalif Dec 17, 2020
060aec4
[DEB] Downgrade a couple of warnings to debug
mbiebl Feb 15, 2021
0c77b9c
[DEB] Do not fail EFI build with newer binutils
mbiebl Jun 22, 2022
f81aad1
shared: Implement a [white/black]list mechanism for sleep operations
Apr 24, 2015
f7e4940
shared: install an empty sleep-products.conf file under /etc/systemd
Apr 24, 2015
036448f
Disable hibernate and hybrid-sleep by default
mcatanzaro Sep 21, 2016
b43dcd0
Enable suspend by default
dsd May 16, 2017
1ecc9fe
sleep-products: Disable suspend on the Mission One
jprvita Mar 5, 2020
98a4679
[Endless] gpt-auto-generator: Allow non-root to read the ESP in /boot
jprvita Mar 19, 2020
cc75b87
[Endless] test: Fix test-path-util with different build / host split-usr
jprvita Feb 21, 2018
a67ce11
[Endless] Disable coredump processing by default
jprvita Feb 5, 2020
29b9cb1
[Endless] base-filesystem: Only link /lib64 to /usr/lib64
dbnicholson Jul 13, 2016
2c586eb
[Endless] journald.conf: set RuntimeMaxUse=4M by default
cosimoc Nov 14, 2014
5ed0095
[Endless] journald.conf: Set the maximum on-disk joural size to 50 MiB
treitter Apr 3, 2018
8d218f7
[Endless] fsck: Do not fail when fsck returns an error
jprvita Jul 31, 2019
6bec5d4
[Endless] fstab: always mount sysroot rw
dsd Nov 14, 2014
468eab7
[Endless] rules: persistent-storage: Enable 'blkid' for CDROM
Jan 23, 2017
13cc1b7
[Endless] rules: Set mode 0666 for devices in the dialout group
jprvita Jun 19, 2018
9806a3d
[Endless] sd-boot: Read fake symlinks
Jun 20, 2019
e8826df
[Endless] sd-boot: Combine command line parameters for payg
Aug 21, 2019
9a05c25
[Endless] efi-stub: Allow any kernel parameters when not in secure bo…
Aug 28, 2019
855dd91
[Endless] sd-boot: Work around odd behaviour in some firmware
Sep 16, 2019
80f00d6
[Endless] units: Do not enable systemd-boot-system-token.service
jprvita Mar 17, 2020
09596e4
[Endless] Revert "test-mountpoint-util: run test in private mount nam…
jprvita Feb 1, 2021
40e1e21
[Endless] meson: Hardcode SBAT info
jprvita Jul 23, 2022
88e1303
test: Drop close_all_fds in test-fd-util
jprvita Jul 23, 2022
6bff1d2
test: Drop bind_remount_one and bind_remount_recursive in test-mount-…
jprvita Jul 23, 2022
e12b5a1
Revert "[Endless] sd-boot: Work around odd behaviour in some firmware"
starnight Sep 27, 2022
23c8621
Merge pull request #150 from endlessm/T33759
jprvita Sep 27, 2022
600b1dd
Revert "[DEB] Bring tmpfiles.d/tmp.conf in line with Debian defaults"
jprvita Feb 5, 2020
6773bed
Merge pull request #151 from endlessm/T33887
jprvita Oct 5, 2022
75e4ccd
meson: Fix build with --optimization=plain
medhefgo Oct 9, 2022
9738984
Merge pull request #163 from endlessm/fix-build-meson-1.0
starnight Feb 22, 2023
d4832bd
gpt-auto-generator: mount ESP when LoaderDevicePartUUID isn't set
dbnicholson Feb 14, 2023
3f6efe1
[Endless] bootctl: Only install ESP binaries
dbnicholson Apr 12, 2023
35d391f
[Endless] boot: Fix loader.conf fake symlink handling
dbnicholson Apr 13, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions man/homectl.xml
Original file line number Diff line number Diff line change
Expand Up @@ -686,7 +686,7 @@
<varlistentry>
<term><option>--luks-cipher=</option><replaceable>CIPHER</replaceable></term>
<term><option>--luks-cipher-mode=</option><replaceable>MODE</replaceable></term>
<term><option>--luks-volume-key-size=</option><replaceable>BITS</replaceable></term>
<term><option>--luks-volume-key-size=</option><replaceable>BYTES</replaceable></term>
<term><option>--luks-pbkdf-type=</option><replaceable>TYPE</replaceable></term>
<term><option>--luks-pbkdf-hash-algorithm=</option><replaceable>ALGORITHM</replaceable></term>
<term><option>--luks-pbkdf-time-cost=</option><replaceable>SECONDS</replaceable></term>
Expand All @@ -696,7 +696,12 @@
<listitem><para>Configures various cryptographic parameters for the LUKS2 storage mechanism. See
<citerefentry
project='man-pages'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
for details on the specific attributes.</para></listitem>
for details on the specific attributes.</para>

<para>Note that <command>homectl</command> uses bytes for key size, like
<filename>/proc/crypto</filename>, but <citerefentry
project='man-pages'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
uses bits.</para></listitem>
</varlistentry>

<varlistentry>
Expand Down
4 changes: 2 additions & 2 deletions man/journald.conf.xml
Original file line number Diff line number Diff line change
Expand Up @@ -353,7 +353,7 @@
traditional syslog daemon, to the kernel log buffer (kmsg), to the system console, or sent as wall
messages to all logged-in users. These options take boolean arguments. If forwarding to syslog is
enabled but nothing reads messages from the socket, forwarding to syslog has no effect. By default,
only forwarding to wall is enabled. These settings may be overridden at boot time with the kernel
only forwarding to syslog and wall is enabled. These settings may be overridden at boot time with the kernel
command line options <literal>systemd.journald.forward_to_syslog</literal>,
<literal>systemd.journald.forward_to_kmsg</literal>,
<literal>systemd.journald.forward_to_console</literal>, and
Expand Down Expand Up @@ -426,7 +426,7 @@
<command>systemd-journald</command> collects generated audit records, it just controls whether it
tells the kernel to generate them. This means if another tool turns on auditing even if
<command>systemd-journald</command> left it off, it will still collect the generated
messages. Defaults to on.</para></listitem>
messages. Defaults to off.</para></listitem>
</varlistentry>

<varlistentry>
Expand Down
4 changes: 2 additions & 2 deletions man/loader.conf.xml
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@
will be stored as an EFI variable in that case, overriding this option.
</para>

<para>If set to <literal>menu-hidden</literal> or <literal>0</literal> no menu
<para>If set to <literal>menu-hidden</literal> or <literal>0</literal> (the default) no menu
is shown and the default entry will be booted immediately. The menu can be shown
by pressing and holding a key before systemd-boot is launched. Setting this to
<literal>menu-force</literal> disables the timeout while always showing the menu.</para>
Expand Down Expand Up @@ -211,7 +211,7 @@
<varlistentry>
<term>beep</term>

<listitem><para>Beep n times when the n-th entry in the boot menu is shown (default disabled).
<listitem><para>Takes a boolean argument. If timeout enabled beep every second, otherwise beep n times when n-th entry in boot menu is selected (default disabled).
Currently, only x86 is supported, where it uses the PC speaker.</para></listitem>
</varlistentry>

Expand Down
1 change: 1 addition & 0 deletions man/rules/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -884,6 +884,7 @@ manpages = [
'8',
['systemd-fsck', 'systemd-fsck-root.service'],
''],
['systemd-fsckd.service', '8', ['systemd-fsckd.socket', 'systemd-fsckd'], ''],
['systemd-fstab-generator', '8', [], ''],
['systemd-getty-generator', '8', [], ''],
['systemd-gpt-auto-generator', '8', [], 'HAVE_BLKID'],
Expand Down
18 changes: 18 additions & 0 deletions man/sd_bus_error-example.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
/* SPDX-License-Identifier: CC0-1.0 */

#include <errno.h>
#include <string.h>
#include <unistd.h>
#include <sd-bus.h>

int writer_with_negative_errno_return(int fd, sd_bus_error *error) {
const char *message = "Hello, World!\n";

ssize_t n = write(fd, message, strlen(message));
if (n >= 0)
return n; /* On success, return the number of bytes written, possibly 0. */

/* On error, initialize the error structure, and also propagate the errno
* value that write(2) set for us. */
return sd_bus_error_set_errnof(error, errno, "Failed to write to fd %i: %m", fd);
}
68 changes: 47 additions & 21 deletions man/sd_bus_error.xml
Original file line number Diff line number Diff line change
Expand Up @@ -246,10 +246,15 @@
values in <parameter>e</parameter>, if <parameter>e</parameter> has been set with an error value before.
Otherwise, it will return immediately. If the strings in <parameter>e</parameter> were set using
<function>sd_bus_error_set_const()</function>, they will be shared. Otherwise, they will be
copied. Returns a converted <varname>errno</varname>-like, negative error code or <constant>0</constant>.
Before this call, <parameter>dst</parameter> must be unset, i.e. either freshly initialized with
copied. Before this call, <parameter>dst</parameter> must be unset, i.e. either freshly initialized with
<constant>NULL</constant> or reset using <function>sd_bus_error_free()</function>.</para>

<para><function>sd_bus_error_copy()</function> generally returns <constant>0</constant> or a negative
<varname>errno</varname>-like value based on the input parameter <parameter>e</parameter>:
<constant>0</constant> if it was unset and a negative integer if it was set to some error, similarly to
<function>sd_bus_error_set()</function>. It may however also return an error generated internally, for
example <constant>-ENOMEM</constant> if a memory allocation fails.</para>

<para><function>sd_bus_error_move()</function> is similar to <function>sd_bus_error_copy()</function>,
but will move any error information from <parameter>e</parameter> into <parameter>dst</parameter>,
resetting the former. This function cannot fail, as no new memory is allocated. Note that if
Expand Down Expand Up @@ -286,6 +291,18 @@
to <constant>NULL</constant>. The structure may be reused afterwards.</para>
</refsect1>

<refsect1>
<title>Reference ownership</title>

<para><structname>sd_bus_error</structname> is not reference-counted. Users should destroy resources held
by it by calling <function>sd_bus_error_free()</function>. Usually, error structures are allocated on the
stack or passed in as function parameters, but they may also be allocated dynamically, in which case it
is the duty of the caller to <citerefentry
project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry> the memory
held by the structure itself after freeing its contents with
<function>sd_bus_error_free()</function>.</para>
</refsect1>

<refsect1>
<title>Return Value</title>

Expand All @@ -297,15 +314,18 @@
<function>sd_bus_error_set_errnofv()</function>, return <constant>0</constant> when the specified error
value is <constant>0</constant>, and a negative errno-like value corresponding to the
<parameter>error</parameter> parameter otherwise. If an error occurs internally, one of the negative
error values listed below will be returned.</para>
error values listed below will be returned. This allows those functions to be conveniently used in a
<constant>return</constant> statement, see the example below.</para>

<para><function>sd_bus_error_get_errno()</function> returns
<constant>false</constant> when <parameter>e</parameter> is
<constant>NULL</constant>, and a positive errno value mapped from
<parameter>e-&gt;name</parameter> otherwise.</para>

<para><function>sd_bus_error_copy()</function> and <function>sd_bus_error_move()</function> return a
negative error value converted from the source error, and zero if the error has not been set.</para>
negative error value converted from the source error, and zero if the error has not been set. This
allows those functions to be conveniently used in a <constant>return</constant> statement, see the
example below.</para>

<para><function>sd_bus_error_is_set()</function> returns a
non-zero value when <parameter>e</parameter> and the
Expand All @@ -316,32 +336,18 @@
<function>sd_bus_error_has_names_sentinel()</function> return a non-zero value when <parameter>e</parameter> is
non-<constant>NULL</constant> and the <structfield>name</structfield> field is equal to one of the given
names, zero otherwise.</para>
</refsect1>

<refsect1>
<title>Reference ownership</title>
<para><structname>sd_bus_error</structname> is not reference
counted. Users should destroy resources held by it by calling
<function>sd_bus_error_free()</function>. Usually, error structures
are allocated on the stack or passed in as function parameters,
but they may also be allocated dynamically, in which case it is
the duty of the caller to <citerefentry
project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
the memory held by the structure itself after freeing its contents
with <function>sd_bus_error_free()</function>.</para>

<refsect2>
<title>Errors</title>

<para>Returned errors may indicate the following problems:</para>
<para>Return value may indicate the following problems in the invocation of the function itself:</para>

<variablelist>

<varlistentry>
<term><constant>-EINVAL</constant></term>

<listitem><para>Error was already set in <structname>sd_bus_error</structname> structure when one
the error-setting functions was called.</para></listitem>
<listitem><para>Error was already set in the <structname>sd_bus_error</structname> structure when
one the error-setting functions was called.</para></listitem>
</varlistentry>

<varlistentry>
Expand All @@ -350,9 +356,29 @@
<listitem><para>Memory allocation failed.</para></listitem>
</varlistentry>
</variablelist>

<para>On success, <function>sd_bus_error_set()</function>, <function>sd_bus_error_setf()</function>,
<function>sd_bus_error_set_const()</function>, <function>sd_bus_error_set_errno()</function>,
<function>sd_bus_error_set_errnof()</function>, <function>sd_bus_error_set_errnofv()</function>,
<function>sd_bus_error_copy()</function>, and <function>sd_bus_error_move()</function> will return a
negative converted <varname>errno</varname>-style value, or <constant>0</constant> if the error
parameter is <constant>NULL</constant> or unset. D-Bus errors are converted to the integral
<varname>errno</varname>-style value, and the mapping mechanism is extensible, see the discussion
above. This effectively means that almost any negative <varname>errno</varname>-style value can be
returned.</para>
</refsect2>
</refsect1>

<refsect1>
<title>Examples</title>

<example>
<title>Using the negative return value to propagate an error</title>

<programlisting><xi:include href="sd_bus_error-example.c" parse="text" /></programlisting>
</example>
</refsect1>

<xi:include href="libsystemd-pkgconfig.xml" />

<refsect1>
Expand Down
29 changes: 11 additions & 18 deletions man/shutdown.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

<refnamediv>
<refname>shutdown</refname>
<refpurpose>Halt, power-off or reboot the machine</refpurpose>
<refpurpose>Halt, power off or reboot the machine</refpurpose>
</refnamediv>

<refsynopsisdiv>
Expand All @@ -33,8 +33,7 @@
<refsect1>
<title>Description</title>

<para><command>shutdown</command> may be used to halt, power-off
or reboot the machine.</para>
<para><command>shutdown</command> may be used to halt, power off, or reboot the machine.</para>

<para>The first argument may be a time string (which is usually
<literal>now</literal>). Optionally, this may be followed by a
Expand Down Expand Up @@ -81,47 +80,41 @@
<term><option>-P</option></term>
<term><option>--poweroff</option></term>

<listitem><para>Power-off the machine (the
default).</para></listitem>
<listitem><para>Power the machine off (the default).</para></listitem>
</varlistentry>

<varlistentry>
<term><option>-r</option></term>
<term><option>--reboot</option></term>

<listitem><para>Reboot the
machine.</para></listitem>
<listitem><para>Reboot the machine.</para></listitem>
</varlistentry>

<varlistentry>
<term><option>-h</option></term>

<listitem><para>Equivalent to <option>--poweroff</option>,
unless <option>--halt</option> is specified.</para></listitem>
<listitem><para>The same as <option>--poweroff</option>, but does not override the action to take if
it is "halt". E.g. <command>shutdown --reboot -h</command> means "poweroff", but <command>shutdown
--halt -h</command> means "halt".</para></listitem>
</varlistentry>

<varlistentry>
<term><option>-k</option></term>

<listitem><para>Do not halt, power-off, reboot, just write
wall message.</para></listitem>
<listitem><para>Do not halt, power off, or reboot, but just write the wall message.</para></listitem>
</varlistentry>

<varlistentry>
<term><option>--no-wall</option></term>

<listitem><para>Do not send wall
message before
halt, power-off, reboot.</para></listitem>
<listitem><para>Do not send wall message before halt, power off, or reboot.</para></listitem>
</varlistentry>

<varlistentry>
<term><option>-c</option></term>

<listitem><para>Cancel a pending shutdown. This may be used
to cancel the effect of an invocation of
<command>shutdown</command> with a time argument that is not
<literal>+0</literal> or
<listitem><para>Cancel a pending shutdown. This may be used to cancel the effect of an invocation of
<command>shutdown</command> with a time argument that is not <literal>+0</literal> or
<literal>now</literal>.</para></listitem>
</varlistentry>

Expand Down
2 changes: 2 additions & 0 deletions man/systemd-creds.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@
<cmdsynopsis>
<command>systemd-creds</command>
<arg choice="opt" rep="repeat">OPTIONS</arg>
<arg choice="plain">COMMAND</arg>
<arg choice="opt" rep="repeat">ARGS</arg>
</cmdsynopsis>
</refsynopsisdiv>

Expand Down
Loading