Solaris 2.6 on QEMU part 2: wget

Installing wget

First I needed a better way of transferring files into the VM than using HTTP. A suggestion from Hacker News was that tftp is simple, well supported and would probably work with a tftp server installed on Debian. I installed tftpd-hpa

Once that is installed, it makes a default directory in a slightly odd spot (/srv/tftp) but no matter. Start dumping your files into that directory.

Minimal packages required from tgcware

gcc-2.95.3-2.tgc-sunos5.6-sparc-tgcware.gz
gettext-0.19.8.1-1.tgc-sunos5.6-sparc-tgcware.gz
gzip-1.5-1.tgc-sunos5.6-sparc-tgcware
libgcc_s1-4.3.6-2.tgc-sunos5.6-sparc-tgcware.gz
libiconv-1.15-1.tgc-sunos5.6-sparc-tgcware.gz
libidn2-2.3.2-1.tgc-sunos5.6-sparc-tgcware.gz
libssp0-4.3.6-2.tgc-sunos5.6-sparc-tgcware.gz
libstdc++6-4.3.6-2.tgc-sunos5.6-sparc-tgcware.gz
openssh-8.8p1-1.tgc-sunos5.6-sparc-tgcware.gz
openssl-1.0.2u-6.tgc-sunos5.6-sparc-tgcware.gz
pcre-8.42-1.tgc-sunos5.6-sparc-tgcware.gz
perl-5.28.1-1.tgc-sunos5.6-sparc-tgcware.gz
prngd-0.9.29-1.tgc-sunos5.6-sparc-tgcware.gz
wget-1.20.3-1.tgc-sunos5.6-sparc-tgcware.gz
zlib-1.2.11-1.tgc-sunos5.6-sparc-tgcware.gz

Once all those are placed in /srv/tftp on your host, you painstakingly transfer them one by one to the VM. (note, chungus is the host, oldtimer is the sparc Solaris VM)

$ tftp
tftp> connect chungus
tftp> get gzip-1.5-1.tgc-sunos5.6-sparc-tgcware
Received 348016 bytes in 2.9 seconds
tftp> quit
oldtimer% su
Password: 
# ls gzip*
gzip-1.5-1.tgc-sunos5.6-sparc-tgcware
# pkgadd -d ./gzip*

The gzip package should come first (note, it isn't gzipped for obvious reasons). Once you have that, grab all the other *.gz packages, unpack them (perhaps even add /usr/tgcware/bin to your path) and start installing. pkgadd complains about missing packages but it doesn't really care about the order you install everything, just do it all and the share libraries will sort themselves out

The limits of tftp

Unfortunately, the perl package times out transferring over tftp on my setup so I couldn't transfer it. However, once you install everything else in this list you have enough stuff to make wget work. There are a couple of wrinkles though, the SSL infrastructure won't work unless you have a running random number generator (that's prngd). For prngd to work you need to make a device (you need to be root for the next couple of steps):

# mknod -m 644 /dev/random c 1 8

and you also need to start the prngd daemon. The package manager sets this up so the prngd daemon is started when you reboot, but I don't want to reboot, so as root I just started the init script. Wow, I am rusty at this stuff, systemd does all this kind of stuff now:

# /etc/init.d/tgc_prngd start

Now it's running, not only can you successfully wget, you can also ssh! Which means you can switch over to using scp to copy files. I used wget to grab the perl package directly from the TGCware website instead. Now we're getting somewhere...uh oh

Likely I haven't got something installed to do with openssl but since we can use --no-check-certificate, I just did that for now. Unfortunately, I have successfully grabbed the perl package, unzipped it, attempted to install it with pkgadd and promptly ran out of disk space. Next up: trying to fix that (somehow).

Edit: The WebOne proxy

Turns out that HotJava can be made sorta useful by proxying any SSL requests through an external resource. In my case I installed WebOne, a nifty little project that turns your ancient web browser into something useful

The SmartShepherd website doesn't use a lot of Javascript, it's ASP.NET Core so everything is built on the server and served up as html / css. HotJava doesn't do much with css (well, it can't do anything with it) but the overall page is OK and the text survives. Result!

Yeah, I can hear to sniggering back there. It's isn't "we bone", it's "web one"

Popular posts from this blog

Tailscale ate my network (and I love it)

Stupid stunts with WSL2 , Python3 and AWS ECS

Time machine: Solaris 2.6 on QEMU