From 1cbf549da48a86caeb0db56736e439bb431c1a53 Mon Sep 17 00:00:00 2001 From: John Baldwin Date: Fri, 7 May 2004 19:15:56 +0000 Subject: [PATCH] Minor fixes for ia64 installs: - Don't look for partitions inside a FreeBSD chunk on ia64 when mounting the filesystems just before the chroot and install. - Write entries out to /etc/fstab for filesystems that aren't inside a FreeBSD chunk, but are a top-level chunk under the disk. --- usr.sbin/sade/config.c | 3 ++- usr.sbin/sade/install.c | 6 ++++++ usr.sbin/sysinstall/config.c | 3 ++- usr.sbin/sysinstall/install.c | 6 ++++++ 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/usr.sbin/sade/config.c b/usr.sbin/sade/config.c index 2e205e111861..d055933890f9 100644 --- a/usr.sbin/sade/config.c +++ b/usr.sbin/sade/config.c @@ -212,7 +212,8 @@ configFstab(dialogMenuItem *self) chunk_list[nchunks++] = c2; } } - else if ((c1->type == fat || c1->type == efi) && c1->private_data) + else if (((c1->type == fat || c1->type == efi || c1->type == part) && + c1->private_data) || (c1->type == part && c1->subtype == FS_SWAP)) chunk_list[nchunks++] = c1; } } diff --git a/usr.sbin/sade/install.c b/usr.sbin/sade/install.c index 3d26689ff443..a45c3bf6777f 100644 --- a/usr.sbin/sade/install.c +++ b/usr.sbin/sade/install.c @@ -1036,8 +1036,14 @@ installFilesystems(dialogMenuItem *self) return DITEM_FAILURE | DITEM_RESTORE; } for (c1 = disk->chunks->part; c1; c1 = c1->next) { +#ifndef __ia64__ if (c1->type == freebsd) { for (c2 = c1->part; c2; c2 = c2->next) { +#else + if (c1->type == part) { + c2 = c1; + { +#endif if (c2->type == part && c2->subtype != FS_SWAP && c2->private_data) { PartInfo *tmp = (PartInfo *)c2->private_data; diff --git a/usr.sbin/sysinstall/config.c b/usr.sbin/sysinstall/config.c index 2e205e111861..d055933890f9 100644 --- a/usr.sbin/sysinstall/config.c +++ b/usr.sbin/sysinstall/config.c @@ -212,7 +212,8 @@ configFstab(dialogMenuItem *self) chunk_list[nchunks++] = c2; } } - else if ((c1->type == fat || c1->type == efi) && c1->private_data) + else if (((c1->type == fat || c1->type == efi || c1->type == part) && + c1->private_data) || (c1->type == part && c1->subtype == FS_SWAP)) chunk_list[nchunks++] = c1; } } diff --git a/usr.sbin/sysinstall/install.c b/usr.sbin/sysinstall/install.c index 3d26689ff443..a45c3bf6777f 100644 --- a/usr.sbin/sysinstall/install.c +++ b/usr.sbin/sysinstall/install.c @@ -1036,8 +1036,14 @@ installFilesystems(dialogMenuItem *self) return DITEM_FAILURE | DITEM_RESTORE; } for (c1 = disk->chunks->part; c1; c1 = c1->next) { +#ifndef __ia64__ if (c1->type == freebsd) { for (c2 = c1->part; c2; c2 = c2->next) { +#else + if (c1->type == part) { + c2 = c1; + { +#endif if (c2->type == part && c2->subtype != FS_SWAP && c2->private_data) { PartInfo *tmp = (PartInfo *)c2->private_data;