diff options
| author | Marcel Moolenaar <marcel@FreeBSD.org> | 2002-11-18 08:37:46 +0000 |
|---|---|---|
| committer | Marcel Moolenaar <marcel@FreeBSD.org> | 2002-11-18 08:37:46 +0000 |
| commit | 2017c38b33ddadc5ab62bf5ae76764fc1a119e22 (patch) | |
| tree | fbf3c9f4fccdcc5123be6c6aad3934f895cb3553 /usr.sbin | |
| parent | 929fb97c09f2e6a74270ca6444b4e88b2cb3758d (diff) | |
Notes
Diffstat (limited to 'usr.sbin')
| -rw-r--r-- | usr.sbin/sade/install.c | 15 | ||||
| -rw-r--r-- | usr.sbin/sysinstall/install.c | 15 |
2 files changed, 30 insertions, 0 deletions
diff --git a/usr.sbin/sade/install.c b/usr.sbin/sade/install.c index b6d26c96705b..329a0c06d027 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 } diff --git a/usr.sbin/sysinstall/install.c b/usr.sbin/sysinstall/install.c index b6d26c96705b..329a0c06d027 100644 --- a/usr.sbin/sysinstall/install.c +++ b/usr.sbin/sysinstall/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 } |
