doc listing of a full install's structure?

Frank Fenderbender frankfenderbender at
Mon Nov 4 03:32:58 UTC 2019

Thanks for your astute comments, questions, and requests for better clarification (which was definitely lacking in my query).
Sorry for that.
Hopefully I can distill down my goals as well as let be known my sense of what I am doing, which.. heh, heh... will also 
expose what I do NOT know, but that's what this is all about: learning from the robust thinkers and experienced experimenters out there in the list.
For that (and all of you) I am grateful. So, thanks to anyone reviewing or commenting.

I'm trying to research before accepting any installation or documentation "defaults" which may or may not be mins, maxs, optimum, cast-in-stone, etc..
I know enough not to base the FreeBSD system needs/performance upon any other OS's, however, Ubuntu is all I have to go on thus far, so 
I'll use it as an example.

I can base this on a combination of different sources: guess, gut feeling, qualified-and-similar "solutions" from web posts from which I have to
interpolate, extrapolate, combine, and filter. The latter is always a lot of work sauced with chance and luck.
My gut says to go with the listees' experiences, as you are current and still full of imaginative zest and fire.

Okay, maybe it's best to show what I've got so far (and it's less-than-"perfect", esp. since what the FreeBSD documentation wisely 
suggests [listed below]).

On Ubuntu, one can let the install all the OS's folders into 3 partitions, however, performance and backups are 
easier when the pre-install space is modularized so that the install finds a mounted partition 
for its larger and more-used folders.
It's even recommended that certain partitions be located in certain drive regions for "first" and "fast" access (e.g., EFI, MBR, 
/boot, etc.).
Ubuntu 16.04/18.04 LTS installations will default to just three partitions:
	label=ESP (type=fat32; flags=boot,esp)
	label=OS;	type=fat32; flag=msftdata)
	label=UBUNTU (type=ext4; no flags).

You add your swap from the "free space" left over....

My two systems have their Ubuntu 18.04 (1T) drives set up as:

what               type       mount-pt     input-size     actual-size
-------               -------    ------------     ---------------     ---------------
free space                                                                            1M
/dev/sda1      fat32     /boot/efi       1,001M              1,000M (1G)         <== input-size covers the 'free space' preceding it
/dev/sda2      fat32     /biosgrub          10M                   10M (0.01G)
/dev/sda3      ext4      /boot             4,000M             4,000M (4G)
/dev/sda4      ext4      /                300,000M         300,000M (300G)      <== the "root partition" is used for the OS
/dev/sda5      ext4      swap          12,000M           12,000M (12G)
/dev/sda6      ext4      /usr             20,000M           20,000M (20G)
/dev/sda7      ext4      /tmp            12,000M           12,000M (12G)
/dev/sda8      ext4      /usr/local    50,000M          50,000M (50G)
/dev/sda9      ext4      /home       600,000M        600,000M (600G)

Additional installs of Ubuntu would leave off the /boot/efi partition.
UEFI will map GRUB boot list choices to their respective bootloaders on their respective HDs.

So, I seek to do the same (or similar) for FreeBSD on one of the additional internal HDs by partitioning it before 
the installation defaults the drive into a series/set of default usage issues.

The amount of swap is based on a multiplier of how much RAM you have. Each system has 32G.
The parttion-size numbers are different depending upon whether you're using ZFS -- which I will not -- and the size of the HD itself.
You don't just double what a 500G HD uses to get your partition-sizes for a 1T HD, etc.
At a certain point the numbers do not need to get larger, and certain ones have a minimum.
I seek that information.

W/rt/ FreeBSD:

"When laying out file systems, remember that hard drives transfer data faster from the outer tracks to the inner. Thus, smaller and heavier-accessed file systems should be closer to the outside of the drive, while larger partitions like /usr should be placed toward the inner parts of the disk. It is a good idea to create partitions in an order similar to: /, swap, /var, and /usr.

The size of the /var partition reflects the intended machine's usage. This partition is used to hold mailboxes, log files, and printer spools. Mailboxes and log files can grow to unexpected sizes depending on the number of users and how long log files are kept. On average, most users rarely need more than about a gigabyte of free disk space in /var.
The /usr partition holds many of the files which support the system, including the FreeBSD Ports Collection and system source code. At least 2 gigabytes of space is recommended for this partition.

When selecting partition sizes, keep the space requirements in mind. Running out of space in one partition while barely using another can be a hassle.

As a rule of thumb, the swap partition should be about double the size of physical memory (RAM). Systems with minimal RAM may perform better with more swap. Configuring too little swap can lead to inefficiencies in the VM page scanning code and might create issues later if more memory is added.
By properly partitioning a system, fragmentation introduced in the smaller write heavy partitions will not bleed over into the mostly read partitions. Keeping the write loaded partitions closer to the disk's edge will increase I/O performance in the partitions where it occurs the most. While I/O performance in the larger partitions may be needed, shifting them more toward the edge of the disk will not lead to a significant performance improvement over moving /var to the edge.
A standard FreeBSD GPT installation uses at least three partitions:
	• freebsd-boot - Holds the FreeBSD boot code.
	• freebsd-ufs - A FreeBSD UFS file system.
	• freebsd-swap - FreeBSD swap space."

	Source:	Chapter 2. Installing FreeBSD; 2.6. Allocating Disk Space
I seek more than a description or documentation of where to find a default installation's partitions listed.
I want to know from people who planned their partitions for performance, maintenance, and non-default use, in my case, development/testing of projects aiming for cross-platform and platform-independent Python, C, Java, PyQt5 code (using SQLite) and the dev/test OSs on two N-boot workstations are Windows10, FreeBSD, Fedora, Debian, Ubuntu, DragonflyBSD, and GhostBSD.

So, I am researching what people have done with 1TB/2TB FreeBSD-exclusive HDs when ZFS is not used.
Hope that makes it more clear.

best wishes,
frankfenderbender at

More information about the freebsd-questions mailing list