Back in my SunOS 3.5 and 4.1 days, I partitioned systems with a small root. I've done the same with FreeBSD. Back in the 2.0 days, 32MB was more than generous. I could give 64MB to /var and have plenty of space for logs and email. 192MB for /usr, which was mounted read-only, was sufficient. /usr/local and /home would be where all the action took place. 32MB under / was generous. But now it barely fits the kernel and the loadable modules. It'd sure be nice if sysinstall could check your partition sizes against your chosen distributions and say "Your /usr partition isn't large enough to hold the selected packages" or "Your root partition needs to be at least 58MB". Fix: Realize that things are only going to get bigger and repartition before you upgrade. Blow away /sbin/mount_* for unsupported/buggy filesystems. Move /stand to /usr and symlink it. Remove loadable modules you won't need. Drop kernel.GENERIC. Config a small kernel. Scratch and scrape for every last bit of space and hope there's enough room for kernel.old in case the new one doesn't work. How-To-Repeat: Make a FreeBSD 3.1 system with a 32MB root partition. Run the 4.2 sysinstall and choose upgrade. Read the scary stuff, proceed with the upgrade. Mark the mountpoints for the previous filesystems. Choose distributions. Proceed. Wait for the File System Full messages to appear. This has happened before, too, when my /usr was too small. I now have a /usr of 300MB, and a 4.2 system with man, catman, info, and doc is 94% full.
State Changed From-To: open->analyzed The defaults have been bumped up generously, but sysinstall still does not intelligently warn users about disk space requirements.
Responsible Changed From-To: freebsd-bugs->freebsd-qa The defaults have been bumped up generously, but sysinstall still does not intelligently warn users about disk space requirements.
Responsible Changed From-To: freebsd-bugs->brucec Take.
This is (IMO) an impossible requirement to chase (as-is) as this amount can change varying upon how packages are distributed; you would need to `taste' the contents in the packages to determine the unpacked size and calculate whether or not the user should or should not be warned about having too small or two large a partition size. That kind of data isn't really available today [in pkg_install] as they're just dumb compressed tarballs with a little bit of extra data. The enhancement would have to be first made to pkg_install, then sysinstall would need to `taste' that information to ensure that the calculated sizes were less than the proposed partition amounts. That introduces a potentially large amount of complexity though because sysinstall would need to copy the data to a temporary location to avoid downloading packages twice (tmpfs, etc... which might not have enough space), then sysinstall would need to track where ALL of the files are being installed to and thus determine whether or not the user was doing the right thing or was being a foolish and the install would fail, etc. I think that the issue that really needs to be resolved is to make the installation revertable so that if the user does make a mistake with the sizes he/she specifies for partitions and slices, they can go back and fix their issues before they get too locked down with system configuration, etc after install. Thanks, -Garrett
Responsible Changed From-To: brucec->freebsd-sysinstall Back to the pool.
sysinstall has been replaced by bsdinstall in FreeBSD 9.x. Closing.