[ ThinkPadT43 ][ Previous | Next ]
This report is a little thin. I loaded Solaris 10 on the T43, and before I had gathered much information or tested much, I moved to Solaris 11 - also known as Solaris Nevada, Solaris Express Community Edition, and (somewhat incorrectly) Open Solaris. See my Open Solaris report for more up-to-date info.
Out of laziness I did the download and burn in WinXP. Downloaded Solaris 10 using Sun's download manager for windows and burned the iso with Nero. Remember to use the "Recorder->Burn Image" option in Nero or the "Disc Image or Existing Project" in Nero Express. Many newbies get into trouble trying to just burn the iso as a file. When you do that you get a CD/DVD that just contains the iso as a file rather than using the iso to create a CD/DVD containing all the files and file structure of the iso.
If you're already running Linux or Solaris use cdrecord or equivalent. cdrecord requires an iso as input so it should be harder to get that wrong.
Didn't touch it.
Red Alert! Immediately on receipt of the laptop, boot to XP and make a set of recovery/restore CDs - or DVDs. IBM does not provide these free anymore. You can make a set using the utility available in XP. Installing System Commander (and perhaps other boot managers) makes the T43's service partition unavailable, and it may not be possible to create restore media without it!
I used System Commander's partitioning tools to create a Solaris primary partition. In multi-boot installation it is mandatory to create the partition in advance. Solaris fdisk is guaranteed to foul up the drive's partition table if it is allowed to create partitions. They will likely not start/end on cylinder boundaries, and may overlap other partitions.
Even with a pre-defined Solaris partition the install will diddle the cylinder, head, and sector (C,H,S) values for its partition and probably others. This can be repaired. Take a snapshot before the install and use your partition editor of choice to do the repair manually. Note that the modified C,H,S values may or may not cause problems for other modern OSs. System Commander may refuse to boot partitions with modified values until they are restored to their original values. Other boot managers may not care.
Starting with Solaris 10 (at least the version that I have loaded), they have gone to a new partition ID. The old id of 82 (hex) was the same as the Linux swap partition. This used to cause all kinds of grief in multiboot installs, but hasn't been a problem lately. The new BF ID avoids this altogether. The bad news is that System Commander doesn't recognize this as a valid ID - and doesn't have a way to force bootable status. The good news is that as of System Commander 8 rev 13, the BF ID is recognized.
My Solaris partition is a relatively generous 10G.
Aside from the usual partition table scribbling (above) and an issue with graphics (below) the installation went as one would expect -or hope, in the case of Solaris x86. The Solaris install overwrites System Commander's MBR so boot to XP (via the Solaris boot "manager") and run System Commander 8 -> Enable System Commander.
Mounting Scratch Partition
I wanted to be able to mount my FAT32 scratch partition easily from Solaris so I added this line to my /etc/vfstab:
/dev/dsk/c0d0p2 - /mnt/fat32 pcfs - no -
and created the mount point:
The scratch partition can be at mounted /mnt/fat32 like this:
Java Desktop Login Errors
Sometimes when logging in to JDS as a user (root works OK) I got several error messages:
"There was an error starting the GNOME Settings Daemon"
"Nautilus can't be used now, due to an unexpected error"
"There was a problem registering the panel with the bonobo activation server"
This is caused by cruft left over in /var/tmp that Gnome can't handle. If the previous saved session didn't include a terminal window you are basically screwed. If it did there should be a (very small) window available to usr while making the fix. If not - log in to the CDE or as root in the JDS. Changing the temp dir to /tmp gets it all cleaned out at boot time and avoids the problem. Put:
in .dtprofile to set TMPDIR for this user, or /etc/profile for all uses that use the sh or bash shell. If that doesn't fix things there may still be old junk left over in /var/tmp. Try deleting any *-<user> files in /var/tmp.
More Login Errors - Screensaver
User logins to the Java Desktop provoke this non-fatal error:
Failed to execute child process "xscreensaver" (no such file or directory)
Add /usr/openwin/bin to user path to fix screensaver startup problems. Put in .profile since .bashrc gets read too late to do any good:
The stock S10 GA Xorg can't handle the T43's 1400x1050 resolution so it runs at a lower res. Right-clicking on the desktop and selecting "change resolution" brings up a list that includes 1400x1050 but selecting it produces a corrupted display. Running Xorg --configure to get an xorg.conf to modify manually fails - it produces a garbage output.
Installing patch 117966-03 fixes both problems.
NOTE: installing this patch on the R40 with Radeon 7500 caused the Java Desktop to freeze when almost fully drawn at login. See qt4 clients lock up Xorg server with Radeon 7500 for details. The short story is use
Option "RenderAccel" "False"
in a hand-generated Xorg.conf. This is not necessary on the T43!
For a nicer looking display, set the screen DPI to 120:
and make sure the LCD backlight turns off when the screen blanks (in 10 minutes):
power management: standby=0, suspend=0 off=10
UltraNav TrackPoint and touch pad both work. Usb mouse works. All work at the same time.
Broadcom NetXtreme Gigabit Ethernet BCM95751N (copper)
Firmware version 5751m-v3.40a
PCI-device: pci1014,577@0, bcme0 (after driver bound)
The Broadcom NIC isn't supported in S10 GA as shipped. It may be in later releases. Download the Solaris driver from Broadcom driver download page. Use the 57xx driver. Another option is installing Sun patch 120082-07 to get Sun's driver. The Sun patch has been subsumed by more comprehensive kernel patches.
Since S10 was installed unaware of the network it must be manually configured. Either run sys-unconfigure and reboot (you will be asked to enter the network setup information) or do it by hand:
Manually, after installing the driver (use bcme0 with the Broadcom driver, bge0 with the Sun driver, replace the $something with the actual something as in 192.168.1.43 for $myipadd):
echo $myhostname > /etc/hostname.bcme0 (literally hostname.bcme0 not $myhostname.bcme0)
ifconfig bcme0 plumb
ifconfig bcme0 $myipadd up
echo $mynetwork.1 > /etc/defaultrouter (if mynetwork=192.168.1.xxx, echo 192.168.1.1)
echo "nameserver $mynetwork.1" > /etc/resolv.conf
cp /etc/nsswitch.dns /etc/nsswitch.conf
To cure the constant nag
My unqualified host name (localhost) unknown; sleeping for retry
I added this line to /etc/hosts. Your entry will likely differ. Replace th $... with the actual values as above.
$myipadd $myhostname localhost.localdomain
Connexant HSF soft modem. No driver.
and reboot and unmute the volume control by right-clicking on the icon in JDS.
Apologies on this one. I didn't get a chance to test it before installing S11. There is a detailed explanation of how to mount and access USB devices with S10 at docs.sun.com. Sun also has a nice USB FAQ page.
Both work after a little fiddling. DMA wasn't enabled for the optical drive. Turn it on with:
#eeprom atapi-cd-dma-enabled=1 (and reboot ???)
Using cdrtools (from Blastwave, the Companion CD, or perhaps pre-installed) make an iso image:
mkisofs -J -R -l -o <name of iso to create> <path to files to be burned>
I had a little trouble getting the path right to include the files I wanted. One can mount the created iso and have a look at it before burning. This may have other uses as well:
#mount -F hsfs -o ro `lofiadm -a <full path to iso>` <mountpoint>
#lofiadm -d <full path to iso>
Determine the device number (as root, and note that if volume management is running --scanbus won't find the device if the drive has no media inserted):
1,0,0) 'MATSHITA' 'DVD-RAM UJ-8225 ' '1.03' Removable CD-ROM
Burn the iso:
cdrecord dev=1,0,0 speed=24 driveropts=burnfree <path to iso>
Burning DVDs is a little more interesting. As of this writing it requires cdrecord-proDVD and a (free for non-commercial use) license key. Download cdrecord-proDVD from your favorite site, such as:
Follow the readme regarding the license and the wrapper script. Burn the DVD:
test.sh dev=1,0,0 driveropts=burnfree -dao <path to iso>
NOTE: test is the license wrapper script edited to point at /opt/sfw/bin/cdrecord-ProDVD (where I installed 'proDVD). It was necessary to use it to set the key and path in my particular environment. The T43's burner doesn't support the default TAO mode so it is necessary to set DAO mode. Be patient -- DVD burning is slow on this machine.
Once audio was working CD playing worked OK. Strange though, after installing and trying DVD playing with xine, CD audio no longer worked. Sound events work but not playing CDs. It goes through the motions but no sound. Once I started installing the S11 releases I had the same problem. Running
Once fixed the CD audio, but xine got tweaky. See T43 Open Solaris for more info.
Trying to play DVDs with the installed Totem movie player fails with:
An error occurred. Could not determine type of stream.
This version of Totem (or its subcomponents) doesn't include DVD capability even though the movie menu includes it. Download gxine from Blastwave (and maybe libdvdcss from somewhere) to play DVDs. It was necessary to run as root for full DVD playing capability. I didn't actually use it beyond an initial test. More extensive testing with Solaris 11 showed some performance issues that were solved by building Mplayer locally. Gxine/xine was just too difficult to build. See T43 Open Solaris.
Blastwave's pkg-get setup is worth doing if you want more than a couple of their packages. There's a lot of Solaris stuff available there.
Untested. Strictly subjectively it boots quickly and runs crisply.
Untested with Solaris. WinXP life is 5-6 hours.
[ ThinkPadT43 ][ Previous | Next ]