Bug #7309
closedZFS - Can't find zroot, error 5
0%
Description
Using the latest 2.4 factory ADI image.
When rebooting after installing pfSense with ZFS, the file-system isn't getting mounted:
Trying to mount root from zfs:zroot/ROOT/default []... Root mount waiting for: usbus0 Root mount waiting for: usbus0 Root mount waiting for: usbus0 Root mount waiting for: usbus0 uhub0: 8 ports with 8 removable, self powered Root mount waiting for: usbus0 ugen0.2: <vendor 0x8087> at usbus0 uhub1: <vendor 0x8087 product 0x07db, class 9/0, rev 2.00/0.02, addr 2> on usbus0 uhub1: 4 ports with 4 removable, self powered Root mount waiting for: usbus0 Root mount waiting for: usbus0 ugen0.3: <Generic> at usbus0 umass0: <Generic Ultra Fast Media, class 0/0, rev 2.00/1.98, addr 3> on usbus0 Solaris: NOTICE: Cannot find the pool label for 'zroot' Mounting from zfs:zroot/ROOT/default failed with error 5. Loader variables: vfs.root.mountfrom=zfs:zroot/ROOT/default Manual root filesystem specification: <fstype>:<device> [options] da0 at umass-sim0 bus 0 scbus6 target 0 lun 0 Mount <device> using filesystem <fstype> da0: and with the specified (optional) option list. <Generic Ultra HS-COMBO 1.98> Removable Direct Access SCSI device da0: Serial Number 000000225001 eg. ufs:/dev/da0s1a da0: 40.000MB/s transfers zfs:tank cd9660:/dev/cd0 ro da0: 58368MB (119537664 512 byte sectors) (which is equivalent to: da0: quirks=0x2<NO_6_BYTE> mount -t cd9660 -o ro /dev/cd0 /) ? List valid disk boot devices . Yield 1 second (for background tasks) <empty line> Abort manual input mountroot> ? List of GEOM managed disk devices: gpt/zfs0 gpt/swap0 gpt/gptboot0 da0p3 da0p2 da0p1 da0
The ZFS install worked fine on the XG-2758 and C-2758. The main difference I noticed between these three is that the SG-8860 shows the internal storage as da1 and the USB flash-drive as da0. When the flash-drive is removed the internal storage becomes da0. Other hardware I've tested shows the USB flash-drive as da1 and internal storage as da0. If I leave the flash-drive in but boot from internal storage the error is a little different:
Trying to mount root from zfs:zroot/ROOT/default []... Root mount waiting for: usbus0 Root mount waiting for: usbus0 Root mount waiting for: usbus0 Root mount waiting for: usbus0 uhub0: 8 ports with 8 removable, self powered Root mount waiting for: usbus0 ugen0.2: <vendor 0x8087> at usbus0 uhub1: <vendor 0x8087 product 0x07db, class 9/0, rev 2.00/0.02, addr 2> on usbus0 uhub1: 4 ports with 4 removable, self powered Root mount waiting for: usbus0 Root mount waiting for: usbus0 ugen0.3: <SanDisk> at usbus0 umass0: <SanDisk Extreme, class 0/0, rev 2.10/0.10, addr 3> on usbus0 da0 at umass-sim0 bus 0 scbus6 target 0 lun 0 da0: <SanDisk Extreme 0001> Removable Direct Access SPC-4 SCSI device da0: Serial Number AA010125162333470717 da0: 40.000MB/s transfers da0: 14966MB (30651688 512 byte sectors) da0: quirks=0x2<NO_6_BYTE> GEOM: da0: the secondary GPT header is not in the last LBA. Root mount waiting for: usbus0 ugen0.4: <Generic> at usbus0 umass1: <Generic Ultra Fast Media, class 0/0, rev 2.00/1.98, addr 4> on usbus0 da1 at umass-sim1 bus 1 scbus7 target 0 lun 0 da1: <Generic Ultra HS-COMBO 1.98> Removable Direct Access SCSI device da1: Serial Number 000000225001 da1: 40.000MB/s transfers da1: 58368MB (119537664 512 byte sectors) da1: quirks=0x2<NO_6_BYTE> Solaris: NOTICE: Cannot find the pool label for 'zroot' Mounting from zfs:zroot/ROOT/default failed with error 5. Loader variables: vfs.root.mountfrom=zfs:zroot/ROOT/default Manual root filesystem specification: <fstype>:<device> [options] Mount <device> using filesystem <fstype> and with the specified (optional) option list. eg. ufs:/dev/da0s1a zfs:tank cd9660:/dev/cd0 ro (which is equivalent to: mount -t cd9660 -o ro /dev/cd0 /) ? List valid disk boot devices . Yield 1 second (for background tasks) <empty line> Abort manual input mountroot>
Updated by Alban Cousinié over 7 years ago
Same issue here with an SG-4860 running ADI image (build date 09-04-2017):
Root mount waiting for: usbus0
Root mount waiting for: usbus0
ugen0.3: <Generic> at usbus0
umass0: <Generic Ultra Fast Media, class 0/0, rev 2.00/1.98, addr 3> on usbus0
Solaris: NOTICE: Cannot find the pool label for 'zroot'
Mounting from zfs:zroot/ROOT/default failed with error 5.
Loader variables:
vfs.root.mountfrom=zfs:zroot/ROOT/default
Manual root filesystem specification:
<fstype>:<device> [options]
da0 at umass-sim0 bus 0 scbus6 target 0 lun 0
Mount <device> using filesystem <fstype>
da0: and with the specified (optional) option list.
<Generic Ultra HS-COMBO 1.98> Removable Direct Access SCSI device
da0: Serial Number 000000225001
eg. ufs:/dev/da0s1a
da0: 40.000MB/s transfers zfs:tank
cd9660:/dev/cd0 ro
da0: 29184MB (59768832 512 byte sectors)
(which is equivalent to: da0: quirks=0x2<NO_6_BYTE>
mount -t cd9660 -o ro /dev/cd0 /)
? List valid disk boot devices
. Yield 1 second (for background tasks)
<empty line> Abort manual input
mountroot>
panic: mountroot: unable to (re-)mount root.
cpuid = 2
KDB: enter: panic
[ thread pid 1 tid 100002 ]
Stopped at kdb_enter+0x3b: movq $0,kdb_why
Updated by Alban Cousinié over 7 years ago
OK, I could fix the issue by adding kern.cam.boot_delay="10000" to /boot/loader.conf.local
The problem possibly affects Netgates appliances sold without the optional SSD, as this issue is known to be met when booting from USB keys, so maybe the embedded 32Gb Flash storage behaves more like a USB key than a SSD
Updated by Jim Pingle over 7 years ago
- Status changed from New to Confirmed
- Target version set to 2.4.0
Confirmed here as well. Installing to eMMC (not mSATA) requires kern.cam.boot_delay="10000" and it is not added to loader.conf by the installer.
Updated by Renato Botelho over 7 years ago
- Status changed from Confirmed to Feedback
Already added to factory installed
Updated by Jim Pingle about 7 years ago
- Status changed from Feedback to Resolved
I haven't had any problems with Factory or CE installers and ZFS in a while now, it all works nicely.