Today's Page Hits: 1325
I have more hair and it isn't so grey. :->
This page validates as XHTML 1.0, and will look much better in a browser that supports web standards, but it is accessible to any browser or Internet device. It was created using techniques detailed at glish.com/css/.
I've got a NVIDIA GeForce 7950 GT card in my system (branded as XFX GeForce 7950GT). It is fanless and supports Dual DVI. I finally got around to adding a Dell 2005 FPW as my second monitor. And that lasted about 15 minutes.
Installation was a breeze on WinXP. But Half Life 2 Episode 2 would not play. This box is my primary home system and has to be able to be an OpenSolaris development machine as needed and also a gaming rig.
Also, when under moderate load, the Dell 2007 FPW (primary monitor), would shake in the background. Not impressive in the least.
Don't get me wrong - I love this graphics card when playing games. It matches nicely with the Dell 2007 FPW. And it is real quiet, which was a major draw for me. I'm just not going to run dual monitors on it.
I was going to do that $72 PC mentioned in the July issue of Popular Science. That was until I found out that the supply of $5 Intel SU810 motherboards has dried up. You can get it for more or in lots of a 100.
My intent was to cram OpenSolaris in there and compare it to Damn Small Linux. I liked the board because of the form factor and the ramifications on heat and noise. I didn't like the processor speed - 500 Mhz. Oh yes, I gave away a Dell Optiplex that ran at 550 Mhz and I remember that they were going for $9 on eBay at the time.
I'd like to have 3 of the things and do performance comparisons between different OSes. I can either shoot for something under $100 or get the MB/CPU combo for under $100 and shoot for something in a more modern speed. Honestly, 3 Shuttle XPC motherboards might do the trick, but I suspect that they will pump out the heat.
I'm going to start some shopping on this.
So my son decided that he liked the graphics on my XFX GeForce 7950GT. So I decided to see if it would work in his system. It currently has a PCI card - Pny GeoForce 5500 or 5200. When I first got the MSI K8N MASTER2-FAR motherboard in his system, it would not boot a PCIX card.
Well, I got it to boot this one. I ended up flipping their SLI/non-SLI card thing and it was a pain. It was hard to insert correctly. And form web searches I'm not the only one who had problems with both it and getting PCI Express video cards working.
Anyway, I couldn't get the drivers to install on the card. It would get almost to the end and lock up. I'm pretty sure it was changing video modes to one higher than my monitor supported. And unlike X, I couldn't reset the mode via a keyboard. With the aid of XFX Customer Support, I did everything - all to no avail. I was happy with their support.
I'm pretty sure it is the MSI motherboard. After I got the card booting into low res, it started to complain about "Other PCI bridge device". And I think that was something to do with their little SLI/non-SLI card. Their manual sucks about explaining it - the pictures show it oriented in the same way for different textual positions.
And their driver disks still look exactly the same. There are two of them and they are not labeled as to what they contain. I could go on - I don't plan to buy from MSI again.
But I would buy XFX again.
Can I get a big "Doh!" from the crowd? I'm trying to upgrade my domain server from Fedora Core 4 to Fedora Core 6. I want to isolate what I will need to change to go to Solaris. Everything is kinda going okay, network addresses did not change after a reboot.
But sendmail is queuing my outgoing mail and not logging anything. And it was telling me what was going wrong, but the verbage was just too weird.
Make my changes to sendmail.mc and make:
[root@adept mail]# make WARNING: 'sendmail.mc' is modified. Please install package sendmail-cf to update your configuration.
This actually means do the following:
[tdh@adept doc]> sudo yum install sendmail-cf
I just couldn't parse it correctly. Here is how I found my "Doh!" moment:
The mail queues have entries: [root@adept mail]# mailq /var/spool/mqueue (4 requests) -----Q-ID----- --Size-- -----Q-Time----- ------------Sender/Recipient----------- l1J0feON002810* 9 Sun Feb 18 18:41 <root@adept.internal.excfb.com> <tdh@sun.com> ...
Some testing:
[root@adept mail]# sendmail -v loghyr@loghyr.com kdjfjklfs . loghyr@loghyr.com... Connecting to [127.0.0.1] via relay... 220 adept.internal.excfb.com ESMTP Sendmail 8.13.8/8.13.8; Sun, 18 Feb 2007 18:52:31 -0600 >>> EHLO adept.internal.excfb.com 250-adept.internal.excfb.com Hello [127.0.0.1], pleased to meet you 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-8BITMIME 250-SIZE 250-DSN 250-ETRN 250-AUTH DIGEST-MD5 CRAM-MD5 250-DELIVERBY 250 HELP >>> MAIL From:<root@adept.internal.excfb.com> SIZE=10 AUTH=root@adept.internal.excfb.com 250 2.1.0 <root@adept.internal.excfb.com>... Sender ok >>> RCPT To:<loghyr@loghyr.com> >>> DATA 250 2.1.5 <loghyr@loghyr.com>... Recipient ok 354 Enter mail, end with "." on a line by itself >>> . 250 2.0.0 l1J0qV2d002864 Message accepted for delivery loghyr@loghyr.com... Sent (l1J0qV2d002864 Message accepted for delivery) Closing connection to [127.0.0.1] >>> QUIT 221 2.0.0 adept.internal.excfb.com closing connectionNote that it is talking to 127.0.0.1 and that is not right. What does the sendmail config files look like:
[root@adept mail]# ls -la send* -rw-r--r-- 1 root root 58203 Feb 11 10:58 sendmail.cf -rw-r--r-- 1 root root 7257 Feb 18 17:29 sendmail.mc -rw-r--r-- 1 root root 7209 Feb 18 17:19 sendmail.mc.stock
Okay, that hasn't changed today.
[root@adept mail]# make WARNING: 'sendmail.mc' is modified. Please install package sendmail-cf to update your configuration.
I then get the "Doh!" and install sendmail-cf as shown above!
[root@adept mail]# make [root@adept mail]# ls -la send* -rw-r--r-- 1 root root 59161 Feb 18 18:54 sendmail.cf -rw-r--r-- 1 root root 58203 Feb 11 10:58 sendmail.cf.bak -rw-r--r-- 1 root root 7257 Feb 18 17:29 sendmail.mc -rw-r--r-- 1 root root 7209 Feb 18 17:19 sendmail.mc.stock [root@adept mail]# service sendmail restart Shutting down sm-client: [ OK ] Shutting down sendmail: [ OK ] Starting sendmail: [ OK ] Starting sm-client: [ OK ]
Still not delivering and I am suspicious of why is it trying to talk to domains directly:
l1J0o9AP002853 33 Sun Feb 18 18:50 <tdh@adept.internal.excfb.com>
(Deferred: Connection timed out with www.loghyr.com.)
<loghyr@loghyr.com>
I have to send outgoing mail through cox.net. Look what I have in my sendmail.mc:
[root@adept mail]# grep cox.net sendmail.mc dnl define(`SMART_HOST', `smtp.central.cox.net')dnl
Bzzt, fix it!
And that flushes a bunch of requests after a make and restart!
I never got the onboard ethernet working on that new box - kanigix. At times nge0 would come up, but then it decided to stay down. I've mainly stayed in WinXP (remember it is for playing games with my son or by myself) or gotten things over via an USB harddrive. You can imagine that gets old.
Well, I have a bug filed on this and I'm off to Connectathon 2007 on Tuesday. I want to be able to access the box while I'm gone. I added a serial console, so I would at least be able to do some simple commands to help debug the issue. And then, a thought smacked me, why can't I add an ethernet card to it? So I picked one at random from my pile of old cards - I ended up getting a cheap GigE card. I thought I was getting a solid 10/100 card. But WinXP installed a driver and the Sun Device Detection Tool said there was a driver. And now I've got a working system:
[tdh@kanigix ~]> ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
rge0: flags=201000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4,CoS> mtu 1500 index 2
inet 192.168.2.115 netmask ffffff00 broadcast 192.168.2.255
Aahhh. I'm really glad, because this machine is quiet and builds scream on it.
I got a new DVD drive for mrx, my old desktop - it supports dual-layers. So I burned a Nevada b56 DVD, zapped the WinXP partition and installed Solaris to the hilt. I've been off of its WinXP partition for a week and wasn't missing anything.
So I have the base bits installed - I didn't do the Solaris Developer's Express install. But I want to now get the Sun Studio 11 bits installed. I don't want to grab them off of the web and install them when they are just sitting there. So, how do I get them?
# cd /media/SOL_11_X86 # ls -la DeveloperTools total 30 dr-xr-xr-x 4 root root 2048 Jan 18 23:50 . dr-xr-xr-x 2 root sys 4096 Jan 18 23:48 .. dr-xr-xr-x 2 root root 2048 Dec 12 18:21 NetBeans -r--r--r-- 1 root root 1046 Dec 18 18:20 README dr-xr-xr-x 3 root root 2048 Dec 11 02:36 SunStudio -r-xr-xr-x 1 root root 645 Dec 18 16:07 install_devtools.sh -r-xr-xr-x 1 root root 2207 Dec 15 12:47 main.sh
Is it as simple as running this install script? Yep, easy to find out if we consult the README.
Whoops, looks like you can't do this from a telnet window:
# ./install_devtools.sh Error: Can't open display:
Can we fake it out?
# /media/SOL_11_X86/DeveloperTools/main.sh *********************** *** Sun Studio 11 *** *********************** Installing Sun Studio 11 (16..20 minutes)
I don't care if it is pretty or not. I do care that I be able to do this on a headless box.
Hmm, while that is going on, I need to also do some light housekeeping. Before I started this, I modified the sshd to accept root logins. Now I want to add some accounts and have them show up in /home. Now, you really can't create directories in /home. Well you can, but it is a pain. So, instead, lets tell the automounter that we want it to do this for us:
# cp auto_home auto_home.stock # diff auto_home auto_home.stock 29,30c29 < #+auto_home < * localhost:/export/home/& --- > +auto_home # svcadm restart autofs
Now, I normally have useradd(1M) create the directory for me, but I think that won't work in this case. Pretty simple to do:
# mkdir /export/home/tdh # useradd -u 1066 -g 10 -c "Tom Haynes" -d /home/tdh tdh # ls -la /home/tdh total 3 drwxr-xr-x 2 root root 512 Jan 24 01:49 . dr-xr-xr-x 2 root root 2 Jan 24 01:48 .. # chown tdh:staff /export/home/tdh # ls -la /home/tdh total 3 drwxr-xr-x 2 tdh staff 512 Jan 24 01:49 . dr-xr-xr-x 2 root root 2 Jan 24 01:48 ..
Make sure to give the account a password:
# passwd tdh New Password: Re-enter new Password: passwd: password successfully changed for tdh
And we test that we can login:
[tdh@adept ~]> ssh mrx Password: Last login: Wed Jan 24 01:52:09 2007 from adept.internal. Sun Microsystems Inc. SunOS 5.11 snv_56 October 2007 $ pwd /home/tdh $ df -h . Filesystem size used avail capacity Mounted on /dev/dsk/c0d0s7 12G 12M 12G 1% /export/home
Back to the install of the Sun Studio 11:
# /media/SOL_11_X86/DeveloperTools/main.sh
***********************
*** Sun Studio 11 ***
***********************
Installing Sun Studio 11 (16..20 minutes)
.............
Installing 5 Sun Studio 11 patches (9 minutes)
120759-08 120762-03 121016-04 121018-07 121616-03
Updating Sun Studio 11 with fixed binaries.
Installing Sun Studio 11 /usr symlinks and GNOME desktop file
Sun Studio 11 installation complete.
**********************
*** NetBeans 5.5 ***
**********************
Installing NetBeans IDE 5.5 and NetBeans Enterprise Pack 5.5 (1 minute)
Installing Sun Java System Application Server 9 Update 1 (2 minutes)
Installing NetBeans GNOME desktop file
Netbeans 5.5 installation complete.
All done. This window will exit in 20 seconds.
Great, now I need some tools like sudo and vim. I can get these off of either sunfreeware.com or blastware.org, but I'll stick to the Sun Software Companion CD. Since there isn't one out for Nevada yet, I'll use the Solaris 10 one. I've got the CD somewhere, but besides testing installs, I really can't be bothered anymore to do use physical images.
Instead, I use the loopback to load the iso and install from there:
# lofiadm -a /home/tdh/sol-10-ccd-GA-x86-iso.iso /dev/lofi/1 # mkdir -p /isos/mnt/companion # mount -F hsfs -o ro /dev/lofi/1 /isos/mnt/companion # cd /isos/mnt/companion # ./installer
And by the way, this installer happens to be smart enough to know that the machine is headless.
Once that is done, I'm going to want to setup sudo and then call it quits for the night. (Okay, actually I want to automate all of this such that I never, ever have to worry about it. I also want to install SUNWonbld, the closed bits, and the latest source drop to the public. That can all happen later.)
# /opt/sfw/sbin/visudo
And change this:
# Same thing without a password # %wheel ALL=(ALL) NOPASSWD: ALL
to this:
# Same thing without a password %staff ALL=(ALL) NOPASSWD: ALL
And now make sure to get the setuid bit set correctly.
# chmod +s /opt/sfw/bin/sudo
And test:
[tdh@adept ~]> scp .tcshrc mrx:/home/tdh Password: .tcshrc 100% 5417 5.3KB/s 00:00 [tdh@adept ~]> ssh mrx Password: Last login: Wed Jan 24 02:36:08 2007 from adept.internal. Sun Microsystems Inc. SunOS 5.11 snv_56 October 2007 [tdh@mrx ~]> sudo w 2:36am up 1:03, 2 users, load average: 0.05, 0.57, 0.68 User tty login@ idle JCPU PCPU what root pts/2 1:35am 17:11 tcsh tdh pts/3 2:36am w
Note that I also changed my shell from sh to tcsh in the background. I test a very simple command to make sure sudo works.
Okay, I need to do these installs on systems other than my laptop - it is slow. I took the DVD I made from the modified ISO image in How to determine sizing requirements for adding packages to .packagetoc files and this time SUNWonbld was correctly installed.
I did things a little different than before, namely when I created the install staging area:
# cd /isos/mnt/x86 # find . -depth -print | cpio -pdm /kanigix/b55b
I did this instead of a tar or straight cp.
Also, when I built the image, I used:
# mkisofs -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -l -L -r -N -d -D -o /isos/kanigix.iso /kanigix/b55b
When I built the image, we see it is getting closer in size to the original:
# ls -al k* x86/b55b/solarisdvd.iso -rw-r--r-- 1 root root 3875280896 Jan 21 19:58 kanigix.iso -rw-rw-r-- 1 root root 3947546624 Jan 16 22:17 kanigix.iso.1 -rw-rw-r-- 1 root root 3893268480 Jan 18 15:31 kanigix.iso.2 -rw-rw-r-- 1 tdh staff 3857448960 Jan 16 15:32 x86/b55b/solarisdvd.iso
I still think it is larger than it should be, but I'll get it down in size. The next steps are to get the Companion CD on the image and have it automatically install - I miss sudo and vim. I also want the install to automatically add the Sun compilers. I.e., this system out of the box should be able to build itself, with the exception of the closed tree.
Note that there had been some concern that my DVDs would release those closed trees. That actually can't happen unless I include the source workspaces from inside Sun. The DVD images I'm playing with to support my build machines at Connectathon 2007 are the same images that are deployed for early access by Sun. The only difference is that I get them earlier and I can't distribute them. And actually, the Nevada 55b images are now up as the Solaris Express - Community Release. I could download an image from that external site and it would be exactly like the one I have.
Okay, I was looking for something internally and I accidently came across the document which told me how to determine the sizing information for when you add a package to a .packagetoc. You could argue that it should already be in a man page.
Anyway, it isn't a big secret, I think it is just something that gets taken for granted. Actually, after seeing some of the gross differences between what the document describes and what I am used to, I think this is a SunOS document. ;>
The algorithm is quite simple. First you install the target OS on a computer with separate partitions for /, /var, /usr, and /opt. Then you determine how much space is being currently used by the OS. You then add your package, determine the new space usage, and you pretty much have your numbers. You also have to watch /var/sadm/contents to help determine the maximum /var size.
Lets do it with an example and compare the results to the SWAG I made the other day in Adding a new package to an Install DVD.
We need to make sure to get filesystems for those of interest:
_ Automatically Layout File Systems ____________________________________________
On this screen you must select all the file systems you want auto-layout to
create, or accept the default file systems shown.
NOTE: For small disks, it may be necessary for auto-layout to break up some
of the file systems you request into smaller file systems to fit the
available disk space. So, after auto-layout completes, you may find file
systems in the layout that you did not select from the list below.
File Systems for Auto-layout
========================================
[X] /
[X] /opt
[X] /usr
[ ] /usr/openwin
[X] /var
[X] swap
________________________________________________________________________________
Esc-2_Continue F5_Cancel F6_Help
Here is the final layout on a scratch system:
_ File System and Disk Layout __________________________________________________
The summary below is your current file system and disk layout, based on the
information you've supplied.
NOTE: If you choose to customize, you should understand file systems, their
intended purpose on the disk, and how changing them may affect the operation
of the system.
File sys/Mnt point Disk/Slice Size
========================================================================
overlap c0d0s2 19061 MB
/export/home c0d0s6 1035 MB
/opt c0d0s7 18002 MB
/ c1d0s0 15241 MB
/var c1d0s1 10244 MB
overlap c1d0s2 38138 MB
swap c1d0s3 2384 MB
/usr c1d0s7 10244 MB
________________________________________________________________________________
Esc-2_Continue F3_Go Back F4_Customize F5_Exit F6_Help
Okay, the install is done, let's see what we have:
# df -k
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c1d0s0 15370534 304493 14912336 3% /
/devices 0 0 0 0% /devices
/dev 0 0 0 0% /dev
ctfs 0 0 0 0% /system/contract
proc 0 0 0 0% /proc
mnttab 0 0 0 0% /etc/mnttab
swap 3952312 476 3951836 1% /etc/svc/volatile
objfs 0 0 0 0% /system/object
/dev/dsk/c1d0s7 10331209 3063533 7164364 30% /usr
/usr/lib/libc/libc_hwcap2.so.1
10331209 3063533 7164364 30% /lib/libc.so.1
fd 0 0 0 0% /dev/fd
/dev/dsk/c1d0s1 10331209 120946 10106951 2% /var
swap 3951872 36 3951836 1% /tmp
swap 3951868 32 3951836 1% /var/run
/dev/dsk/c0d0s7 18152978 462249 17509200 3% /opt
/dev/dsk/c0d0s6 1027889 1057 965159 1% /export/home
And:
# ls -la /var/sadm/contents /var/sadm/contents: No such file or directory
Bzzt, I have my hands on an old document. Hmm, think it means this:
# cd /var/sadm # ls -la total 82 drwxr-xr-x 13 root sys 512 Jan 21 12:56 . drwxr-xr-x 42 root sys 1024 Jan 21 13:29 .. -r--r--r-- 1 root sys 1092 Dec 19 17:23 README dr-xr-xr-x 4 root bin 512 Jan 21 13:29 install drwxr-xr-x 2 root sys 512 Jan 21 12:53 install_data drwxr-xr-x 2 root root 512 Jan 21 12:54 patch dr-xr-xr-x 1157 root sys 27136 Jan 21 12:53 pkg drwxr-xr-x 2 root root 512 Jan 21 12:54 prod dr-xr-xr-x 2 root sys 512 Jan 21 12:31 security drwxr-xr-x 2 root sys 512 Jan 21 12:29 softinfo drwxr-xr-x 3 root sys 512 Jan 21 12:32 spool drwxr-xr-x 2 root sys 512 Jan 21 12:31 svm3 drwxr-xr-x 5 root sys 512 Jan 21 12:29 system drwxr-xr-x 5 root sys 512 Jan 21 12:30 wbem # find . -name contents ./install/contents # ls -al install/contents -rw-r--r-- 1 root root 16988435 Jan 21 13:29 install/contents # file !$ file install/contents install/contents: ascii text # head install/contents /bin=./usr/bin s none SUNWcsr /boot d none 0755 root sys SUNWcakr SUNWrmodr CADP160 SUNWadp SUNWcadp SYMhisl SUNWgrub /boot/acpi d none 0755 root sys SUNWckr /boot/acpi/tables d none 0755 root sys SUNWckr
Looking at some search results, I think so. Anyway, let's shoot for it.
# pkgadd -d . SUNWonbld Processing package instance <SUNWonbld> from </export/home/tdh> OS-Net Build Tools(i386) 11.11,REV=2007.01.08.23.45 Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Using </> as the package base directory.
Yada, yada, yada
## Installing part 1 of 1. /opt/onbld/bin/Install <already present on Read Only file system> /opt/onbld/bin/bfu <already present on Read Only file system> /opt/onbld/bin/i386/abi_audit <already present on Read Only file system>
Whoops, this is what I get for leaving NIS on. Turn it off and restart the autofs service:
# cd /etc # cp nsswitch.files nsswitch.conf # svcadm restart autofs # ls -la /opt/onbld/ total 4 dr-xr-xr-x 2 root root 512 Jan 21 13:28 . drwxr-xr-x 14 root sys 512 Jan 21 13:28 ..
Check to see sizes again:
# df -k
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c1d0s0 15370534 304492 14912337 3% /
/devices 0 0 0 0% /devices
/dev 0 0 0 0% /dev
ctfs 0 0 0 0% /system/contract
proc 0 0 0 0% /proc
mnttab 0 0 0 0% /etc/mnttab
swap 3922116 476 3921640 1% /etc/svc/volatile
objfs 0 0 0 0% /system/object
/dev/dsk/c1d0s7 10331209 3063533 7164364 30% /usr
/usr/lib/libc/libc_hwcap2.so.1
10331209 3063533 7164364 30% /lib/libc.so.1
fd 0 0 0 0% /dev/fd
/dev/dsk/c1d0s1 10331209 121013 10106884 2% /var
swap 3921676 36 3921640 1% /tmp
swap 3921672 32 3921640 1% /var/run
/dev/dsk/c0d0s7 18152978 462249 17509200 3% /opt
/dev/dsk/c0d0s6 1027889 36010 930206 4% /export/home
# ls -la /var/sadm/install/contents
-rw-r--r-- 1 root root 16996909 Jan 21 14:04 /var/sadm/install/contents
# tail /var/sadm/install/contents
/var/yp/updaters f none 0500 root bin 1393 51153 1167993853 SUNWypr
# Last modified by pkgadd for SUNWonbld package
# Sun Jan 21 14:04:27 2007
Okay, try the install again:
# pkgadd -d . SUNWonbld Processing package instance <SUNWonbld> from </export/home/tdh> OS-Net Build Tools(i386) 11.11,REV=2007.01.08.23.45 Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. This appears to be an attempt to install the same architecture and version of a package which is already installed. This installation will attempt to overwrite this package. The installation of this package was previously terminated and installation was never successfully completed. Do you want to continue with the installation of <SUNWonbld> [y,n,?] n Installation of <SUNWonbld> was terminated due to user request. No changes were made to the system.
Remove it, basically from the database:
# pkgrm SUNWonbld
The following package is currently installed:
SUNWonbld OS-Net Build Tools
(i386) 11.11,REV=2007.01.08.23.45
Do you want to remove this package? [y,n,?,q] y
And now, once again check the sizes:
# df -k
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c1d0s0 15370534 304492 14912337 3% /
/devices 0 0 0 0% /devices
/dev 0 0 0 0% /dev
ctfs 0 0 0 0% /system/contract
proc 0 0 0 0% /proc
mnttab 0 0 0 0% /etc/mnttab
swap 3921964 476 3921488 1% /etc/svc/volatile
objfs 0 0 0 0% /system/object
/dev/dsk/c1d0s7 10331209 3063533 7164364 30% /usr
/usr/lib/libc/libc_hwcap2.so.1
10331209 3063533 7164364 30% /lib/libc.so.1
fd 0 0 0 0% /dev/fd
/dev/dsk/c1d0s1 10331209 120975 10106922 2% /var
swap 3921524 36 3921488 1% /tmp
swap 3921520 32 3921488 1% /var/run
/dev/dsk/c0d0s7 18152978 462249 17509200 3% /opt
/dev/dsk/c0d0s6 1027889 36010 930206 4% /export/home
# ls -la /var/sadm/install/contents
-rw-r--r-- 1 root root 16988435 Jan 21 14:17 /var/sadm/install/contents
# tail /var/sadm/install/contents
# Last modified by pkgrm for SUNWonbld package
# Sun Jan 21 14:17:55 2007
Okay, one more time:
# pkgadd -d . SUNWonbld Processing package instance <SUNWonbld> from </export/home/tdh> OS-Net Build Tools(i386) 11.11,REV=2007.01.08.23.45 Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Using </> as the package base directory.
yada, yada, yada
And everything is added correctly. What are the new sizes?
# df -k
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c1d0s0 15370534 304493 14912336 3% /
/devices 0 0 0 0% /devices
/dev 0 0 0 0% /dev
ctfs 0 0 0 0% /system/contract
proc 0 0 0 0% /proc
mnttab 0 0 0 0% /etc/mnttab
swap 3920952 476 3920476 1% /etc/svc/volatile
objfs 0 0 0 0% /system/object
/dev/dsk/c1d0s7 10331209 3063533 7164364 30% /usr
/usr/lib/libc/libc_hwcap2.so.1
10331209 3063533 7164364 30% /lib/libc.so.1
fd 0 0 0 0% /dev/fd
/dev/dsk/c1d0s1 10331209 121011 10106886 2% /var
swap 3920512 36 3920476 1% /tmp
swap 3920508 32 3920476 1% /var/run
/dev/dsk/c0d0s7 18152978 479716 17491733 3% /opt
/dev/dsk/c0d0s6 1027889 36010 930206 4% /export/home
# ls -la /var/sadm/install/contents
-rw-r--r-- 1 root root 16996800 Jan 21 14:20 /var/sadm/install/contents
So, here are the values I did a SWAG in Adding a new package to an Install DVD:
ROOTSIZE=17500000 VARSIZE=0 OPTSIZE=17500000 EXPORTSIZE=0 USRSIZE=0 USROWNSIZE=0 SPOOLEDSIZE=17500000
The first thing to note is that I guessed the values were in bytes, I'm wrong. These should be in kilobytes. Ouch, already way off.
And here are the values I calculate from above:
ROOTSIZE=1 VARSIZE=36 OPTSIZE=17467 EXPORTSIZE=0 USRSIZE=0 USROWNSIZE=0 SPOOLEDSIZE=17467
Now, I also need to account for /var the size of the database. I'm going to use the very first size since I think that is more realistic.
16996800 - 16988435 = 8365
This value is in bytes, so it needs to become 9. Be generous when rounding. The guidelines also stated to double it when adding it to VARSIZE. This last fudge factor is to allow for any overhead during installation.
The final fudge factor is to multiply your numbers by 10-15%. If we add it all up, we get:
ROOTSIZE=2 VARSIZE=63 OPTSIZE=20088 EXPORTSIZE=0 USRSIZE=0 USROWNSIZE=0 SPOOLEDSIZE=20088
Now, even with this generous padding, how far off was I? The good news was not much. The bad news was that the unit mismatch meant that I was requesting about 16G in the root - perhaps 48G depending on the way my partitions fell. And I also needed that much RAM to do the install.
Anyway, I'll respin the DVD soon and see how it goes with the new sizes.
So I'm creating ZFS filesystems left and right to hold my homedirs. I can remember to always do the correct path in /etc/passwd or I can teach autofs(4) to always put them in /home.
Assuming you have your ZFS homedirs in /etc/zfs:
# echo "* localhost:/export/zfs/&" >> /etc/auto_home # svcadm restart autofs # cd /home/tdh # df -h . Filesystem size used avail capacity Mounted on zoo/home/tdh 33G 3.4M 20G 1% /export/zfs/tdh
I want to add SUNWonbld to the install DVD and have it automatically installed when I bring up a new machine. I've found that when looking for information on how packages are maintained on the install media, it is best to search on jumpstart and not install.
The first part appears easy, just copy the SUNonbld (get the correct one for your build) to the Solaris_11/Product directory:
# pwd /kanigix/b55b/Solaris_11/Product # ls -la SUNWonbld SUNWonbld: No such file or directory # cp -r /export/zfs/tdh/b55/packages/i386/SUNWonbld . # ls -la SUNWonbld total 106 drwxr-xr-x 4 root root 512 Jan 18 12:46 . dr-xr-xr-x 1819 root root 41984 Jan 18 12:46 .. drwxr-xr-x 2 root root 512 Jan 18 12:46 install -rw-r--r-- 1 root root 392 Jan 18 12:46 pkginfo -rw-r--r-- 1 root root 7583 Jan 18 12:46 pkgmap drwxr-xr-x 3 root root 512 Jan 18 12:46 reloc
Note, it is also easy to determine the packages already in the directory are not in stream format - the fact that they are directories themselves tells us that.
The next part is harder - how does the installation know what to do? Where does the installer live such that we can read the code? You know what, I don't know yet. And I looked.
The trick lies in realizing that a jumpstart server is basically an extraction of the contents of the ISO onto local storage. The site admin is then able to add or delete packages before they are installed by the jumpstart server. So how does a jumpstart server mangle this process?
A clue can be found in [Summary] packages at sunmanagers.org:
One place to find which clusters exist is to look in your jumpstart tree: view .../Solaris_9/Product/.clustertoc which contains all the cluster and packages. With suitable add/delete statements for clusters or individual packages you can fine-tune what gets installed.
If we look on the DVD:
# ls -la | grep toc lrwxrwxrwx 1 root root 30 Jan 16 15:42 .clustertoc -> ./locale/C/.clustertoc.default lrwxrwxrwx 1 root root 22 Jan 16 15:42 .packagetoc -> ./locale/C/.packagetoc -r--r--r-- 1 root root 171060 Jan 12 17:44 .virtual_packagetoc_2 -r--r--r-- 1 root root 142606 Jan 12 17:44 .virtual_packagetoc_3 -r--r--r-- 1 root root 26907 Jan 12 17:44 .virtual_packagetoc_4 -r--r--r-- 1 root root 174452 Jan 12 17:44 .virtual_packagetoc_5 -r--r--r-- 1 root root 8492 Jan 12 17:44 .virtual_packagetoc_6 -r--r--r-- 1 root root 265533 Jan 12 17:44 .virtual_packagetoc_lang1
At first this looks overwhelming, but then when you realize that the DVD image is basically a cat(1) of the CD images, it becomes easier to deal with. .packagetoc is from the first CD image. Then the .virtual_packagetoc_* are from the remaining CDs.
Okay, we need to figure out which of these files we need to touch.
# grep SUNWhea .c* .p* .v* .clustertoc:SUNW_CSRMEMBER=SUNWhea .clustertoc:SUNW_CSRMEMBER=SUNWhea .clustertoc:SUNW_CSRMEMBER=SUNWhea .packagetoc:PKG=SUNWhea .packagetoc:PKGDIR=SUNWhea .packagetoc:SUNW_PKGLIST=SUNWhea .packagetoc:SUNW_PDEPEND=SUNWhea .packagetoc:SUNW_PKGLIST=SUNWhea .packagetoc:SUNW_PDEPEND=SUNWhea .pkghistory:PKG=SUNWhea .pkghistory:REPLACED_BY=SUNWhea SUNWpsh .pkghistory:REPLACED_BY=SUNWftpu SUNWftpr SUNWkrbu SUNWcsu SUNWcsr SUNWhea .pkghistory:REPLACED_BY=SUNWpsh SUNWhea .virtual_packagetoc_5:PKG=SUNWhea .virtual_packagetoc_5:PKGDIR=SUNWhea .virtual_packagetoc_5:SUNW_PKGLIST=SUNWhea .virtual_packagetoc_5:SUNW_PDEPEND=SUNWhea .virtual_packagetoc_lang1:SUNW_PKGLIST=SUNWhea .virtual_packagetoc_lang1:SUNW_PDEPEND=SUNWhea
I picked SUNWhea because it isn't needed as much for the install as for when doing compiles. And then we start to do some exploration:
# vi `grep -l SUNWhea .c* .p* .v*`
Looks like we need to add an entry of the form:
SUNW_PDEPEND=SUNWheato all METACLUSTER sections in .clustertoc:
METACLUSTER=SUNWCXall NAME=Entire Distribution plus OEM support DESC=A pre-defined software configuration consisting of all software included in the operating system rel ease, plus OEM platform support. VENDOR=Sun Microsystems, Inc. VERSION=2.2
We also need to add PKG sections to the remaining files which have corresponding PKG sections for SUNWhea. We can get the required information out of the following files:
# ls -la SUNWonbld/pkginfo SUNWonbld/install/depend -rw-r--r-- 1 root root 1907 Jan 18 12:46 SUNWonbld/install/depend -rw-r--r-- 1 root root 392 Jan 18 12:46 SUNWonbld/pkginfo
And we can find out even more by reading packagetoc(4) and clustertoc(4).
I want to put SUNWonbld at the end of everything to be installed. I know that normally we add it after a reboot. The hardest thing to determine are the sizes:
ROOTSIZE=17500000 VARSIZE=0 OPTSIZE=17500000 EXPORTSIZE=0 USRSIZE=0 USROWNSIZE=0 SPOOLEDSIZE=17500000
I got the size via a 'du -s' of the relloc directory. I have no clue if ROOTSIZE applies if /opt is part of the root filesystem. But, I typically install on really large disks. The minimum root I have is 10G. So, while not accurate, this should work.Finally, we need to add an entry to the end of .order. Here is a diff of the changes I am going to make:
[tdh@warlock Product]> diff /kanigix/b55b/Solaris_11/Product/.clustertoc .clustertoc 2002a2003 > SUNW_CSRMEMBER=SUNWonbld 2355a2357 > SUNW_CSRMEMBER=SUNWonbld 2691a2694 > SUNW_CSRMEMBER=SUNWonbld [tdh@warlock Product]> diff /kanigix/b55b/Solaris_11/Product/.order .order 1718a1719 > SUNWonbld [tdh@warlock Product]> diff /kanigix/b55b/Solaris_11/Product/.packagetoc .packagetoc 44091a44092,44121 > PKG=SUNWonbld > PKGDIR=SUNWonbld > DESC=tools used to build the OS-Net consolidation > NAME=OS-Net Build Tools > VENDOR=Sun Microsystems, Inc. > VERSION=11.11,REV=2007.01.08.23.45 > PRODNAME=SunOS > PRODVERS=5.11/tools:2007-01-08 > BASEDIR=/ > CATEGORY=system > SUNW_PKGTYPE=root > ARCH=i386 > SUNW_PDEPEND=SUNWcar > SUNW_PDEPEND=SUNWkvm > SUNW_PDEPEND=SUNWcsr > SUNW_PDEPEND=SUNWcsu > SUNW_PDEPEND=SUNWcsd > SUNW_PDEPEND=SUNWcsl > SUNW_PDEPEND=SUNWbzip > SUNW_PDEPEND=SUNWgzip > SUNW_PDEPEND=SUNWzlib > SUNW_PDEPEND=SUNWperl584core > SUNW_PDEPEND=SUNWperl584usr > ROOTSIZE=17500000 > VARSIZE=0 > OPTSIZE=17500000 > EXPORTSIZE=0 > USRSIZE=0 > USROWNSIZE=0 > SPOOLEDSIZE=17500000 [tdh@warlock Product]> diff /kanigix/b55b/Solaris_11/Product/.virtual_packagetoc_6 .virtual_packagetoc_6 409a410,439 > PKG=SUNWonbld > PKGDIR=SUNWonbld > DESC=tools used to build the OS-Net consolidation > NAME=OS-Net Build Tools > VENDOR=Sun Microsystems, Inc. > VERSION=11.11,REV=2007.01.08.23.45 > PRODNAME=SunOS > PRODVERS=5.11/tools:2007-01-08 > BASEDIR=/ > CATEGORY=system > SUNW_PKGTYPE=root > ARCH=i386 > SUNW_PDEPEND=SUNWcar > SUNW_PDEPEND=SUNWkvm > SUNW_PDEPEND=SUNWcsr > SUNW_PDEPEND=SUNWcsu > SUNW_PDEPEND=SUNWcsd > SUNW_PDEPEND=SUNWcsl > SUNW_PDEPEND=SUNWbzip > SUNW_PDEPEND=SUNWgzip > SUNW_PDEPEND=SUNWzlib > SUNW_PDEPEND=SUNWperl584core > SUNW_PDEPEND=SUNWperl584usr > ROOTSIZE=17500000 > VARSIZE=0 > OPTSIZE=17500000 > EXPORTSIZE=0 > USRSIZE=0 > USROWNSIZE=0 > SPOOLEDSIZE=17500000 [tdh@warlock Product]>
I can make the changes by copying these files back. Make sure to get to the file referenced by the symlinks and do not blow them away.
# cp /export/zfs/tdh/tmp/Product/.order . # cp /export/zfs/tdh/tmp/Product/.virtual_packagetoc_6 . # ls -la .clustertoc lrwxrwxrwx 1 root root 30 Jan 16 15:42 .clustertoc -> ./locale/C/.clustertoc.default # cp /export/zfs/tdh/tmp/Product/.clustertoc .clustertoc .clustertoc.default .clustertoc.dynamic .clustertoc@ # cp /export/zfs/tdh/tmp/Product/.clustertoc .clustertoc.default # cp /export/zfs/tdh/tmp/Product/.packagetoc .packagetoc # diff .clustertoc.dynamic .clustertoc.default 2002a2003 > SUNW_CSRMEMBER=SUNWonbld 2355a2357 > SUNW_CSRMEMBER=SUNWonbld 2691a2694 > SUNW_CSRMEMBER=SUNWonbld # cp .clustertoc.default .clustertoc.dynamic
We also want to get the diffs into .clustertoc.dynamic.
Okay, let's recap the changes which have gone into this DVD:
The first two came about from the first burn of the DVD and my desire to be able to install on headless boxes. I took out the change which made grub work headless and made the default be headless. If I have a head available, I can manually change this.
Burn the DVD and let's have some fun!
# mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -R -L -r -D -U -boot-info-table -o /isos/kanigix.iso /kanigix/b55b # ls -la k* x86/b55b/solarisdvd.iso -rw-r--r-- 1 root root 3893268480 Jan 18 15:31 kanigix.iso -rw-r--r-- 1 root root 3947546624 Jan 16 22:17 kanigix.iso.1 -rw-r--r-- 1 tdh staff 3857448960 Jan 16 15:32 x86/b55b/solarisdvd.isoSo, it looks like the growth in my first image was do to adding the following to the mkisofs command line:
-joliet-long -max-iso9660-filenames
Now does it boot and most importantly install? Time to use my old desktop.
Okay, several observations:
I've got a mix of DVD drives out there - some which can do double sided and some which can not. Evidently the w2100z and the new one can do double sided. I also burned a stock Nevada 55b and it would not boot either. I had just bought a new pack of DVDs and I must have picked up double sided ones. And I only have one drive in the house which will not handle them.
I don't think my splash screen is working. And I can't tell if this DVD is working or not. Big Grin. Hmm, I think adding the SUNWonbld kicked up the requirements for the RAM drive and my 1G notebook is barfing on it. I'll try the new machine - I wonder if I messed up on my size for SPOOLEDSIZE? kanigix - the new machine is hung. I'm going to need to rethink how I do this.
Things don't always work. Those results are just as valuable as something working like a charm. Reverse engineering is trial and error. Ask anyone who tries to implement a CIFS client/server.
I was able to recover my ZFS filesystem when I reinstalled Solaris. If I had known I was going to nuke the root partition, I would have done something like zpool export zoo to make sure it could be imported to a new machine. Since I didn't I had to recover it via zpool import -f zoo.
If we were to take a look at the home directories right then, we see:
# ls -al /export/zfs total 26 drwxr-xr-x 7 root sys 7 Jan 14 14:25 . drwxr-xr-x 4 root sys 512 Jan 14 23:55 .. drwxr-xr-x 2 2025 100 2 Jan 14 14:25 monster drwxr-xr-x 2 1094 100 2 Jan 14 14:10 nfsv2 drwxr-xr-x 2 1813 100 2 Jan 14 14:10 nfsv3 drwxr-xr-x 2 3530 100 2 Jan 14 14:11 nfsv4 drwxr-xr-x 2 1066 staff 3 Jan 14 14:24 tdh
So, we see names for root, sys, and staff. We don't see names for uid 1066, gid 100, etc. The reason why is that ownership is stored by a numeric value in the inode and not a string name. And we do not have a mapping for these uids to names. We can fix that easily:
# grep tdh /etc/passwd # grep users /etc/group # echo "users::100:" >> /etc/group # useradd -m -u 1066 -g 10 -c "Tom Haynes" -s /bin/tcsh -d /export/zfs/tdh tdh # useradd -m -u 1094 -g 100 -c "Mr. NFSv2" -d /export/zfs/nfsv2 nfsv2 # grep users /etc/group users::100: # grep tdh /etc/passwd tdh:x:1066:10:Tom Haynes:/export/zfs/tdh:/bin/tcsh # ls -al /export/zfs total 26 drwxr-xr-x 7 root sys 7 Jan 14 14:25 . drwxr-xr-x 4 root sys 512 Jan 14 23:55 .. drwxr-xr-x 2 2025 users 2 Jan 14 14:25 monster drwxr-xr-x 2 nfsv2 users 2 Jan 14 14:10 nfsv2 drwxr-xr-x 2 1813 users 2 Jan 14 14:10 nfsv3 drwxr-xr-x 2 3530 users 2 Jan 14 14:11 nfsv4 drwxr-xr-x 2 tdh staff 3 Jan 14 14:24 tdh
We can see that right away the new accounts are reflected in the directory output and that even if there is no corresponding user, we can see a group.
So if you are looking at the output of ls -la and the user or group is a number, then it means that number does not have a corresponding entry in the name service. On a NFSv2/v3 mounted filesystem, it might mean that while the server can see the entry, the client can not. Or it could mean that the server supports more users than the client. With NFSv4, you would see the string nobody, which effectively prevents you from seeing the UID.
And it is dead quiet. I went ahead and removed the Silicon Image controller to see if it would help the network connectivity. I.e., Solaris had network connectivity when the card was not there. I kept the Soundblaster in though. The network came right up. Funny that.
I put the last case fan back in and slide everything back in place. I'm about to turn off this desktop to swap places between the two. That will also let me hear how quiet it really is going to be now.
And before too long, adept will be dualbooting into WinXP and Solaris. I'll want to keep the WinXP there for a bit to grab anything I didn't either back up or transfer. By the way, I copied my Steam games onto USB HD and then onto kanigix. I found my steam account password and the games started right up. It isn't on my start menu (under all programs), but a quick shortcut onto my desktop and all is fine. I can't wait to try the Lost Coast demo again. I want to see the stuff I couldn't see on my old machine.
Getting rebates at NewEgg was dead easy. You take your Item # and search the NewEgg Rebate Center. Be sure to get the rebate forms close to when you order, although I've read NewEgg's customer service can help you if the forms are gone.
My plan with adept is to get all of my home network services up and running on it. Once I have them configured, I'll nuke the Red Hat Fedora Core 4 partition on mrx and have a x86 test box to play with. I'm intrigued by the stuff that Doug Scott is doing to How small can you make OpenSolaris.
I finally installed Empire At War and called The Monster in to watch. The units ran, the details were crisp, and he got jealous about the tracks my vehicles left in the ground. After the game, a comment was made to the effect that we could switch computers.
But then he mentioned that speed-wise we were a match, it was just the graphics that his was lacking. Now I could order another XFX card. But I'd probably install the current one in his machine first to make sure it worked. The PCI Express card I tried last year wasn't seen by the motherboard. I'm not sure if it was the motherboard being fully compliant or the graphics card.
His machine did have problems with one of the missions in Knights of the Old Republic. We finally lucked out with a driver update.
Heatwise, the CPU cooler is still cool to the touch, and both the graphic's cooler and the drives are warmer. I'd consider a quiet graphics cooler considering how much heat the CPU cooler fan takes care of.
I'm ready to finish the box up and put it next to my desk. I'm also ready to test a dual-headed DVI combo for a desktop. One of the reasons I want to get the Shuttle off of my desk (it could have gone already) is to have a clean surface and a bank of LCD displays. I don't mind the Sun Ray 1G on my desk, it has a small footprint and looks crisp.
My final tasks are to get the networking going under Solaris and to also process the rebates out of NewEgg.com.
Okay, I've spent the day moving HD ribbons and trying to get both WinXP and Solaris to either first install into and/or then boot on my ATA/133 drive when it is plugged into the PCI controller.
WinXP will not install into it. I needed to install on it whilst it was attached to the loop on my motherboard. Then after I got a driver for the Silicon Image SiI 0860, I was able to boot to it when I moved to the card.
Edit: I've fixed the reference to Silicon Image courtesy of Luke in the comments. Note, I've got a lot of friends who used to work for SGI.
Solaris will not install into it. I installed via the loop on the motherboard. My goal was to then move the drive and hack the /etc/vfstab after booting from the DVD. No such luck, the mini-root must not have support for the card. I can get to grub and select either WinXP or Solaris, but it will not then find the drive.
From earlier, the WinXP partition was hosed (pilot error is my guess) and I blew away the Solaris partition while trying to reinstall the WinXP. I'm used to Linux and Solaris partition editors which don't make changes until you tell it to commit. Anyway, I hadn't caught the boot order in BIOS that time and it wanted to install a boot sector on one of the SATA drives.
My current status is that I can dual boot like crazy. The Solaris networking is not working. The nge0 driver was not doing DHCP (either yesterday or today). I was able to do a sys-unconfig(1M) yesterday and the system started working. Today that is not helping. I'm not sure if it is the cards in the PCI slots or not.
Networking is okay from withing WinXP. I'll look into this later. Right now I need to install some games so my son can see me playing on a system which does not clunk along.
I think the best thing to do for installations is to get the USB DVD working for Solaris. Then I can get rid of the internal DVD drive.
So I can boot back into Solaris just fine, but if I select my Windows partition it will not boot. I get:
A disk read error occured Press Ctrl+Alt+Del to restart
Now I'm actually okay with this for right now. Normally I'd be a bit put off, you are supposed to install WinXP first and then your other OS. But, with the trick of booting up in single user mode from the DVD and then using the installgrub tip we learned from Derek (Solaris 11 GRUB), I'm willing to try to fix the WinXP partition and then recover. If not, it just means we need to restart the install process.
The two paths are:
Well, in my mind, even if the recovery fails, we are back to the first path. And before we then retry to install the Solaris partition, we can try to fix the MBR.
The evil thought in the back of my mind is that the WinXP registration process has nuked my install to teach me to not pirate software.
Okay, I did some reading, it could be a bad cable or a too large HD. Yes, in spite of Solaris booting okay. I'm going to add the ATA/133 card into the system. I'm unhappy with the DVD being on the same path as the ATA drive anyway.
We can see what a mess it is back there:
The ribbon could be twisted too much for WinXP. Also, it tends to end up back in the cooler fan.
I take this time to add a Soundblaster card:
I take the ATA drive off of the cable and I am neatly able to tuck it up in the unused space above the DVD:
With the controller added, both PCI slots are now in use:
And we can see the ribbon cables on the disks:
At this point I am expecting two problems:
And I am right on both counts. The first is easy to solve, thanks to the capabilities of the BIOS. The second I'll deal with when I fix the MBR.
But this did not fix the root problem, so I'm about to try and repair the WinXP partition. fixmbr worked, but chkdsk -r refused to do anything. I'll reboot to see if the MBR was fixed enough, but if not, time for a fresh install. Hmm, it booted into grub.
Okay, I'll add a new entry once I get WinXP reinstalled and I try to fix the Solaris booting.