summaryrefslogtreecommitdiffstats
path: root/usr.sbin/sade
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2002-11-18 08:37:46 +0000
committermarcel <marcel@FreeBSD.org>2002-11-18 08:37:46 +0000
commit5f52e523f035a7b304df0aa841272a5483d8b4fd (patch)
treefbf3c9f4fccdcc5123be6c6aad3934f895cb3553 /usr.sbin/sade
parentbb7a6e62c794ea7617672473e4be91689d8faed7 (diff)
downloadFreeBSD-src-5f52e523f035a7b304df0aa841272a5483d8b4fd.zip
FreeBSD-src-5f52e523f035a7b304df0aa841272a5483d8b4fd.tar.gz
Create a link /boot -> /<efi>/boot, where <efi> is the mountpoint
of the EFI file system. This makes the EFI partition non-optional. I don't think that the links are actually correct, given that all the mount points are under /mnt when sysinstall is run as init. (ie a non-upgrade). Thus: I think I need to go in once more, but at least this doesn't get lost...
Diffstat (limited to 'usr.sbin/sade')
-rw-r--r--usr.sbin/sade/install.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/usr.sbin/sade/install.c b/usr.sbin/sade/install.c
index b6d26c9..329a0c0 100644
--- a/usr.sbin/sade/install.c
+++ b/usr.sbin/sade/install.c
@@ -1046,12 +1046,27 @@ installFilesystems(dialogMenuItem *self)
}
#if defined(__ia64__)
else if (c1->type == efi && c1->private_data) {
+ char bootdir[FILENAME_MAX];
+ char efi_bootdir[FILENAME_MAX];
PartInfo *pi = (PartInfo *)c1->private_data;
if (pi->newfs && (!upgrade || !msgNoYes("You are upgrading - are you SURE you want to newfs /dev/%s?", c1->name)))
command_shell_add(pi->mountpoint, "%s %s/dev/%s", pi->newfs_cmd, RunningAsInit ? "/mnt" : "", c1->name);
command_func_add(pi->mountpoint, Mount, c1->name);
+
+ /*
+ * Create a directory boot on the EFI filesystem and create a
+ * link boot on the root filesystem pointing to the one on the
+ * EFI filesystem. That way, we install the loader, kernel
+ * and modules on the EFI filesystem.
+ */
+ sprintf(bootdir, "%s", RunningAsInit ? "/mnt" : "");
+ sprintf(efi_bootdir, "%s/%s", bootdir, pi->mountpoint);
+ strcat(bootdir, "/boot");
+ strcat(efi_bootdir, "/boot");
+ Mkdir(efi_bootdir);
+ symlink(efi_bootdir, bootdir);
}
#endif
}
OpenPOWER on IntegriCloud