16

I just clean install Ubuntu 16.04 (to replace 14.04) with the intention of porting bulk of the working fstab file, in order to mount other JFS disk/partitions. But I seem to be having trouble with nobootwait.

For example, one fstab entry that worked in 14.04 was:

UUID=<uuid>  /storage jfs defaults,nodiratime,noatime,nofail,nobootwait  0 2

But in 16.04, it will neither mount the drive at boot time nor mount per the following command:

sudo mount /storage

I do have jfsutils installed, AND I am able to mount the partition manually, i.e.

sudo mount -t jfs /dev/sdX /storage

I found this in dmesg

[   6.720171] jfs: Unrecognized mount option "nobootwait" or missing value

So, taking that as a hint, when I remove the nobootwait option from fstab, the command

sudo mount /storage 

works fine. (I don't know about at boot time as I'm currently doing this over ssh and don't want to risk computer failing to boot).

Obviously, one solution is to drop the nobootwait option. But I don't want to do that. Maybe nobootwait NEVER worked (I never had boottime failure of the disk) in 14.04 and 14.04 just ignored the error, but I want the supposed functionality of nobootwait.

Has there been a change in Ubuntu 16.04 or the linux kernel regarding nobootwait?

  • This happened to me as well when I upgraded a machine to 16.04. Based on my experience nobootwait was dropped as an option, but I haven't found this documented anywhere. I replaced it withnofail. – Organic Marble Jun 14 '16 at 15:10
  • @Organic Marble Glad to here that I'm not going completely mental. Thanks. Still I would like to get the nobootwait functionality. – codechimp Jun 14 '16 at 15:14
12

This option appears to have been dropped. The Ubuntu manpage for fstab contains this text if you select 14.04 LTS at the top:

The  mountall(8)  program  that  mounts  filesystem  during  boot  also
 recognises additional options that the ordinary mount(8) tool does not.
These  are:  ``bootwait''  which  can  be applied to remote filesystems
mounted outside of /usr or /var, without which  mountall(8)  would  not
hold up the boot for these; ``nobootwait'' which can be applied to non-
remote filesystems to explicitly instruct mountall(8) not  to  hold  up
the boot for them; ``optional'' which causes the entry to be ignored if
the filesystem type is not known  at  boot  time;  and  ``showthrough''
which  permits  a mountpoint to be mounted before its parent mountpoint
(this latter should be used carefully, as it can cause boot hangs).

This paragraph does not exist in the version of the page you get if you select 16.04 at the top.

  • 8
    Does anyone have a viable alternative to this? You know, besides the hackish way of adding noauto to the mount options and then calling mount -a from rc.local or from a cron job with the @reboot flag? – John Blackberry Sep 9 '16 at 10:23
10

If you're just looking for how to replicate nobootwait behavior in 16.04 it seems that the option you're looking for is nofail. From http://manpages.ubuntu.com/manpages/zesty/man5/systemd.mount.5.html

   nofail
       With nofail, this mount will be only wanted, not required, by
       local-fs.target or remote-fs.target. This means that the boot will
       continue even if this mount point is not mounted successfully.
  • 6
    There is a fundamental difference between these two: nofail will wait 1.5 minutes before giving up, nobootwait didn't wait at all. – rustyx Dec 2 '17 at 12:52
10

Looks like there are 2 relevant options that need to be set to imitate nobootwait behavior, taken from systemd mount manpage:

   nofail
       With nofail, this mount will be only wanted, not required, by
       local-fs.target or remote-fs.target. This means that the boot will
       continue even if this mount point is not mounted successfully.
   x-systemd.device-timeout=
       Configure how long systemd should wait for a device to show up
       before giving up on an entry from /etc/fstab. Specify a time in
       seconds or explicitly append a unit such as "s", "min", "h", "ms".

so setting options to nofail,x-systemd.device-timeout=1 should make the system wait 1 second for device to be mounted before continuing the boot.

0

As of Ubuntu 16.04, the default init system is systemd which replaced mountall. http://manpages.ubuntu.com/manpages/zesty/man5/systemd.mount.5.html provides new options that likely eliminates the need for nobootwait.

  • 3
    Links can die, would you please copy the relevant information here? – Dr_Bunsen Apr 11 '17 at 10:31
  • @Dr_Bunsen The link is an online manpage for convenience, you can also run man systemd.mount to view the same file locally. – Skylar Ittner Sep 2 '17 at 23:01
  • 7
    Posting the relevant information is the usual thing to do. – Dr_Bunsen Sep 5 '17 at 9:27

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.