$_ BSDHowTo.ch
How To... Why not..? Scripts RSS logo

Why not use one huge root partition with OpenBSD?

Last update: 2018-11-07

tl;dr

This is a very bad idea as some OpenBSD users with this configuration have learned after the upgrade from 6.3 to 6.4. OpenBSD offers you sane defaults. Sane does not only mean secure, it also means future-proof. Go for the defaults or live with the consequences.

Introduction

Between the releases 6.3 and 6.4 something has changed in the boot loader. This change causes a “heap full” error in the boot loader and sends the affected systems into a reboot loop. Several people have reported this on misc@ and on IRC. Some of them asked for a bug fix and got the same answer: If you break it you are going to keep the pieces.

The partition sizes I choose now will be wrong next month

It is generally a good idea to plan ahead before you run the installer on a new system. Usually the use case of the system gives you a hint about the required size of your partitions. On a web server you will most likely prefer a bigger /var and a smaller /home partition while the opposite holds true for your laptop. Taking fives minutes now to plan the partition sizes will save you five hours of resizing partitions later.

There is no partition editing tool like GNU Parted for OpenBSD

There is no such tool needed if you carefully plan ahead. And these tools are known to be more dangerous than helpful. People who tend to use such tools also tend to not make any backups of their important data.

The empty space on the drive is always at the wrong spot

So you have planned ahead. But after some months you realize that reality has turned your plan into nonsense. Well, that’s life. Take another five minutes for planning before you invest the time expanding one partition. Maybe you find a way to rearrange your partitions in a way that makes it easier for you to expand partitions in the future.

I’m afraid of losing the data on my disk

Backup. Backup. Backup. Data which is stored on a single medium is lost. If you have at least one working backup you must not be afraid of losing any data. The second thing that helps you to loose your fear is: Take the time to discuss your plan for the rearranging with someone else. Make sure this person has some experience with this task. Don’t be afraid to ask for help on one of the mailing lists. And the third important point is: Take your time. Don’t let the circumstances get you in a hurry. If you hurry up to rearrange your partitions you will almost certainly make a mistake that will leave you with a defect system. Ten minutes more of thinking and controlling your inputs easily save you ten hours of restoring the complete system.

There is no benefit in having so many partitions

Wrong. First of all there is a security benefit. Different partitions mean you can set different mount options for the partitions. Best example is that by default the partition /usr/local is mounted with the flag wxallowed. Only executables residing on this partition are able to circumvent the W^X mechanism of OpenBSD. Another good example is that all but the root partition are mounted with the flag nodev which prevents the creation of device special files on these partitions. Having different partitions can also make your life easier during the regular backup you take. It allows you to completely ignore those partitions that don’t belong into a backup. Like /tmp, /usr/src and /usr/obj.

But one single partition cannot fill up

It can. And when it finally does, you will be in much bigger trouble than when you have separate partitions. Once your whole disk is filled up chances are high that your system will show unexpected behavior. It might even panic and in the worst case refuse to boot afterwards because your disk is full. If you have several partitions and one of those fills up this will in most cases not crash your system. You will still be able to work on the system. And in most cases cleaning out some old files will free up enough space on the affected partition so you don’t need to resize it.

But I install Linux always with a single huge root partition

This is OpenBSD, not Linux. The majority is not always right just because it is the majority. Back in the days when Linux started out most distributions suggested you to use different partitions too. Just like OpenBSD still does. But some-when during the past twenty years most partitions have changed this behavior.

But my system has worked with this single partition for years

So what? Just because you did it wrong for years doesn’t make it right. Or would you agree with the statement of a murder: “I’ve killed people for years, why should that be wrong?”.