mirror of
https://github.com/ostreedev/ostree.git
synced 2025-01-03 05:18:24 +03:00
Merge pull request #3316 from ruihe774/readonly-cmdline
prepare-root: allow `sysroot.readonly=true` with kernel cmdline `ro`
This commit is contained in:
commit
f7018d84de
@ -36,10 +36,6 @@
|
|||||||
#define _OSTREE_SYSROOT_READONLY_STAMP "/run/ostree-sysroot-ro.stamp"
|
#define _OSTREE_SYSROOT_READONLY_STAMP "/run/ostree-sysroot-ro.stamp"
|
||||||
#define _OSTREE_COMPOSEFS_ROOT_STAMP "/run/ostree-composefs-root.stamp"
|
#define _OSTREE_COMPOSEFS_ROOT_STAMP "/run/ostree-composefs-root.stamp"
|
||||||
|
|
||||||
#define OTCORE_SYSROOT_NOT_WRITEABLE \
|
|
||||||
"sysroot.readonly=true requires %s to be writable at this point, the cmdline should contain rw " \
|
|
||||||
"but not ro, if that is not the case this is likely the issue"
|
|
||||||
|
|
||||||
#define autofree __attribute__ ((cleanup (cleanup_free)))
|
#define autofree __attribute__ ((cleanup (cleanup_free)))
|
||||||
|
|
||||||
static inline int
|
static inline int
|
||||||
|
@ -227,8 +227,6 @@ main (int argc, char *argv[])
|
|||||||
* writable bind-mounts (for /etc and /var) are required later on. */
|
* writable bind-mounts (for /etc and /var) are required later on. */
|
||||||
if (sysroot_readonly)
|
if (sysroot_readonly)
|
||||||
{
|
{
|
||||||
if (!sysroot_currently_writable)
|
|
||||||
errx (EXIT_FAILURE, OTCORE_SYSROOT_NOT_WRITEABLE, root_arg);
|
|
||||||
/* Pass on the fact that we discovered a readonly sysroot to ostree-remount.service */
|
/* Pass on the fact that we discovered a readonly sysroot to ostree-remount.service */
|
||||||
int fd = open (_OSTREE_SYSROOT_READONLY_STAMP, O_WRONLY | O_CREAT | O_CLOEXEC, 0644);
|
int fd = open (_OSTREE_SYSROOT_READONLY_STAMP, O_WRONLY | O_CREAT | O_CLOEXEC, 0644);
|
||||||
if (fd < 0)
|
if (fd < 0)
|
||||||
|
@ -501,13 +501,6 @@ main (int argc, char *argv[])
|
|||||||
g_variant_builder_add (&metadata_builder, "{sv}", OTCORE_RUN_BOOTED_KEY_ROOT_TRANSIENT,
|
g_variant_builder_add (&metadata_builder, "{sv}", OTCORE_RUN_BOOTED_KEY_ROOT_TRANSIENT,
|
||||||
g_variant_new_boolean (root_transient));
|
g_variant_new_boolean (root_transient));
|
||||||
|
|
||||||
/* This will result in a system with /sysroot read-only. Thus, two additional
|
|
||||||
* writable bind-mounts (for /etc and /var) are required later on. */
|
|
||||||
if (sysroot_readonly)
|
|
||||||
{
|
|
||||||
if (!sysroot_currently_writable)
|
|
||||||
errx (EXIT_FAILURE, OTCORE_SYSROOT_NOT_WRITEABLE, root_arg);
|
|
||||||
}
|
|
||||||
/* Pass on the state for use by ostree-prepare-root */
|
/* Pass on the state for use by ostree-prepare-root */
|
||||||
g_variant_builder_add (&metadata_builder, "{sv}", OTCORE_RUN_BOOTED_KEY_SYSROOT_RO,
|
g_variant_builder_add (&metadata_builder, "{sv}", OTCORE_RUN_BOOTED_KEY_SYSROOT_RO,
|
||||||
g_variant_new_boolean (sysroot_readonly));
|
g_variant_new_boolean (sysroot_readonly));
|
||||||
|
Loading…
Reference in New Issue
Block a user