Tuesday, March 24, 2009

VirtualBox network hangs - fixed

For a while now I've had a problem where my Windows XP Virtual Box instance running under Nevada has been unable to transfer more than a few bytes of a file from a Samba share before locking up. This started some time ago and I never got round to really investigating it. It was getting annoying as it was preventing me from using converting some avi's to ipod format which I do using software on XP.
Anyway, after trolling the forums I thought I'd try reinstalling the Guest Additions. This sorted it, so I'm back ripping again. iTunes still doesn't work but I suspect that is down to USB support issues.

Monday, March 23, 2009

luactivate -n zfs_nv_110

I had some problems going up to snv_110, basically because I didn't investigate the output from my luactivate.

[root] deckard:/root # luactivate -n zfs_nv_110
System has findroot enabled GRUB
Generating boot-sign, partition and slice information for PBE
WARNING: <2> packages failed to install properly on boot environment .
INFORMATION: on boot
environment contains a list of packages that failed to
upgrade or install properly. Review the file before you reboot the system
to determine if any additional system maintenance is required.

I ignored this and the reboot did not work - the box just hung before it even set the hostname.
To cut a dull story short, I eventually checked the logs, and the 2 packages were SUNWopensslr and SUNWxwfnt. X-Windows fonts aren't very interesting and I resolved that problem by following a post on the opensolaris.org forum. The SUNWopensslr package was the one that caused the problems. By manually removing and readding that package (with a bit of hackery) the box was able to boot successfully.

Moral: Read output, check logs. Muppet.

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.

Wednesday, March 11, 2009

Compiling notes

I had to compile the latest version of php recently. This was a lot smoother on a Solaris 10 box than Solaris 8 but I got there in the end with both.

php had dependencies on a couple of other libraries - libiconv libxml2 - so I had to compile these first. Problem was, the make install would try and overwrite /usr/local.
The fix was to set the prefix when running configure;

./configure --prefix=/export/home/richard/builds/myusrlocal

Then set the LD_LIBRARY_PATH and when compiling php it knows to pick up the new library. Once everything is built, move into place at a suitable time.

And;
./configure --help
gives loads of interesting/useful options