That "ramdisk" is called boot archive in osol. It seems to me that the kernel is simply confused about the location of boot archive. It's on USB and the device path may change on reboots and the kernel can't fathom that kind of thing.
The Belenix guys/LiveUSB project have a small application that on boot looks out for the actual USB dev on which the stick is mounted and modifies the root path accordingly. Strangely, It (theoretically) shouldn't be a problem with ZFS as zfs doesn't really care about the physical devices... but I may be wrong because there *is* a zpool.cache with device nodes and may be the "device independence" really only applies to "importing" a pool. So the task at hand would be to somehow modify the boot archive image and put that binary or something like that, which is able to locate the correct device and let the kernel know about it. I have a 8GB usb drive... shall give it shot. This message posted from opensolaris.org
