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...
This commit is contained in:
Marcel Moolenaar 2002-11-18 08:37:46 +00:00
parent 929fb97c09
commit 2017c38b33
2 changed files with 30 additions and 0 deletions

View File

@ -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
}

View File

@ -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
}