Date: Tue, 6 May 2003 08:59:29 -0700 (PDT) From: Robert Watson <rwatson@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 30669 for review Message-ID: <200305061559.h46FxT7G026946@repoman.freebsd.org>
index | next in thread | raw e-mail
http://perforce.freebsd.org/chv.cgi?CH=30669 Change 30669 by rwatson@rwatson_tislabs on 2003/05/06 08:58:38 Revert local big boot block changes; no longer required to boot UFS2. Affected files ... .. //depot/projects/trustedbsd/mac/usr.sbin/sysinstall/disks.c#14 edit Differences ... ==== //depot/projects/trustedbsd/mac/usr.sbin/sysinstall/disks.c#14 (text+ko) ==== @@ -832,12 +832,6 @@ diskPartitionWrite(dialogMenuItem *self) { Device **devs; -#ifdef __i386__ - size_t boot1size, boot2size; - Chunk *slice; - PartInfo *pi; - int bigbb, nonbigbb; -#endif int i; if (!variable_cmp(DISK_PARTITIONED, "written")) @@ -860,60 +854,7 @@ if (!devs[i]->enabled) continue; -#ifdef __i386__ - /* - * For i386, use "big" boot blocks if the first partition in - * every FreeBSD slice is UFS2 and therefore has 64KB of space - * available rather than UFS1's mere 8KB. We could be more - * intelligent here and move forward uncreated non-UFS2 - * partitions to accomodate, and check that already-created - * slice aren't actually created with an offset from the - * beginning of their slice in the first place. - */ - nonbigbb = bigbb = 0; - for (slice = d->chunks->part; slice; slice = slice->next) { - if (slice->type != freebsd) - continue; - if (slice->part->type == unused) - continue; /* just an empty FreeBSD slice */ - if (slice->part->subtype != FS_BSDFFS) { - nonbigbb = 1; /* assume non-UFS2 means non-64KB */ - continue; - } - pi = slice->part->private_data; - if (pi == NULL || pi->newfs_type != NEWFS_UFS || - !pi->newfs_data.newfs_ufs.ufs2) { - nonbigbb = 1; /* assume non-UFS2 means non-64KB */ - continue; - } - bigbb = 1; - } - if (bigbb && nonbigbb) - msgConfirm("Warning: Some FreeBSD slices on this disk preclude the " - "installation of UFS2-capable boot blocks. You will need " - "to manually use disklabel(8) on these slices to install " - "the correct boot blocks."); - /* - * Boot blocks may switch back and forth if the installer is - * writing out labels on multiple disks. - */ - free(boot1); - free(boot2); - if (!nonbigbb && bigbb) { - boot1 = bootalloc("boot1", &boot1size); - boot2 = bootalloc("boot2", &boot2size); - Set_Boot_Block_Size(d, 0x10000); - if (Set_Large_Boot_Blocks(d, boot1, boot1size, boot2, - boot2size)) { - msgConfirm("ERROR: Unable to use boot blocks on disk %s!", d->name); - return DITEM_FAILURE; - } - } else { - boot1 = bootalloc("boot1", &boot1size); - boot2 = bootalloc("boot2-ufs1", &boot2size); - Set_Boot_Blocks(d, boot1, boot2); - } -#elif defined(__ia64__) +#if defined(__i386__) || defined(__ia64__) if (!boot1) boot1 = bootalloc("boot1", NULL); if (!boot2) boot2 = bootalloc("boot2", NULL); Set_Boot_Blocks(d, boot1, boot2);help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200305061559.h46FxT7G026946>
