I'm grokking the HFS linux standard documentation, and I can't move beyond this concept.

The concept I don't get can be demonstrated by the following quote:

The contents of the root filesystem must be adequate to boot, restore, recover, and/or repair the system.

Firstly, maybe I'm misunderstanding what a "root filesystem" is. It sounds like it is the specific "/" directory, and all subdirectories.

But then the following statement seems to clash with the original point:

"The primary concern used to balance these considerations, which favor placing many things on the root filesystem, is the goal of keeping root as small as reasonably possible. For several reasons, it is desirable to keep the root filesystem small. ... It is occasionally mounted from very small media."

If you mount " / ", you're mounting the entire system, no? (Perhaps the documentation means that we put the different directories in " / " on different partitions, ie putting /bin, /sbin in the "root partition", while "/usr, /home, /media, /mnt" elsewhere. Then why is "/usr, /home, /media, /mnt" included in the root filesystem and not in an independent system?

Again, this goes back to the original question: What else is there to a system other than a root filesystem? What use is it to put data "not in the root filesystem", if it's just going into a subdirectory?


The problem here is the word "filesystem". In the POSIX/Unix/Linux worlds, it is used to mean several different things.

  1. The "filesystem" is sometimes the entire system of files, rooted at / and as presented to applications softwares by the operating system kernel. With this meaning, people talk of POSIX operating systems having a "single filesystem tree", for example.
  2. A "filesystem" is sometimes one (or more) slice(s) of a (or several) DASD(s) — one or more collections of contiguous disc sectors formatted as a single volume with a given format — as demarcated by some disc partitioning scheme. With this meaning, people talk of, say, "formatting my /usr filesystem".
  3. A "filesystem" is sometimes an abstract joinable tree of files and directories, presented by a filesystem driver (i.e. the VFS layer) to the rest of the system. With this meaning, people talk of, say, "mounting the proc filesystem on /proc".

Your "root filesystem" is meaning #2. It's what is otherwise commonly known as the system volume: the (almost always single) slice of your DASD that is mounted at / and that all other disc volumes and other filesystems (meaning #3) are mounted on top of in their turns. (The boot volume is, where applicable, a separate volume: a separate, single, DASD slice that contains the operating system boot loader code that the machine firmware bootstraps, which in the Linux/BSDs world at least is conventionally mounted on top of the root volume, at /boot, when needed.) Operating system rescue and emergency maintenance modes generally don't mount any other volumes apart from the root volume, so, as stated, everything necessary to such maintenance will need to be on the root volume.

Similarly, configuring one's system so that there's very little to no write activity to a particular volume, by shoving everything that is written to in normal operation — log files, user data files, often-altered non-maintenance configuration files — onto another volume, away from normally read-only things — like system utility binaries, libraries, static configuration files — means that there's lower probability that the volume will become corrupted in the events of hardware failures and dirty shutdowns. This is a particularly good idea for the root volume, corruption to which can potentially prevent the system from coming up even in maintenance/rescue modes.

  • yes! "volume" was exactly the idea/word I was looking for. i KNEW there was some sort of disconnect between what I was understanding and what what was meant. – montooner Jul 9 '10 at 19:44

It is everything on the partition that is mounted as /. It is quite common to have seperate partitions mounted for locations like /var, /tmp , /usr etc.

Example, /bin contains programs important for starting/recovering the system, It should be on the root filesystem while /usr/bin doesn't and can be on a seperate (possibly remote) file system.

  • So, we might have (part1:/,/bin,/sbin,/lib,/root), (part2:/var,/tmp), (part3:/usr), (part4:/home). We can switch it up, but basically there is a "core partition", which is what the "root filesystem" term refers to, right? – montooner Jul 2 '10 at 23:30
  • Yeah, in your example the filesystem of partition 1 is the "root filesystem". – David Z Jul 2 '10 at 23:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.