This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
hardwarerelated:sun_ultra_5 [2019/12/22 11:56] – [Working around a dead nvram] chris | hardwarerelated:sun_ultra_5 [2023/12/18 18:15] – [Resetting root password of an installed Solaris] chris | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ===== What? ===== | ||
+ | Notes on lighting up a Sun Ultra 5. [[/ | ||
+ | 48x ide CD drive, might have to replace mine. IDE disks of up to 128GB capacity can be addressed. | ||
+ | |||
+ | ===== Setting up the serial connection ===== | ||
+ | * commands: either " | ||
+ | * Keyboard/ | ||
+ | * Which serial port? serial port a got used for me, the DB25 female port. Serial port b, the male DB9, was not active by default. | ||
+ | * Which ports are used? I first used 2 usb-serial adapters ([[http:// | ||
+ | * serial port pin layout, from sunhelp.org: | ||
+ | < | ||
+ | Serial Port A (DB25) | ||
+ | Pin | ||
+ | 2 TxD output | ||
+ | 3 RxD input | ||
+ | 4 RTS output | ||
+ | 5 CTS input Clear to Send | ||
+ | 6 DSR input Data Set Ready | ||
+ | 7 | ||
+ | 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 | ||
+ | 21-23 none Not connected | ||
+ | 24 TxC output | ||
+ | 25 none Not Connected | ||
+ | </ | ||
+ | |||
+ | ===== Working around a dead nvram ===== | ||
+ | "The IDPROM contents are invalid" | ||
+ | < | ||
+ | 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: | ||
+ | |||
+ | |||
+ | The IDPROM contents are invalid | ||
+ | |||
+ | ok | ||
+ | ok boot net | ||
+ | Boot device: / | ||
+ | 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 " | ||
+ | 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: | ||
+ | reset | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Installing NetBSD ===== | ||
+ | * I booted via network. Direct cable connection to a Debian box, with mode 100/ | ||
+ | * NFSv2 had to be activated, on Debian I had to add RPCNFSDOPTS=" | ||
+ | * I had to set the " | ||
+ | * Netbsd has by default root login with password disabled, ' | ||
+ | |||
+ | ===== Installing Solaris ===== | ||
+ | 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. | ||
+ | * several Solaris versions: [[https:// | ||
+ | * obp firmware [[https:// | ||
+ | * Solaris network installation needs NFSv2 | ||
+ | * Linux: does kernel side offer v2? ' | ||
+ | * Test mount: mount -t nfs -o nfsvers=2 192.168.10.1:/ | ||
+ | * Solaris 8/9 notes: | ||
+ | * These iso files can be mounted as iso9669 on a linux system (mount -o loop sol.iso /mnt/tmp), but just a 192kb filesystem becomes available. One could burn the image and try to boot it. | ||
+ | * Solaris 10 notes: | ||
+ | * The iso files are mountable, contents can be copied. | ||
+ | * Tried setting up a Jumpstart server. The sun gets an IP via rarpd, but then sends requests to RPC (port 111), when it is supposed to ask for further data from bootparamd: | ||
+ | < | ||
+ | [tftp transfer ending] | ||
+ | 14: | ||
+ | 14: | ||
+ | 14: | ||
+ | 14: | ||
+ | 14: | ||
+ | 14: | ||
+ | 14: | ||
+ | 14: | ||
+ | 14: | ||
+ | 14: | ||
+ | 14: | ||
+ | </ | ||
+ | * Jumpstart server hints: http:// | ||
+ | |||
+ | ===== Setup Solaris network install server with RHEL7 (not working) ===== | ||
+ | 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 [[http:// | ||
+ | < | ||
+ | # 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, | ||
+ | subscription-manager register [..] | ||
+ | subscription-manager list --all --available > | ||
+ | subscription-manager subscribe --pool=[..] | ||
+ | subscription-manager repos --disable=' | ||
+ | --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:// | ||
+ | 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/ | ||
+ | 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 / | ||
+ | |||
+ | # compile rarpd, configure | ||
+ | mkdir rarpd | ||
+ | vi Makefile | ||
+ | vi rarpd.c | ||
+ | make | ||
+ | cd .. | ||
+ | |||
+ | echo ' | ||
+ | echo ' | ||
+ | |||
+ | # compile bootparamd | ||
+ | curl http:// | ||
+ | git clone https:// | ||
+ | cd netkit-bootparamd/ | ||
+ | ./configure | ||
+ | make | ||
+ | |||
+ | setenforce 0 | ||
+ | systemctl stop firewalld | ||
+ | systemctl disable firewalld | ||
+ | |||
+ | vi / | ||
+ | # ensure following 3 lines: | ||
+ | [nfsd] | ||
+ | udp=y | ||
+ | vers2=y | ||
+ | |||
+ | echo '/ | ||
+ | systemctl start nfs | ||
+ | |||
+ | cat / | ||
+ | # +2 +3 +4 +4.1 +4.2 <- kernel supporting NFSv2 | ||
+ | rpcinfo -p | ||
+ | | ||
+ | [..] | ||
+ | 100003 | ||
+ | [..] | ||
+ | |||
+ | showmount -e | ||
+ | Export list for x200.localdomain: | ||
+ | /mnt/nfs 192.168.10.0/ | ||
+ | |||
+ | echo ' | ||
+ | |||
+ | cat / | ||
+ | # We learn that it's serving / | ||
+ | systemctl start tftp.service | ||
+ | |||
+ | # Make a copy of the inetboot file for our sun4u system | ||
+ | cd / | ||
+ | find .|grep inetbo | ||
+ | cp ./ | ||
+ | / | ||
+ | cd / | ||
+ | ln -s inetboot.sun4u.sol7 C0A80A02 | ||
+ | |||
+ | # let's start rarpd and bootparamd | ||
+ | cd /root/rarpd | ||
+ | ./rarpd -v -b / | ||
+ | cd / | ||
+ | ./ | ||
+ | |||
+ | # I needed to run ' | ||
+ | |||
+ | # 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:/ | ||
+ | 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: / | ||
+ | 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: | ||
+ | [ 6646.433120] e1000e 0000: | ||
+ | Dec 17 18:34:19 x200 NetworkManager[2101]: | ||
+ | Dec 17 18:34:19 x200 rarpd[14003]: | ||
+ | Dec 17 18:34:19 x200 rarpd[14003]: | ||
+ | Dec 17 18:34:19 x200 systemd: Started Tftp Server. | ||
+ | Dec 17 18:34:22 x200 in.tftpd[14185]: | ||
+ | [ 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: | ||
+ | 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: | ||
+ | Dec 17 18:34:23 x200 NetworkManager[2101]: | ||
+ | Dec 17 18:34:23 x200 rarpd[14003]: | ||
+ | Dec 17 18:34:23 x200 rarpd[14003]: | ||
+ | |||
+ | # rpcbind in debug mode | ||
+ | Dec 17 18:39:15 x200 rpcbind[14216]: | ||
+ | Dec 17 18:39:15 x200 rpcbind[14216]: | ||
+ | Dec 17 18:39:39 x200 rpcbind[14216]: | ||
+ | Dec 17 18:39:39 x200 rpcbind[14216]: | ||
+ | </ | ||
+ | |||
+ | ===== Solaris10 first steps ===== | ||
+ | < | ||
+ | # 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/ | ||
+ | echo ' | ||
+ | echo ' | ||
+ | </ | ||
+ | |||
+ | ===== Fedora core 1 ===== | ||
+ | |||
+ | * http:// | ||
+ | * https:// | ||
+ | * solaris8 dvd looks empty? Just slice 0 gets mounted on Linux with 'mount -o loop ..'. There is a second slice. [[https:// | ||
+ | < | ||
+ | # Fedora core 1 is from 2003, we need to reenable old crypto, | ||
+ | # and set an old terminal type | ||
+ | export TERM=xterm | ||
+ | root@nexus: | ||
+ | -oHostKeyAlgorithms=+ssh-dss -o' | ||
+ | |||
+ | service portmap start | ||
+ | service nfs start | ||
+ | |||
+ | # this succeeds now! | ||
+ | mount -t nfs -o nfsvers=2 192.168.10.2:/ | ||
+ | |||
+ | # sun boot attempt | ||
+ | ok boot net -v - install | ||
+ | Boot device: / | ||
+ | 2ec00 hostname: sunze | ||
+ | domainname: (none) | ||
+ | root server: 192.168.10.2 | ||
+ | root directory: / | ||
+ | boot: cannot open kernel/unix | ||
+ | Enter filename [kernel/ | ||
+ | File not executable. | ||
+ | boot failed | ||
+ | Enter filename [/]: unix | ||
+ | boot: cannot open unix | ||
+ | Enter filename [kernel/ | ||
+ | boot: cannot open kernel/unix | ||
+ | </ |