Notes on lighting up a Sun Ultra 5. Dmesg outputs are here. Care and feeding of a Sun Ultra 5/10
Serial Port A (DB25) Pin Signal Description 2 TxD output Transmit Data 3 RxD input Receive Data 4 RTS output Request to Send 5 CTS input Clear to Send 6 DSR input Data Set Ready 7 GND Ground 8 DCD input Data Carrier Detect 9-14 none Not connected 15 TRxC input Transmit Clock 16 none Not connected 17 RTxC input Receive Clock 20 DTR output Data Terminal Ready 21-23 none Not connected 24 TxC output Transmit Clock 25 none Not Connected
“The IDPROM contents are invalid” hints at the nvram being dead:
ok banner Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 270MHz), No Keyboard OpenBoot 3.15, 256 MB memory installed, Serial #16777215. Ethernet address ff:ff:ff:ff:ff:ff, Host ID: ffffffff. The IDPROM contents are invalid ok ok boot net Boot device: /pci@1f,0/pci@1,1/network@1,1 File and args: Internal loopback test -- Did not receive expected loopback packet. Can't open boot device ok
The settings can be done on the fly (they are lost when power is turned off though):
# get the system into the "ok" prompt, for example issuing a break signal, then set-defaults 1 0 mkp 80 1 mkp 8 2 mkp 0 3 mkp 20 4 mkp c0 5 mkp ff 6 mkp ee 7 mkp 0 8 mkp 0 9 mkp 0 a mkp 0 b mkp c0 c mkp ff d mkp ee e mkp 0 f 0 do i idprom@ xor loop f mkp banner # should show Ethernet address: 8:0:20:c0:ff:ee, Host ID: 80c0ffee. reset
This has quite some steps, as the prom gets reset, so also the MAC. These are the required steps:
# get the system into the "ok" prompt, for example issuing a break signal, then set-defaults 1 0 mkp 80 1 mkp 8 2 mkp 0 3 mkp 20 4 mkp c0 5 mkp ff 6 mkp ee 7 mkp 0 8 mkp 0 9 mkp 0 a mkp 0 b mkp c0 c mkp ff d mkp ee e mkp 0 f 0 do i idprom@ xor loop f mkp banner # should show Ethernet address: 8:0:20:c0:ff:ee, Host ID: 80c0ffee. boot disk netbsd
I did not get Solaris installed, for further attempts I need to burn a cd (solaris8) or dvd (solaris10). Jumpstart did not work for me so far.
[tftp transfer ending] 14:17:55.577445 IP 10.0.0.1.41667 > 10.0.0.2.24661: UDP, length 516 14:17:55.588661 IP 10.0.0.2.24661 > 10.0.0.1.41667: UDP, length 4 14:17:55.588773 IP 10.0.0.1.41667 > 10.0.0.2.24661: UDP, length 404 14:17:55.594455 IP 10.0.0.2.24661 > 10.0.0.1.41667: UDP, length 4 14:17:55.971800 ARP, Request who-has 10.0.0.2 tell 10.0.0.1, length 28 14:17:56.995783 ARP, Request who-has 10.0.0.2 tell 10.0.0.1, length 28 14:17:57.940897 ARP, Reverse Request who-is 08:00:20:c0:ff:ee tell 08:00:20:c0:ff:ee, length 60 14:17:57.941256 ARP, Reverse Reply 08:00:20:c0:ff:ee at 10.0.0.2, length 28 14:17:57.977524 IP 10.0.0.2.512 > 255.255.255.255.111: UDP, length 76 14:18:09.749781 IP 10.0.0.2.512 > 255.255.255.255.111: UDP, length 76 14:18:23.763177 IP 10.0.0.2.513 > 255.255.255.255.111: UDP, length 76
Attempt to setup an install server to install Solaris on the Ultra5 via network. Big issue seems to be NFSv2. These steps did not result in success.. just recording them here. This is loosely following this guide. As per above, the battery in this system is dead, after reboots I'm setting parameters to set MAC 8:0:20:c0:ff:ee.
# setup rhel7.9 on a Thinkpad x200. After initial setup, hooking it into # wlan for SSH login, and using the ethernet connection to connect to the # Ultra5. # registering, updating subscription-manager register [..] subscription-manager list --all --available >allsubs.txt subscription-manager subscribe --pool=[..] subscription-manager repos --disable='*' --enable=rhel-7-server-rpms \ --enable=rhel-7-server-extras-rpms --enable=rhel-7-server-optional-rpms \ --enable=rhel-7-server-debug-rpms --enable=rhel-7-server-source-rpms yum update -y yum -y install http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm yum -y install gcc git-core libtirpc-devel nfs-utils \ NetworkManager-wifi tftp-server strace tcpdump reboot # In anaconda, I had already setup my wlan. nmcli con nmcli con up fluxnet nmcli con mod fluxnet connection.autoconnect yes # Default ethernet is DHCP, make a copy and configure it with # static IP. nmcli con clone enp0s25 enp0s25-static nmcli con mod enp0s25 connection.autoconnect no nmcli con mod enp0s25-static ipv4.method manual ipv4.addresses 192.168.10.1/24 nmcli con up enp0s25-static # At this point, we can login via wlan, and enp0s25 has a static IP. mount -o loop Sun\ Solaris\ 7.0.1199\ \[Sun\ SPARC\].iso tmp mkdir -p /mnt/nfs cp -r tmp /mnt/nfs/sol7 # compile rarpd, configure mkdir rarpd vi Makefile vi rarpd.c make cd .. echo '08:00:20:c0:ff:ee sunze' >/etc/ethers echo '192.168.10.2 sunze' >>/etc/hosts # compile bootparamd curl http://hintshop.ludvig.co.nz/download/netkit-bootparamd-0.18-pre1.tar.gz git clone https://github.com/vogelchr/netkit-bootparamd cd netkit-bootparamd/ ./configure make setenforce 0 systemctl stop firewalld systemctl disable firewalld vi /etc/nfs.conf # ensure following 3 lines: [nfsd] udp=y vers2=y echo '/mnt/nfs 192.168.10.0/24(ro,no_root_squash,no_subtree_check)' >/etc/exports systemctl start nfs cat /proc/fs/nfsd/versions # +2 +3 +4 +4.1 +4.2 <- kernel supporting NFSv2 rpcinfo -p program vers proto port service [..] 100003 2 udp 2049 nfs <- rpcbind advertising NFSv2/udp [..] showmount -e Export list for x200.localdomain: /mnt/nfs 192.168.10.0/24 <- export active echo 'sunze root=192.168.10.1:/mnt/nfs/sol7/Solaris_2.7/Tools/Boot install=192.168.10.1:/mnt/nfs/sol7/ boottype=:in' >/etc/bootparams cat /usr/lib/systemd/system/tftp.service # We learn that it's serving /var/lib/tftpboot by default, ok. systemctl start tftp.service # Make a copy of the inetboot file for our sun4u system cd /mnt/nfs/sol7/ find .|grep inetbo cp ./Solaris_2.7/Tools/Boot/usr/platform/sun4u/lib/fs/nfs/inetboot \ /var/lib/tftpboot/inetboot.sun4u.sol7 cd /var/lib/tftpboot/ ln -s inetboot.sun4u.sol7 C0A80A02 # let's start rarpd and bootparamd cd /root/rarpd ./rarpd -v -b /var/lib/tftpboot/ cd /root/netkit-bootparamd/rpc.bootparamd/ ./bootparamd # I needed to run 'strace -f -p <pid-of-rarpd>' to debug # further debugging tcpdump -n -i enp0s25 -v -w /tmp/dumpp # Local mounts with v2 still do not work :( mount -t nfs -o nfsvers=2 192.168.10.1:/mnt/nfs/sol7/ /mnt/tmp mount.nfs: Protocol not supported # When booted against this setup, the Ultra5 outputs as following. # It's fetching inetboot via tftp, but then fails mounting. Rebooting with command: boot net -v - install Boot device: /pci@1f,0/pci@1,1/network@1,1 File and args: -v - install 23a00 xdr_string: size FAILED RPC: Can't decode result. whoami RPC call failed with rpc status: 2 panic - boot: Could not mount filesystem. Program terminated ok # Logs on server side Dec 17 18:34:19 x200 kernel: e1000e: enp0s25 NIC Link is Up 100 Mbps Full Duplex, Flow Control: None Dec 17 18:34:19 x200 kernel: e1000e 0000:00:19.0 enp0s25: 10/100 speed: disabling TSO [ 6646.433120] e1000e 0000:00:19.0 enp0s25: 10/100 speed: disabling TSO Dec 17 18:34:19 x200 NetworkManager[2101]: <info> [1702834459.2230] device (enp0s25): carrier: link connected Dec 17 18:34:19 x200 rarpd[14003]: RARP request from 08:00:20:c0:ff:ee on enp0s25 Dec 17 18:34:19 x200 rarpd[14003]: RARP response to 08:00:20:c0:ff:ee 192.168.10.2 on enp0s25 Dec 17 18:34:19 x200 systemd: Started Tftp Server. Dec 17 18:34:22 x200 in.tftpd[14185]: Client ::ffff:192.168.10.2 finished C0A80A02 [ 6649.377159] e1000e: enp0s25 NIC Link is Down Dec 17 18:34:22 x200 kernel: e1000e: enp0s25 NIC Link is Down [ 6650.998922] e1000e: enp0s25 NIC Link is Up 100 Mbps Full Duplex, Flow Control: None [ 6650.999034] e1000e 0000:00:19.0 enp0s25: 10/100 speed: disabling TSO Dec 17 18:34:23 x200 kernel: e1000e: enp0s25 NIC Link is Up 100 Mbps Full Duplex, Flow Control: None Dec 17 18:34:23 x200 kernel: e1000e 0000:00:19.0 enp0s25: 10/100 speed: disabling TSO Dec 17 18:34:23 x200 NetworkManager[2101]: <info> [1702834463.7891] device (enp0s25): carrier: link connected Dec 17 18:34:23 x200 rarpd[14003]: RARP request from 08:00:20:c0:ff:ee on enp0s25 Dec 17 18:34:23 x200 rarpd[14003]: RARP response to 08:00:20:c0:ff:ee 192.168.10.2 on enp0s25 # rpcbind in debug mode Dec 17 18:39:15 x200 rpcbind[14216]: pmap_rmtcall callit req for (100026, 1, 1, udp) from 192.168.10.2.3.117 : Dec 17 18:39:15 x200 rpcbind[14216]: prog 100026 vers 1: not found Dec 17 18:39:39 x200 rpcbind[14216]: pmap_rmtcall callit req for (100026, 1, 1, udp) from 192.168.10.2.3.171 : Dec 17 18:39:39 x200 rpcbind[14216]: prog 100026 vers 1: not found
I did not get Solaris installed on the Ultra5, these steps are for Solaris/x86 which I installed to experiment with the system as install server foe Solaris/sparc.
# the ssh algorithms are no longer considered secure. # Enable the insecure ones: ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 \ -oHostKeyAlgorithms=+ssh-dss root@192.168.122.132 # Take second interface up, bridged on hypervisor ifconfig e1000g1 plumb up ifconfig e1000g1 192.168.10.2/24 echo 'sol10priv' >/etc/hostname.e1000g1 echo '192.168.10.2 sol10priv' >>/etc/hosts
# Fedora core 1 is from 2003, we need to reenable old crypto, # and set an old terminal type export TERM=xterm root@nexus:~# ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 \ -oHostKeyAlgorithms=+ssh-dss -o'Ciphers aes128-cbc' root@192.168.122.171 service portmap start service nfs start # this succeeds now! mount -t nfs -o nfsvers=2 192.168.10.2:/mnt/nfs /mnt/tmp/ # sun boot attempt ok boot net -v - install Boot device: /pci@1f,0/pci@1,1/network@1,1 File and args: -v - install 2ec00 hostname: sunze domainname: (none) root server: 192.168.10.2 root directory: /mnt/nfs/sol26/Solaris_2.6/Tools/Boot boot: cannot open kernel/unix Enter filename [kernel/unix]: / File not executable. boot failed Enter filename [/]: unix boot: cannot open unix Enter filename [kernel/unix]: kernel/unix boot: cannot open kernel/unix