So, I've been battling Jumpstart. It's Solaris' method of installing a mass group of clients. I found out the low level problem, and I'm sure there's a high level solution, but here is my low level solution. I'll update it if someone can give me a better solution rather than hacking the packages themselves. Sorry if I go into technical detail here, Google do your magic and help some other poor soul.
Solaris Volume Manager (SVM) aka Solstice Disk Suite wasn't getting installed right. It was relatively easy to fix, sure, but goddamn is it annoying to have your machine's default boot state to be 'Enter your root password:' to fsck the disk instead of coming up right. So you had to connect a console to fix it, every jumpstart. So I wanted it fixed, permanently. I had problems with other things in it, like it going interactive, which is annoying and ended up removing /sbin/suninstall to fix (DON'T ASK!). Also, I thought it was the noaccess user screwing me over (pkgadd runs as that), but that was a red herring that took me 4 some hours to figure out. Then I found out the real problem.
Anyway, it turns out that for some reason, in my version of Jumpstart and JET (my jumpstart assist tool), with Solaris 9 9/05, << wasn't working right. Normally, that's the pipe character to say 'until you see the next word, add all this text to whatever program.' So, you'd see:
cat >$1 <<THEEND
CLASS="${CLASS}"
SOLARIS="${ANNOYING}"
THEEND
Which can easily be done instead as: (This is what I actually pasted in instead of the << crap)
echo "CLASSES=\"${CLASSES}\"">$1
echo "IS_AN_UPGRADE=\"${IS_AN_UPGRADE}\"">>$1
echo "RELEASE=\"${RELEASE}\"">>$1
echo "COPY_CONFIG=\"${COPY_CONFIG}\"">>$1When you try to install SUNWmdr and SUNWmdu, the SVM packages, it would bomb out with messages like:
/tmp/installuRa4Dw/checkinstallwRa4Dw: /tmp/sh115060: cannot create
pkgadd: ERROR: checkinstall script did not complete successfully
This was because the << above was causing the 'cannot create' when it ran. After 3 fucking days of fighting jumpstart, I finally find the real problems. This is new to 9 9/05 as well, cause it worked fine in our old 9/04 (I think that was our version). All cause I got a new server that is a different architecture.
Anyway, Solutions! That's what I'm all about. Here was the final plan:
[ gonzo@machine ] $ cd /jumpstart/OS/Sol9/Solaris_9/Product/SUNWmdr
[ gonzo@machine ] $ sudo vi install/checkinstall
# Find the << lines and change it to the above format, with echo's instead. The one above is the SUNWmdr one.
[ gonzo@machine ] $ wc -c install/checkinstall ; sum install/checkinstall
# Use the character count (first line) and the sum line (second line, first number) This is my SUNWmdr one, post-hacking.
2680 install/checkinstall
16216 6 install/checkinstall
[ gonzo@machine ] $ sudo vi pkgmap
# replace the numbers in pkgmap for checkinstall so the package is still valid.
[ gonzo@machine ] $ cd /jumpstart/OS/Sol9/Solaris_9/Product/SUNWmdu
# Same thing all over again, with the single line of 'CLASS' instead. goddamnit.I didn't sleep last night. It's 11:52 pm. 20-30 some jumpstarts later. I'm going to fucking bed as soon as jumpstart finishes, which takes about an hour and a half every cycle, so you can imagine how painful this was to fix. So fuck jumpstart, right the ear. And in fact, the package went in successfully, so I'm going to goddamn bed. heh
Update1: It worked, the machine is up, and now I just need to get a storage device that I've never used before to work. By tonig.. oh wait. doh. `8r/