Friday, March 13, 2009

ludelete complaining

So I've downloaded nv_b109 and like an eager beaver am trying to live upgrade. Thing is, I have a couple of old BE's hanging about that I should probably do away with before I start.
The problem was, ludelete was complaining;
[root] deckard:/root # ludelete zfs_nv_105
System has findroot enabled GRUB
Checking if last BE on any disk...
ERROR: Read-only file system: cannot create mount point
ERROR: failed to create mount point for file system
ERROR: unmounting partially mounted boot environment file systems
ERROR: umount: warning: /dev/dsk/c0d0s3 not in mnttab
umount: /dev/dsk/c0d0s3 not mounted
ERROR: cannot unmount

ERROR: cannot mount boot environment by name
ERROR: Failed to mount BE .
ERROR: Failed to mount BE .
ERROR: This boot environment is the last BE on the above disk.
ERROR: Deleting this BE may make it impossible to boot from this disk.
ERROR: However you may still boot solaris if you have BE(s) on other disks.
ERROR: You *may* have to change boot-device order in the BIOS to accomplish this.
ERROR: If you still want to delete this BE , please use the force option (-f).
Unable to delete boot environment.

To cut a very long and not very interesting story short the fix was to use the lumount command and try and mount each old boot environment. This gave some more useful pointers but the root cause of all this was that I had deleted some zfs filesystems between then and now, so it was trying to mount filesystems which did not exist any more.

Recreating the filesystems (and ensuring they had the same mount point as before) acted as a temporary fix and as I created each filesystem in turn lumount got a little bit futher each time. Once I was able to lumount each previous BE then the ludelete worked fine. Like a breeze you might say.

1 comment:

  1. I just had the same problem. After talking to some friendly people on Freenode #solaris, I learned that an even easier workaround is to edit the /etc/lu/ICF.nn file for the problemativ BE, and delete the lines that reference the missing (or moved) filesystems.

    ReplyDelete