Hey all, In short, I've got a system with /boot on a USB thumb drive that I boot from, which then mounts root and the rest of the system from a 4-disk ZFS storage pool. However, during the upgrade, something didn't go quite right, and now when I boot, I end up with: /libexec/ld-elf.so.1: Shared object "libc.so.7" not found required by sh ...at the "Enter full path of shell or RETURN for /bin/sh#" prompt. Hitting return repeats the cycle. Rebooting to the old kernel does not help, as it was the installworld that failed. I can boot the box using alternate media, but I can't figure out the procedure to mount the ZFS pool into the filesystem. This box is a running-backup box, so I'm not overly concerned about the data, but I would like to learn how to properly get to the data if this situation arises in the future. Can someone provide some pointers on how to do this without destroying the pool? Steve -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/x-pkcs7-signature Size: 3233 bytes Desc: S/MIME Cryptographic Signature Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20090527/04622381/smime.bin
On Wed, May 27, 2009 at 12:49 PM, Steve Bertrand <steve@ibctech.ca> wrote:> Hey all, > > In short, I've got a system with /boot on a USB thumb drive that I boot > from, which then mounts root and the rest of the system from a 4-disk > ZFS storage pool. > > However, during the upgrade, something didn't go quite right, and now > when I boot, I end up with: > > /libexec/ld-elf.so.1: Shared object "libc.so.7" not found required by sh > > ...at the "Enter full path of shell or RETURN for /bin/sh#" prompt. > > Hitting return repeats the cycle. > > Rebooting to the old kernel does not help, as it was the installworld > that failed. >I've seen this before. My situation was different, as I had just installed the machine, finished a 'co' on the source tree and rebuilt world/kernel. Since there was nothing, production-wise, on the machine, I thought nothing of it and reinstalled. Had there been data on the machine, I would have dug deeper.> I can boot the box using alternate media, but I can't figure out the > procedure to mount the ZFS pool into the filesystem. >Can you boot into single-user mode from the USB device?> This box is a running-backup box, so I'm not overly concerned about the > data, but I would like to learn how to properly get to the data if this > situation arises in the future. > > Can someone provide some pointers on how to do this without destroying > the pool? >Unfortunately, I haven't played with ZFS (because of lack of hardware to run it on)... My reason for the post was to suggest single-user mode, if you haven't already tried. Also, to stop the repeated reboot, you could use /rescue/sh in place of /bin/sh (hopefully). -- Glen Barber
Hello,> I can boot the box using alternate media, but I can't figure out the > procedure to mount the ZFS pool into the filesystem.Either mount -t zfs tank/foo /foo or zfs mount mypool -- pi@opsec.eu +49 171 3101372 11 years to go !
On May 27, 2009, at 11:49 AM, Steve Bertrand wrote:> Hey all, > > In short, I've got a system with /boot on a USB thumb drive that I > boot > from, which then mounts root and the rest of the system from a 4-disk > ZFS storage pool. > > However, during the upgrade, something didn't go quite right, and now > when I boot, I end up with: > > /libexec/ld-elf.so.1: Shared object "libc.so.7" not found required > by shWhile I don't have much help to get you fixed, I can tell you how this likely happened if you did a "make world" or "make installworld" at one point. The installworld script is told that /lib/libc.so.x has to have a "chflags schg" applied to it, making it unchangeable. So when installing, it deletes the old libc, copies the new libc over, tries to do a chflags on it, fails because ZFS doesn't support flags, so it deletes libc and gives up. libc is the first file that installworld tries to create using schg, so that's where it fails. The workaround is to do "make installworld NO_FSCHG=" so that it doesn't bother trying to set flags. -- Kevin