]> git.ipfire.org Git - people/stevee/ipfire-2.x.git/commitdiff
installer: Ensure to always create the /boot directory.
authorStefan Schantl <stefan.schantl@ipfire.org>
Sun, 25 Feb 2024 10:43:16 +0000 (11:43 +0100)
committerStefan Schantl <stefan.schantl@ipfire.org>
Sun, 25 Feb 2024 10:43:16 +0000 (11:43 +0100)
Ensure to always create the /boot directory during the mounting
of the various created file systems. If the /boot directory does not
exist some following mount operations could not be performed correctly
and the installation/mounting will fail.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
src/installer/hw.c

index a196bf8bed7c70bdd1812c801ce18c86253fb80e..b9ed924591660e0aedec30f4cf2f2a151a7a2e1a 100644 (file)
@@ -904,10 +904,16 @@ int hw_mount_filesystems(struct hw_destination* dest, const char* prefix) {
                return r;
 
        // boot
-       if (*dest->part_boot) {
-               snprintf(target, sizeof(target), "%s%s", prefix, HW_PATH_BOOT);
-               mkdir(target, S_IRWXU|S_IRWXG|S_IRWXO);
+       snprintf(target, sizeof(target), "%s%s", prefix, HW_PATH_BOOT);
+       r = mkdir(target, S_IRWXU|S_IRWXG|S_IRWXO);
+
+       if (r) {
+               hw_umount_filesystems(dest, prefix);
 
+               return r;
+       }
+
+       if (*dest->part_boot) {
                r = hw_mount(dest->part_boot, target, filesystem, 0);
                if (r) {
                        hw_umount_filesystems(dest, prefix);