This one was a real journey!
There are a few guides trying to explain how to perform a netinstall/netboot of Solaris 8 from linux. However, they all lacked the crucial parts of the procedure.
A few sources for this guide are:
Here is my go at a complete procedure. The goal is just to get the darn OS installed, you can install fancy smancy packages later if you want.
First, acquire the Solaris 8 64bit iso from oracle/wherever.
They come as two zips:
You only need to extract p10356262_800_SOLARIS64_1of2.zip.
This will give you the following iso: sol-8-hw4-sparc-v1.iso
Put it somewhere on your RPI3.
RPI 3 Configuration
Setup the Netinstall Network
In this example, the RPI3 will have the ip 192.168.2.1 on its NIC eth0.
The Ultra 1 will have the IP 192.168.2.200
edit /etc/network/interfaces and configure eth0 like this:
iface eth0 inet static
Install and Configure Software
# Install the following packages
apt-get install rarpd nfs-kernel-server bootparamd
# Start a separate terminal for more easy monitoring and run
rarpd -e -v -d eth0
# Create the directory for the installation media
mkdir -p /pub/solaris
# Mount Solaris iso
mount -o loop sol-8-hw4-sparc-v1.iso /mnt/cdrom
# Copy all the files we need for the installation
find /mnt/cdrom -depth -print | cpio -pdmu /pub/solaris
Open up and edit /etc/exports and add the following
The SUN machine will be called harpocrates.
# Add harpocrates to host file on the RPI 3
echo “192.168.2.200 harpocrates” >> /etc/hosts
Edit /etc/bootparams and add the following (make sure its all on one line):
harpocrates root=192.168.2.1:/pub/solaris/Solaris_8/Tools/Boot install=192.168.2.1:/pub/solaris/ install_config=192.168.2.1:/pub/solaris/Solaris_8/Tools/Boot/usr/sbin/install.d/install_config/ sysid_config=192.168.2.1:/pub/solaris/Solaris_8/Tools/Boot/usr/sbin/install.d/install_config/sysidcfg rootopts=:rsize=32768 boottype=:in
It appears that the netinstall is using a graphical dialogue for just a few questions (or at least that it what happens for me), so we need to create an answer file that jumpstart will use.
Create the jumpstart file /pub/solaris/Solaris_8/Tools/Boot/usr/sbin/install.d/install_config/harpocrates and add (adjust the disc sizes as you wish):
package SUNWaccr add
package SUNWaccu add
package SUNWgzip add
filesys c0t0d0s0 512 /
filesys c0t0d0s1 2048 /var
filesys c0t0d0s2 all overlap
filesys c0t0d0s3 2048 swap
filesys c0t0d0s4 1024 /usr
filesys c0t0d0s5 free /local
Edit the file /pub/solaris/Solaris_8/Tools/Boot/usr/sbin/install.d/install_config/rules.ok, we will tell it to use our jumpstart profile for the sun4u architecture:
karch sun4u install_begin harpocrates patch_finish
Edit the file /pub/solaris/Solaris_8/Tools/Boot/usr/sbin/install.d/install_config/sysidcfg adjust as you wish, however, I’m not really sure if actually used or just partially. You get to set root password at boot and the previous IP settings are kept..hmm
The Important but Ugly Hack
We need to add a few lines to the startup file, otherwise you will receive error when the installers tries to transition from console to graphical environment. The error appears to be about the framebuffer device (its probably too lazy figuring out how to load the required modules on its own). The error is “/sbin/startup: /dev/fbs does not exist”.
I found the solution here.
It still spits out some errors, but it works.
Edit the file /pub/solaris/Solaris_8/Tools/Boot/sbin/startup and add the snippet below the comment field:
# Make sure all configuration necessary is completed in order
# to run the window system
# Fix module shit
cp -f /usr/lib/devfsadm/linkmod/* /tmp/linkmod/
ls -l /tmp/linkmod
devfsadm -l /tmp/linkmod/
Start the installer
Now make sure all services are started/restarted after editing configs on your RPI3.
systemctl restart bootparamd
systemctl restart nfs-kernel-server
Now boot your Sun Ultra 1 into the “OK” prompt and run (notice the space before install):
boot net -v – install
Let it load for a while. When you hit “configured interface le0” it appears to freeze forever.
Just send a ping from your RPI3 to 192.168.2.200 and it will magically unfreeze and continue.
So, After a few minutes the installation GUI should pop up with a loud beep.
You get to make a few decision. After setting timezone and confirm the settings a console window shows up which will run load the jumpstart profile.
Here I had loads of problems at first attempts, mainly because I tried to merge Solaris 8 CD1 and CD2 into one directory and somehow forgot to copy the CD1 product-directory at first. Got really messy. When such things happen or your nfs export is not working out you will most likely see a message like this “There is no valid Solaris product on the media /cdrom”.
It reads the .cdtoc file in /pub/solaris/ and there it finds the location to the Product directory and making sure some specific files exists there.
So, after some hour due to really slow disc access, you’ll hopefully have a working Solaris 8 system on your Sparc Ultra 1!
Bonus: Quirks when installing additional packages after installation
Since my goal was just to the OS installed, I had to install all extra applications I wanted afterwards.
I created a Products-directory on my RPI3 containing all the contents from “Products” directory on the RPI3, then I shared this via NFS and mounted it on my Sparc.
When installing for instance, Netscape (called NSCPcom) from the share (pkgadd -d <full product directory path> NSCPcom) , the installer failed and reporting something like “Cannot open pkgadd: ERROR: class action script did not complete sucessfully”.
This is due to permission problems, there is a check script in the installer that probably does not have permissions to read your nfs mount. You can solve this quick and dirty by copying the files somewhere locally on your Sparc and then try to install it again.