Lame install ending causes "Root mount error"?
-
I installed from a flash drive to another flash drive. This is the second time with the same machine using the same install medium to another flash drive that was identical to the first one I installed to. The software is one of the recent 2.1 64bit beta snapshots.
Unfortunately I ran into a snag this time with a "root mount error". Didn't happen the first time…
One thing I wonder about is the last screen in the install, possibly causing problems. It says:
This machine is about to be shut down. After the machine has reached its shutdown state, you may remove the CD from the CD-ROM drive tray and press Enter to reboot from the HDD.
That message is lame for any number of reasons; there's got to be a better way. But it left me with having to pull out the install flash drive somewhere in the middle of the reboot, and I just wonder if something got messed up in the process.
When I press "?" I get the "List of GEOM managed disk devices": … da0s1b da0s1a da0s1 da0
The "loader variables" show "vfs.root.mountfrom=ufs:/dev/da1s1a"
Seems to be a miss-match between the two. How did that happen?
Could it be that during the install, the install medium was da0 and the "installed to" device was da1, so that da1 was put into the boot loader, and then after removing the install medium and rebooting the "installed to" device became da0 so the boot loader information was now wrong?
-
It says to "remove invalid mount options from /etc/fstab", but I don't see how because there is no editor in the boot loader.
-
Could it be that during the install, the install medium was da0 and the "installed to" device was da1, so that da1 was put into the boot loader, and then after removing the install medium and rebooting the "installed to" device became da0 so the boot loader information was now wrong?
Quite likely something like that. You can reset the root devices as hinted at the mountroot> prompt. Then edit /etc/fstab to change the root device to da0.
-
But that's what I am missing. How can I edit fstab? All I can do is get to the boot loader prompt, which has no way to get to any editor.
-
Well, I booted up my first pfsense flash drive, the one that got installed properly, and then put in the failing one and mounted it, and used vi to fix fstab there.
This looks like a bug to me. If running from liveCD and installing to a drive, there would be no problem, but if running from a live USB flash drive and installing to another drive, it will be a problem. Where do I report bugs anyway?
-
But that's what I am missing. How can I edit fstab? All I can do is get to the boot loader prompt, which has no way to get to any editor.
At the mountroot> prompt enter the string for the correct device: probably something like ufs:da0s1a then tap the Enter key and the boot should resume and when startup completes, select option 8 (Shell) and then proceed to edit /etc/fstab then reboot.
You can find a number of examples of this if you go to http://doc.pfsense.org and type mountroot in the Search box then tap the Enter key or click on the magnifying glass icon.
but if running from a live USB flash drive and installing to another drive, it will be a problem. Where do I report bugs anyway?
Not a problem easily solved because the installer doesn't know which device the flash drive that is the install target will become on next boot.
Bugs can be reported in the pfSense forums.
-
It's not a bug, if you change your drives (such as removing one), the drive identifier may change. If it does, you have to update your fstab manually. The installer can't tell your drive is going to change at some future boot time, much less what it will change to at that time.
-
Ah, I see, freebsd does not have the updated mount option that allows one to keep track of devices like linux now does:
Instead of giving the device explicitly, one may indicate the (ext2 or xfs) filesystem that is to be mounted by its UUID or volume label (cf. e2label(8) or xfs_admin(8)), writing LABEL= <label>or UUID=<uuid>, e.g., 'LABEL=Boot' or 'UUID=3e6be9de-8139-11d1-9106-a43f08d823a6'. This will make the system more robust: adding or removing a SCSI disk changes the disk device name but not the filesystem volume label.</uuid></label>
http://linux.die.net/man/5/fstab
Well, to me it is still a bug, even if it can't be handled as well as linux does. For example there might be a note printed by the installer at the end mentioning the issue and how to deal with it. Or more info associated with the error message. I hadn't thought to search "mountroot" in the docs so I found another way to deal with it.
Well at least if someone searches for "mountroot" or "root mount error" in this forum, they will find this thread. Good enough I suppose.
That rebooting message is still incomprehensible in any case.
-
FreeBSD has it, you can make/use labels for slices, but the installer code for full installs doesn't (yet) make or use them.