ZFS on SG-2440
-
So I'm the daring type who took my SG-2440 and put 2.4 on it as soon as I got it home. But I wasn't able to install with ZFS. When I tried, the installer completed, rebooted, I removed my USB drive, and ZFS failed to mount.
My thought is that when my USB drive was connected, it was da0 and the built-in storage was da1, but when I removed my USB drive, the device identifiers changed, so the config no longer reflected the correct location. Unfortunately, I wasn't even able to get it to pick up when I tried pointing it to zfs:zroot/da0 (I think that's the format I used, based on what was presented) and the specific partitions as well, so I don't know what was going on.
Any thoughts on how best to install ZFS on a 2440? I'd rather not try things until there's a known good process in place. For the moment I'm just running with UFS instead. I'm fortunate that power where I live is extremely stable, even in the worst of severe thunderstorms and icy winter weather… though I still have a UPS connected anyway.
-
There shouldn't be any problems there that I'm aware of. I don't have one of those models here with me, but I run ZFS on my 8860 and it worked without any problems, though I am using mSATA and not eMMC.
Can you post the console output that you get when it fails to run?
-
I didn't keep the console output from my attempt… so at the moment, no I can't post it. I'm not wanting to go through reinstalling twice just to get it and then get back online at the moment, so maybe later when I'm feeling experimental again I'll post it, if someone else hasn't already.
There may not be an actual issue with the software here, but since 2.4 is the only version with ZFS, I figured I'd post here rather than the pfSense Hardware forum for now.
-
Ok… so I took some time to try this again, mainly to get the output you were asking for.
During the setup, zroot was set up as a stripe with one drive, selecting just da1 (the eMMC storage device; the USB drive being booted from mounts as da0 during setup). All other ZFS options were left at their defaults.
It looks like the USB device output is mixed with the ZFS boot failure output, so I offer a potential corrected version below the raw version, to hopefully clear things up a little.
And lastly, for grins this time, I even tried booting with the USB drive still in, selecting to boot from the eMMC via the boot menu (this left the USB drive as da0 and the eMMC as da1)... but still ended up with the output below. And alas, to get myself back online, I reloaded with UFS again... so it might be a while before I re-try this again if a possible fix is determined.
Root mount waiting for: usbus0 ugen0.3: <generic>at usbus0 umass0: <generic 0="" 3="" ultra="" fast="" media,="" class="" 0,="" rev="" 2.00="" 1.98,="" addr="">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 scbus4 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> ? List of GEOM managed disk devices: gpt/zfs0 gpt/swap0 gpt/gptboot0 da0p3 da0p2 da0p1 da0 mountroot></empty></no_6_byte></generic></fstype></device></device></fstype></generic></generic>
Root mount waiting for: usbus0 ugen0.3: <generic>at usbus0 umass0: <generic 0="" 3="" ultra="" fast="" media,="" class="" 0,="" rev="" 2.00="" 1.98,="" addr="">on usbus0 da0 at umass-sim0 bus 0 scbus4 target 0 lun 0 da0: <generic ultra="" hs-combo="" 1.98="">Removable Direct Access SCSI device da0: Serial Number 000000225001 da0: 40.000MB/s transfers da0: 29184MB (59768832 512 byte sectors) da0: 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> ? List of GEOM managed disk devices: gpt/zfs0 gpt/swap0 gpt/gptboot0 da0p3 da0p2 da0p1 da0 mountroot></empty></fstype></device></device></fstype></no_6_byte></generic></generic></generic>
-
When I installed 2.4 via ZFS on my 2440 to the onboard flash a few months ago I had to add the following to /boot/loader.conf
kern.cam.boot_delay="10000"
It's been working fine now surviving several upgrades and reboots
-
Watching it, it almost seemed like it was a race condition when the USB device was detected… it sat and waited (the Root mount waiting for: usbus0 line showed a couple of times), then as soon as the first line for the USB device appeared it continued before the USB device was fully ready for it to continue… so it makes a little sense that a delay would allow it to work. I wonder if it needs to be 10 seconds though, or if even half of that would be fine.