diff --git a/src/journal/journald-config.c b/src/journal/journald-config.c index de78a40008..b524379b5c 100644 --- a/src/journal/journald-config.c +++ b/src/journal/journald-config.c @@ -5,6 +5,7 @@ #include "conf-parser.h" #include "creds-util.h" #include "daemon-util.h" +#include "initrd-util.h" #include "journald-audit.h" #include "journald-config.h" #include "journald-context.h" @@ -117,6 +118,11 @@ void manager_merge_configs(Manager *m) { journal_config_done(&m->config); MERGE_NON_NEGATIVE(storage, JOURNAL_STORAGE_DEFAULT_VAL); + + /* In the initrd, only 'none' and 'volatile' make sense. */ + if (in_initrd() && IN_SET(m->config.storage, STORAGE_PERSISTENT, STORAGE_AUTO)) + m->config.storage = STORAGE_VOLATILE; + manager_merge_journal_compress_options(m); MERGE_NON_NEGATIVE(seal, true); /* By default, /dev/kmsg is read only by the main namespace instance. */