As performed on a SPARC system:
1) Boot from the Solaris DVD, build and patch the master system
2) reboot to single-user mode (e.g. init s)
3) Create the Flash archive, e.g:
mkdir /flar flar create -n solaris10-09-sparc -S -x /flar /flar/solaris10-09-sparc-20100123.flar
This will create a Flash archive, skip the (time consuming) size calculation step, and exclude the directory into which we are saving the Flash archive.
4) Copy the .flar to a webserver
E.g. CTRL+D to return to the multiuser milestone, SSH the file out to another machine or what-have-you
5) boot the system from the Solaris 10 DVD, and run the text installer (e.g boot cdrom -text at the OBP ok prompt)
6) Run through the installer steps, and select Flash archive as the installtion source at the relevant point; make sure your web server is serving OK
7) Watch the installer suck down the archive, reboot the system, and done.
Works great, and amazing to think this was a feature of Solaris as far back as Solaris 8…and we have not even scratched the surface of this vis a vis pre/post install scripting etc.
The main problem I had with this was my webserver dropping connections when downloading the archive; after working through all manner of troubleshooting steps I determined this has to be a bug with Sun Java System Webserver 7. I was seeing the same problem on three other machines (Solaris 10 u6 x64, OpenSolaris snv_127/snv_130 x64), all running update 7 of SJSWS7, and even when just using a web browser to download the file to the desktop. (The text mode of the Solaris installer handily tells me that the server unexpectedly closes the connection when downloading the Flash archive, as well as MBs copied and remaining, something I can’t see when using the Solaris GUI installer.)
In the server access logs I would see:
22/Jan/2010:11:37:58 warning for host 192.168.10.65 trying to GET /solaris10-09-sparc-20100123.flar, finish-response reports: HTTP2228: Response content length mismatch (704045058 bytes with a content length of 4999012354)
22/Jan/2010:11:34:08 warning for host 192.168.10.65 trying to GET /solaris10-09-sparc-20100123.flar, finish-response reports: HTTP2228: Response content length mismatch (702537730 bytes with a content length of 4997505026)
22/Jan/2010:11:32:36 warning for host 192.168.10.65 trying to GET /solaris10-09-sparc-20100123.flar, finish-response reports: HTTP2228: Response content length mismatch (702996482 bytes with a content length of 4997963778)
So, only a few hundred megabytes of the 4.9GB file being downloaded in each case. Searching for the HTTP2228 error didn’t really turn up anything useful in terms of a resolution, and the few pages I did find were Sun forum posts from other users of SJSWS. I performed an MD5 hash of the Flash archive right after creating (and I made several archives in the process of troubleshooting this – a time consuming procedure), made sure this matched after copying it to the document root of my webserver and running another MD5 hash…but in the end I just gave up on it.
I installed lighthttpd on my OpenSolaris webserver instead and used this to serve the Flash archive – worked like a charm off the bat. Looks like a cool little application to boot! 🙂