if (unlinkat (AT_FDCWD, INITRAMFS_MOUNT_VAR, 0) == 0)
return TRUE;
+ // If we're not booted via ostree, do nothing
+ if (!glnx_fstatat_allow_noent (AT_FDCWD, OTCORE_RUN_OSTREE, NULL, 0, error))
+ return FALSE;
+ if (errno == ENOENT)
+ return TRUE;
+
g_autofree char *cmdline = read_proc_cmdline ();
if (!cmdline)
return glnx_throw (error, "Failed to read /proc/cmdline");
-
- /* If we're installed on a system which isn't using OSTree for boot (e.g.
- * package installed as a dependency for flatpak or whatever), silently
- * exit so that we don't error, but at the same time work where switchroot
- * is PID 1 (and so hasn't created /run/ostree-booted).
- */
g_autofree char *ostree_cmdline = otcore_find_proc_cmdline_key (cmdline, "ostree");
- if (!ostree_cmdline)
- return TRUE;
+ // SAFETY: If we have /run/ostree, then we must have the ostree= karg
+ g_assert (ostree_cmdline);
if (!require_internal_units (normal_dir, early_dir, late_dir, error))
return FALSE;