diff options
author | marcel <marcel@FreeBSD.org> | 2002-12-02 20:15:16 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2002-12-02 20:15:16 +0000 |
commit | 08185d6b24389fb9fd0169df1777d2260c978b01 (patch) | |
tree | e448534c83572001a19e32a84c82fd4857feaa95 /usr.sbin/sade/install.c | |
parent | 7b3238944ad7e75d41b5abeec125b1565b406096 (diff) | |
download | FreeBSD-src-08185d6b24389fb9fd0169df1777d2260c978b01.zip FreeBSD-src-08185d6b24389fb9fd0169df1777d2260c978b01.tar.gz |
ia64 specific.
o Mount the EFI file system as msdosfs and not ufs as it's a FAT
file system. Introduce Mount_msdos() for this to go side-by-side
with Mount().
o Also, since mounting is performed as a command (which means it's
queued, sorted, lost, found and executed), we cannot create a
directory on the file system by calling mkdir. We must make sure
the mkdir happens after the mount. Introduce Mkdir_command() to
allow mkdir operations to be queued, sorted, lost, found and
executed as well.
Approved by: re (jhb, rwatson)
Diffstat (limited to 'usr.sbin/sade/install.c')
-rw-r--r-- | usr.sbin/sade/install.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/usr.sbin/sade/install.c b/usr.sbin/sade/install.c index 1b25046..b9fe9b2 100644 --- a/usr.sbin/sade/install.c +++ b/usr.sbin/sade/install.c @@ -891,6 +891,9 @@ installFilesystems(dialogMenuItem *self) PartInfo *root; char dname[80]; Boolean upgrade = FALSE; +#if defined(__ia64__) + char efi_bootdir[FILENAME_MAX]; +#endif /* If we've already done this, bail out */ if (!variable_cmp(DISK_LABELLED, "written")) @@ -1055,14 +1058,13 @@ 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; char *p; 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); + command_func_add(pi->mountpoint, Mount_msdosfs, c1->name); /* * Create a directory boot on the EFI filesystem and create a @@ -1074,7 +1076,8 @@ installFilesystems(dialogMenuItem *self) sprintf(efi_bootdir, "%s/%s", bootdir, pi->mountpoint); strcat(bootdir, "/boot"); strcat(efi_bootdir, "/boot"); - Mkdir(efi_bootdir); + command_func_add(pi->mountpoint, Mkdir_command, efi_bootdir); + /* Make a relative link. */ p = &efi_bootdir[(RunningAsInit) ? 4 : 0]; while (*p == '/') |