The Pinebook is an amazing little piece of hardware, and with the price tag of 100 USD a great way how to learn computer basics and enjoy it in the meantime.
I have decided to cover my experience with NetBSD -current (thanks to Jared McNiell http://www.invisible.ca/arm/) which now runs very well off the microSD cards. Only drawback is that currently you need to use an external USB wireless interface, since the native is not supported by NetBSD yet.
I have been quite busy building pkgsrc packages for this device and upload them regularly here : http://45.76.81.249/pkgsrc/pinebook/netbsd-aarch64/All/
So far I have built quite a number of various emulators that run on the arm64 NetBSD platform, most notably :
- SimH vax (VAX OpenVMS 7.3)
- Qemu ppc64 (AIX 7.2)
- GXemul mips (Ultrix 4.5.0)
- DOSBox i386
- Hercules ESA/390 (MVS 3.8 )
We will be covering how to setup the Hercules and MVS 3.8 (TK4 system) on the amr64 NetBSD platform.
Assuming we have all in place (NetBSD is running on the Pinebook off microSD and we have an internet connection) following was done:
Compile /usr/pkgsrc/emulators/hercules from the pkgsrc framework
Since the latest pkgsrc hercules Makefile is for hercules-3.11 we need to change it to something more recent, latest version of Hercules is 3.13 (not considering the Hyperion branch of Hercules 4.0)
So we need to change the Makefile so that we include the latest version
# vi /usr/pkgsrc/emulators/hercules/Makefile DISTNAME= hercules-3.13 # make install clean clean-depends
Once we have Hercules built we move on to compile the IBM 3278/3279 terminal emulator for X windows
# cd /usr/pkgsrc/x11/x3270 # make install clean clean-depends
With these ready we can move on to download the The MVS 3.8j Tur(n)key 4 – System
$ mkdir TK4 $ cd TK4 $ wget http://wotho.ethz.ch/tk4-/tk4-_v1.00_current.zip $ unzip tk4-_v1.00_current.zip $ rm tk4-_v1.00_current.zip - Remove hercules directory since we are on NetBSD $ rm -rf hercules
Next we move on to edit the tk4-.cnf configuration file so we can include 2 CPUs from the Pinebook since it runs on Quad-Core ARM Cortex A53
In the TK4 directory edit the conf/tk4_.cnf as follows CPUSERIAL 000699 CPUMODEL 2064 NUMCPU:=2 MAXCPU:=2
We are doing this because TK4 bundle does not ship with NetBSD arm64 binaries obviously and we cannot use the native automatic shell-script loader start_herc
Thanks to the wonderful video blog of Moshix https://www.youtube.com/watch?v=pdtddmdpTZk I have borrowed his idea on running Hercules TK4 on S390x SUSE Linux and translated it to NetBSD arm64 world.
Start hercules
# hercules -f conf/tk4-.cnf
Once in the Hercules prompt we do the following:
We IPL to dasd address 148
Command ==> ipl 148
We do not want automatic IPL of MVS so we start with command 03 because
the TK4 is configured to autoload properly on Intel and we don’t want
some things to run so we use manual load
Command ==> /r 00,cmd=03 "Wait a couple of moments till you see" HHCCD002I Writer thread 2 started: tid=Fxxxxxx, pid=xxxxx
We check where we are
Command ==> /d a,l "We should see 0000 TIME SHARING USERS"
We need to start manually the Job Entry Subsystem 2 before anything else
Command ==> /s jes2
We specify next the startup options
Command ==> /r 00,noreq "We should see this last line" $HASP099 ALL AVAILABLE FUNCTIONS COMPLETE
We check if jes2 is up
Command ==> /$da "If yes we should see" $HASP000 NO ACTIVE JOBS
We now start a VTAM which is a job procedure called net
Command ==> /s net "We should see after a few moments" IST093I N1x ACTIVE (N07 - N15)
We check where we are
Command ==> /d a,l
And finally launch TSO
Command ==> /s tso
Now it should be a good time to connect to the emulated MVS via x3270
Start x3270 terminal and connect to 127.0.0.1:3270
It is a good idea to read some documentation first before using the MVS :)
http://wotho.ethz.ch/tk4-/MVS_TK4-_v1.00_Users_Manual.pdf
The login details to the TSO are:
Login as herc01 passsword: CUL8TR
To Shut down MVS properly please follow this procedure
Also possible is to run the MTS (Michigan Terminal System) MTS has been made available to run/test/learn here https://sites.google.com/site/michiganterminalsystem/mts-d60A
To summarize we need to get the following
- A copy of the MTS d6.0A.zip archive is available for download from the MTS Archive (79MB, 18 January 2012).
- An updated version of the hercules.cnf file for use with MTS D6.0A (1KB, 19 January 2012). The update corrects a problem with the case of the simulated disk file, should be mts600.dsk, but was MTS600.dsk.
- In addition to the d6.0A.zip archive, it is recommended that the d6.0.tar.gz archive be downloaded as well since it contains the full set of D6.0 *FS distribution tapes and a number of documentation files that will be useful when using D6.0A. The d6.0.tar.gz archive may be downloaded from http://bitsavers.org/bits/univOfMichigan/mts/d6.0.tar.gz.
A very well documented visual guide is here http://archive.michigan-terminal-system.org/documentation/screenshorts-of-d6-0-and-d6-0a-under-hercules