Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In the boot process of Linux we have the initrd that is a root file system and is mounted before the real root file system become ready to mount. What is the procedure of mounting? What should happen so we can say that file system is mounted? And another little question why we say ¨root¨ file system instead of just file system?

share|improve this question
up vote 3 down vote accepted

It says "Root filesystem" because there can be many other filesystems that are mounted at boot time. Root or / is like the C-Drive on Windows. A filesystem is mounted, when it is accessible to the higher level system functions via it's mountpoint.

About the process of mounting... I don't know how technical an answer you want so please don't feel offended by this over-simplification. This is how I would explain it to my customers: Plugging in a Flashdrive.

  1. User connects USB Flashdrive
  2. OS detects "something" is connected to USB-port X
  3. OS probes the port and finds out, that there is a flash drive
  4. OS assigns a device node to the device (let's say /dev/sdb)
  5. OS probes /dev/sdb and find a partition table with on primary partition
  6. OS assigns a device node to the partition (let's say /dev/sdb1)
  7. OS probes /dev/sdb1 and recognizes a FAT32 file system
  8. OS mounts the file system at /dev/sdb1 to a new mountpoint (like /media/pendrive/)
  9. The content of the file system is accessible to the system and thus to the user

The content of the device (raw data) is just a bunch of zeros and ones. When mounting a device, the system adds something like a "read/write-filter" on top of those zeros and ones, that translates the zeros and ones to actual files and vice versa.

For example: When you save "Hello World" to text file at /media/pendrive, then the filter translates this according to the file system's rules and in the end a series of zeros and ones and writes to /dev/sda1.

share|improve this answer

*nix systems require a filesystem to be at /, also called the root. With a initrd, the root is a virtual filesystem within the initrd. The system has to perform a "pivot mount" whereby the real filesystem is mounted to the root, and the initrd filesystem is remounted under that.

The actual act of mounting simply registers a filesystem with the VFS within the kernel so that it knows where to look in order to find files within a specific directory.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .