Bug 211143 - Add "failok" to the /etc/fstab file entry for the DOS filesystem on uboot-using ARM devices.
Summary: Add "failok" to the /etc/fstab file entry for the DOS filesystem on uboot-usi...
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: arm (show other bugs)
Version: 11.0-BETA1
Hardware: Any Any
: --- Affects Many People
Assignee: freebsd-arm mailing list
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-07-15 14:34 UTC by karl
Modified: 2016-07-15 14:34 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description karl 2016-07-15 14:34:15 UTC
On ARM systems where uboot is used, the MSDOS filesystem is required only for the actual boot.  Once the kernel is loaded the filesystem can be mounted, but doesn't *have* to be mounted.

The default /etc/fstab entry, however, does two things that are troublesome.  First, it uses /dev/ufs and /dev/msdosfs prefixes for the filesystem lookups, which means that those filesystems must be labeled.  However, gpart cannot display those labels since they are in the msdos and BSD-labeled components of same, respectively, and due to the Raspberry PIs (and other similar ARM systems) boot code demands an MBR formatted boot device structure.

That is defensible, however, given the idea that we might not know where the SD card would attach on a given board (e.g. on which device name.)  What is far less-defensible, however, is not specifying "failok" for the MSDOS partition since having it mounted post-boot is not necessary.

If the label is missing on the dos partition the system will boot, the kernel will load, but then it hangs *silently* from the perspective of a video console without any error message being displayed.  This problem comes about as a consequence of single-user mode not coming up on the video console (which also is broken, IMHO) *and* the lack of the error on the mount resulting in a console display.

In short arguably the system *should* be able to come up in single user mode on both the video and serial console on these machines, yet that may be too much of an ask.

The easy fix for the instant problem, however, is to add "failok" to the msdos filesystem line in the default /etc/fstab file since the DOS filesystem does not have to be mounted for the system to come up once uboot had loaded.