sysroot: Support /boot on root or as seperate filesystem for syslinux and u-boot
We use a similar trick to having a `sysroot -> .` symlink on the real root here to support both /boot on root as well as on a separate filesystem. No matter how it's mounted `/boot/xyz` will always refer to the file you'd expect. This is nicer than my previous attempts at this because there's no configuration nor auto-detection required.
This commit is contained in:
1 parent
4deb426835
commit
0ced9fde76
4 files changed
+41
-15
No files matched your search
@@ -1998,6 +1998,12 @@ prepare_new_bootloader_link (OstreeSysroot *sysroot,
|
||||
g_assert ((current_bootversion == 0 && new_bootversion == 1) ||
|
||||
(current_bootversion == 1 && new_bootversion == 0));
|
||||
|
||||
/* This allows us to support both /boot on a seperate filesystem to / as well
|
||||
* as on the same filesystem. */
|
||||
if (TEMP_FAILURE_RETRY (symlinkat (".", sysroot->sysroot_fd, "boot/boot")) < 0)
|
||||
if (errno != EEXIST)
|
||||
return glnx_throw_errno_prefix (error, "symlinkat");
|
||||
|
||||
g_autofree char *new_target = g_strdup_printf ("loader.%d", new_bootversion);
|
||||
|
||||
/* We shouldn't actually need to replace but it's easier to reuse
|
||||
|
||||
Reference in new issue
Block a user