Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MOUNT.CONF(5)		      File Formats Manual		 MOUNT.CONF(5)

NAME
       mount.conf -- root file system mount configuration file

SYNOPSIS
       /.mount.conf

DESCRIPTION
       During  the  bootup  process,  the FreeBSD kernel will try to mount the
       root file system	using the logic	in  the	 vfs_mountroot()  function  in
       src/sys/kern/vfs_mountroot.c.  The root mount logic can be described as
       follows:

       1.   The	 kernel	 will  synthesize in memory a config file with default
	    directives for mounting the	root file system.  The logic for  this
	    is in vfs_mountroot_conf0().

       2.   The	kernel will first mount	devfs(5) as the	root file system.

       3.   Next,  the	kernel will parse the in-memory	config file created in
	    step 1 and try to mount the	actual root file  system.   See	 "FILE
	    FORMAT" for	the format of the config file.

       4.   When  the actual root file system is mounted, devfs(5) will	be re-
	    mounted on the /dev	directory.

       5.   If a /.mount.conf file does	not exist  in  the  root  file	system
	    which was just mounted, the	root mount logic stops here.

       6.   If	a  /.mount.conf	 file exists in	the root file system which was
	    just mounted, this file will be parsed, and	the  kernel  will  use
	    this new config file to try	to re-mount the	root file system.  See
	    "FILE FORMAT" for the format of the	config file.

       7.   If	the new	root file system has a /.mount directory, the old root
	    file system	will be	re-mounted on /.mount.

       8.   The	root mount logic will go back to step 4.

       The root	mount logic is recursive, and step 8 will be repeated as  long
       as each new root	file system which is mounted has a /.mount.conf	file.

FILE FORMAT
       The  kernel  parses  each line in .mount.conf and then tries to perform
       the action specified on that line as soon as it is parsed.

       #	   A line beginning with a # is	a comment and is ignored.

       {FS}:{MOUNTPOINT} {OPTIONS}
		   The kernel will try to mount	this in	an  operation  equiva-
		   lent	to:

			 mount -t {FS} -o {OPTIONS} {MOUNTPOINT} /

		   If	this   is   successfully  mounted,  further  lines  in
		   .mount.conf are ignored.  If	all lines in .mount.conf  have
		   been	 processed  and	 no root file system has been success-
		   fully mounted, then the action specified by .onfail is per-
		   formed.

       .ask	   When	the kernel processes this line,	a mountroot>  command-
		   line	prompt is displayed.  At this prompt, the operator can
		   enter the root mount.

       .md file	   Create  a  memory  backed md(4) virtual disk, using file as
		   the backing store.

       .onfail [panic|reboot|retry|continue]
		   If after parsing all	the lines in .mount.conf the kernel is
		   unable to mount a root file system, the  .onfail  directive
		   tells the kernel what action	to perform.

       .timeout	N  Before  trying  to  mount  a	 root file system, if the root
		   mount device	does not exist,	wait at	most N seconds for the
		   device to appear before trying to mount it.	If .timeout is
		   not specified, the default timeout is 3 seconds.

EXAMPLES
       The following example .mount.conf will direct the kernel	to try	mount-
       ing  the	 root  file  system  first  as	an  ISO	 CD9660	file system on
       /dev/cd0, then if that does not work, as	an ISO CD9660 file  system  on
       /dev/cd1,  and  then  if	 that  does  not work, as a UFS	file system on
       /dev/ada0s1a.  If that does not work, a mountroot> command-line	prompt
       will  be	 displayed where the operator can manually enter the root file
       system to mount.	 Finally if that does not work,	the kernel will	panic.

	     .onfail panic
	     .timeout 3
	     cd9660:/dev/cd0 ro
	     .timeout 0
	     cd9660:/dev/cd1 ro
	     .timeout 3
	     ufs:/dev/ada0s1a
	     .ask

       The following example .mount.conf will direct the kernel	 to  create  a
       md(4)  memory disk attached to the file /data/OS-1.0.iso	and then mount
       the ISO CD9660 file system on the md device  which  was	just  created.
       The last	line is	a comment which	is ignored.

	     .timeout 3
	     .md /data/OS-1.0.iso
	     cd9600:/dev/md# ro
	     # Can also	use cd9660:/dev/md0 ro

       The  following  example	.mount.conf will direct	the kernel to create a
       md(4) memory disk attached to the  file	/data/base.ufs.uzip  and  then
       mount  the UFS file system on the md uzip device	which was just created
       by the geom_uzip(4) driver.

	     .md /data/base.ufs.uzip
	     ufs:/dev/md#.uzip ro
	     # Can also	use ufs:/dev/md0.uzip ro

       The following example .mount.conf  will	direct	the  kernel  to	 do  a
       unionfs	mount  on  a  directory	 /jail/freebsd-8-stable	 which	has  a
       chroot(2) environment.

	     .timeout 3
	     unionfs:/jail/freebsd-8-stable

NOTES
       For each	root file system which is mounted, a /dev directory must exist
       so that the root	mount logic can	properly re-mount devfs(5).   If  this
       directory  does	not  exist,  the  system  may  hang  during the	bootup
       process.

SEE ALSO
       nmount(2),  md(4),  boot.config(5),   fstab(5),	 boot(8),   loader(8),
       mount(8)

HISTORY
       The mount.conf file first appeared in FreeBSD 9.0.

AUTHORS
       The  root  mount	 logic in the FreeBSD kernel which parses /.mount.conf
       was written by Marcel Moolenaar <marcel@FreeBSD.org>.   This  man  page
       was written by Craig Rodrigues <rodrigc@FreeBSD.org>.

FreeBSD	14.3		       October 17, 2013			 MOUNT.CONF(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=mount.conf&manpath=FreeBSD+14.3-RELEASE+and+Ports>

home | help