http://underpop.online.fr/n/nielshorn Random thoughts, tips & tricks about Slackware-Linux, Lego and Star Wars Fri, 09 Nov 2012 00:02:45 +0000 http://wordpress.org/?v=2.8.4 en hourly 1 http://underpop.online.fr/n/nielshorn/2010/11/hebe-0-4-released-slackware-package-available/ http://underpop.online.fr/n/nielshorn/2010/11/hebe-0-4-released-slackware-package-available/#comments Sun, 21 Nov 2010 11:21:36 +0000 Niels Horn http://underpop.online.fr/n/nielshorn/?p=883 hercules_logoVersion 0.4 of , the KDE GUI for Hercules, was released recently.

It brings the following improvements:

Here is a screenshot of the new version, running the standard Hercules setup and my Slack/390 installation simultaneously:


The two virtual machines are shown as tabs and you can easily switch between them.

The updated SlackBuild script has been submitted to and pre-built versions for Slackware and Slackware64 are available on my .

]]> http://underpop.online.fr/n/nielshorn/2010/11/hebe-0-4-released-slackware-package-available/feed/ 0 http://underpop.online.fr/n/nielshorn/2010/06/hebe-new-gui-for-hercules/ http://underpop.online.fr/n/nielshorn/2010/06/hebe-new-gui-for-hercules/#comments Mon, 28 Jun 2010 03:29:33 +0000 Niels Horn http://underpop.online.fr/n/nielshorn/?p=445 On the mailing list I read about a new graphical interface for Hercules on Linux, designed for KDE 4.4.
It is called ““, after Hercules’ wife (according to Greek mythology).

Hebe is described on its homepage as:

Hebe is a new KDE 4.4 front-end GUI for the Hercules z/Arch emulator. It was designed to have a modern look, like the VirtualBox interface; there are no dials! Hebe provides two consoles, one for Hercules and one for the SCP (system control program), AKA, the operating system. Input is automatically routed to the correct receiver. You can start as many instances of Hercules as your hardware can support.

I am not a big KDE fan, but I have all the libraries installed, as they come with Slackware, so the program works fine even under Xfce.

Using the standard cmake-template.SlackBuild, I put together a script in just a couple of minutes, which I submitted to .

The resulting program looks really nice:

One really nice feature is the capability to run several copies of Hercules at the same time through one single interface.

For the inpatient, pre-built packages can be downloaded from my .

]]> http://underpop.online.fr/n/nielshorn/2010/06/hebe-new-gui-for-hercules/feed/ 0 http://underpop.online.fr/n/nielshorn/2010/02/benchmarking-with-nbench/ http://underpop.online.fr/n/nielshorn/2010/02/benchmarking-with-nbench/#comments Mon, 15 Feb 2010 17:07:37 +0000 Niels Horn http://underpop.online.fr/n/nielshorn/?p=205 Since I was doing some tests with Slackware running on different platforms (Slack/390, Slack/390x, ArmedSlack on Qemu, etc.) I wanted to compare the performance of the different setups.

I used a (quite old) utility called that was originally written in 1995 but still is a simple way to compare how processors perform, emulated or real. And it has a nice advantage that it can be built on x86, s390 and Arm processors without problems.

Here is the result of Slack/390x-11.0 running in Hercules 3.06 with two emulated processors:

BYTEmark* Native Mode Benchmark ver. 2 (10/95)
Index-split by Andrew D. Balsa (11/97)
Linux/Unix* port by Uwe F. Mayer (12/96,11/97)
TEST : Iterations/sec. : Old Index : New Index
 : : Pentium 90* : AMD K6/233*
--------------------:------------------:-------------:------------
NUMERIC SORT : 34.476 : 0.88 : 0.29
STRING SORT : 3.012 : 1.35 : 0.21
BITFIELD : 8.3237e+06 : 1.43 : 0.30
FP EMULATION : 2.3056 : 1.11 : 0.26
FOURIER : 70.649 : 0.08 : 0.05
ASSIGNMENT : 0.35083 : 1.33 : 0.35
IDEA : 94.416 : 1.44 : 0.43
HUFFMAN : 34.368 : 0.95 : 0.30
NEURAL NET : 0.10472 : 0.17 : 0.07
LU DECOMPOSITION : 3.5645 : 0.18 : 0.13
==========================ORIGINAL BYTEMARK RESULTS==========================
INTEGER INDEX : 1.194
FLOATING-POINT INDEX: 0.136
Baseline (MSDOS*) : Pentium* 90, 256 KB L2-cache, Watcom* compiler 10.0
==============================LINUX DATA BELOW===============================
CPU : Dual IBM/S390
L2 Cache :
OS : Linux 2.4.33.3
C compiler : gcc version 3.4.6
libc :
MEMORY INDEX : 0.278
INTEGER INDEX : 0.314
FLOATING-POINT INDEX: 0.075
Baseline (LINUX) : AMD K6/233*, 512 KB L2-cache, gcc 2.7.2.3, libc-5.4.38
* Trademarks are property of their respective holder.

And here is the result of ArmedSlack running in Qemu:

BYTEmark* Native Mode Benchmark ver. 2 (10/95)
Index-split by Andrew D. Balsa (11/97)
Linux/Unix* port by Uwe F. Mayer (12/96,11/97)
TEST : Iterations/sec. : Old Index : New Index
 : : Pentium 90* : AMD K6/233*
--------------------:------------------:-------------:------------
NUMERIC SORT : 199.84 : 5.13 : 1.68
STRING SORT : 22.453 : 10.03 : 1.55
BITFIELD : 9.048e+07 : 15.52 : 3.24
FP EMULATION : 28.281 : 13.57 : 3.13
FOURIER : 139.34 : 0.16 : 0.09
ASSIGNMENT : 4.4836 : 17.06 : 4.43
IDEA : 922.7 : 14.11 : 4.19
HUFFMAN : 322.93 : 8.95 : 2.86
NEURAL NET : 0.26406 : 0.42 : 0.18
LU DECOMPOSITION : 8.8432 : 0.46 : 0.33
==========================ORIGINAL BYTEMARK RESULTS==========================
INTEGER INDEX : 11.288
FLOATING-POINT INDEX: 0.313
Baseline (MSDOS*) : Pentium* 90, 256 KB L2-cache, Watcom* compiler 10.0
==============================LINUX DATA BELOW===============================
CPU :
L2 Cache :
OS : Linux 2.6.32.7-versatile
C compiler : gcc version 4.4.3 (GCC)
libc : libc-2.11.1.so
MEMORY INDEX : 2.814
INTEGER INDEX : 2.819
FLOATING-POINT INDEX: 0.174
Baseline (LINUX) : AMD K6/233*, 512 KB L2-cache, gcc 2.7.2.3, libc-5.4.38
* Trademarks are property of their respective holder.

And finally, my host system where Hercules and Qemu run:

BYTEmark* Native Mode Benchmark ver. 2 (10/95)
Index-split by Andrew D. Balsa (11/97)
Linux/Unix* port by Uwe F. Mayer (12/96,11/97)
TEST : Iterations/sec. : Old Index : New Index
 : : Pentium 90* : AMD K6/233*
--------------------:------------------:-------------:------------
NUMERIC SORT : 1339.8 : 34.36 : 11.28
STRING SORT : 282.56 : 126.26 : 19.54
BITFIELD : 5.6507e+08 : 96.93 : 20.25
FP EMULATION : 186.88 : 89.67 : 20.69
FOURIER : 30009 : 34.13 : 19.17
ASSIGNMENT : 38.938 : 148.16 : 38.43
IDEA : 8292 : 126.82 : 37.65
HUFFMAN : 2983.2 : 82.72 : 26.42
NEURAL NET : 61.4 : 98.63 : 41.49
LU DECOMPOSITION : 1939.9 : 100.50 : 72.57
==========================ORIGINAL BYTEMARK RESULTS==========================
INTEGER INDEX : 92.652
FLOATING-POINT INDEX: 69.676
Baseline (MSDOS*) : Pentium* 90, 256 KB L2-cache, Watcom* compiler 10.0
==============================LINUX DATA BELOW===============================
CPU : Dual GenuineIntel Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz 3010MHz
L2 Cache : 6144 KB
OS : Linux 2.6.32.7-custom64
C compiler : gcc version 4.4.3 (GCC)
libc : libc-2.11.1.so
MEMORY INDEX : 24.774
INTEGER INDEX : 21.953
FLOATING-POINT INDEX: 38.645
Baseline (LINUX) : AMD K6/233*, 512 KB L2-cache, gcc 2.7.2.3, libc-5.4.38

As you can see, the S/390 emulation is the one that suffers most. The new s390x 64-bits version performs a bit faster, but the processor on the host machine tops at 100% during more complex tasks.

I won’t put all the different (i486 / x86_64 / arm / s390 / s390x) packages on my site, but I’ll submit the SlackBuild script to , so that you can build them yourself on your machines.

]]> http://underpop.online.fr/n/nielshorn/2010/02/benchmarking-with-nbench/feed/ 2 http://underpop.online.fr/n/nielshorn/2010/02/slack390-11-0-64-bits-up-and-running/ http://underpop.online.fr/n/nielshorn/2010/02/slack390-11-0-64-bits-up-and-running/#comments Sun, 14 Feb 2010 04:05:07 +0000 Niels Horn http://underpop.online.fr/n/nielshorn/?p=189 Today Carnival started her in Brazil. Well, I’m Dutch so I don’t care too much about all the festivities (it is a nice party though).

So what better to do than finally test the 64-bits version of ? :d

I wrote an 11-part post about installing Slack/390 on Hercules more than a year ago, and it is still valid and can be used for installing the newer version of Slack/390 as well – at least for about 90%.
I did encounter some problems though, but the 64-bits version of Slack/390 is still in the testing phase, so we should give it some credit.

What went wrong:

I managed to solve all problems one by one and installed SlackPkg from /extra afterwards to update my installation with the latest packages.
I sent my findings to the maintainers of Slack/390 to that future users won’t have the same challenges that I had :)

I might write a new series of posts on installing Slack/390, with updated information, but I’ll probably wait until the new version is a bit more stable.

For now, I’m having fun with my new 2x 64-bits emulated Mainframe running Slackware!

]]> http://underpop.online.fr/n/nielshorn/2010/02/slack390-11-0-64-bits-up-and-running/feed/ 0 http://underpop.online.fr/n/nielshorn/2009/09/gui-for-hercules-on-linux/ http://underpop.online.fr/n/nielshorn/2009/09/gui-for-hercules-on-linux/#comments Tue, 08 Sep 2009 02:57:00 +0000 Niels Horn http://underpop.online.fr/n/nielshorn/blog/?p=53 Today Jakob Dekel released the first beta version of , a GUI front-end for – the System/370, ESA/390 and z/Architecture emulator.

On his site you can find pre-built packages in RPM and DEB format.
For us Slackware users, I created Slackware packages as well, after getting some extra information from a very friendly Jacob Dekel.

The packages for Slackware, both 32 & 64 bits versions, can be downloaded from my site .
The stable 3.06 version of Hercules is not prepared for a Linux GUI, so you will need the latest svn snapshot, also available as a Slackware package on the same page.

The result can be seen here:

]]> http://underpop.online.fr/n/nielshorn/2009/09/gui-for-hercules-on-linux/feed/ 0 http://underpop.online.fr/n/nielshorn/2009/09/slackware-packages-for-hercules/ http://underpop.online.fr/n/nielshorn/2009/09/slackware-packages-for-hercules/#comments Mon, 07 Sep 2009 02:39:00 +0000 Niels Horn http://underpop.online.fr/n/nielshorn/blog/?p=52 I have received a few requests for pre-built Slackware packages for the System/370, ESA/390 and z/Architecture emulator.

I have used Hercules for some time now to run Slack/390 and had already created my own package, but it was not really up to the right standards to be published.

But, with the release of Slackware 13.0 I have reorganized some of my packages and built new ones following the guidelines of .

The result can be downloaded from my site:

]]> http://underpop.online.fr/n/nielshorn/2009/09/slackware-packages-for-hercules/feed/ 0 http://underpop.online.fr/n/nielshorn/2009/05/another-update-for-slack390/ http://underpop.online.fr/n/nielshorn/2009/05/another-update-for-slack390/#comments Sat, 30 May 2009 23:25:00 +0000 Niels Horn http://underpop.online.fr/n/nielshorn/blog/?p=45 Just a quick note…

xpdf has been updated for .
This is a security patch, so update your -current system with without further ado! ;-)

In the mean time: I’ve been playing around with . I’m just waiting for an opportunity to test it on real hardware, but for the moment I’m running it on the ARM emulator.

Expect some posts on ARMed slack in the near future…

]]> http://underpop.online.fr/n/nielshorn/2009/05/another-update-for-slack390/feed/ 0 http://underpop.online.fr/n/nielshorn/2009/05/using-slackpkg-on-slack390/ http://underpop.online.fr/n/nielshorn/2009/05/using-slackpkg-on-slack390/#comments Sat, 02 May 2009 17:33:00 +0000 Niels Horn http://underpop.online.fr/n/nielshorn/blog/?p=43 As promised in my previous post, some instructions to use SlackPkg in Slack/390 to keep your installation up-to-date.

After almost two years without activiry, the maintainers have released some patches / upgrades for Slack/390 – both the -stable and the -current versions.
Since I use SlackPkg on my other Slackware installations (12.1, 12.2 & -current), I wanted to use this same tool in my Slack/390 installation.

First i tried with the version that is included in /extra in Slack/390, but it is quite old (1.4, from 2005) and it simply didn’t work.

The first problem is that the big majority of packages on the Slack/390 mirrors do not have the associated xxxx.tgz.asc file, which contain the GPG ckecksum of the package.
This was simple to resolve, setting CHECKGPG=off in /etc/slackpkg/slackpkg.conf

But the second problem I encountered was with the naming of some files on the Slack/390 mirrors that differs from the ‘main’ Slackware version:

I remembered from the newer versions that there was an option for the ‘architecture’, so I decided to try SlackPkg 2.70.5 from slackware-12.2
It can be downloaded or any valid Slackware mirror.
Since SlackPkg is written as a collection of scripts and marked as “noarch”, I expected no problems.

So I downloaded the package, upgraded the 1.4 version with upgradepkg and edited /etc/slackpkg/slackpkg.conf
I commented out the ’standard’ x86 architecture and uncommented the ARCH=s390 line.
But no luck yet… Still the same problems with the differences in the file names.

At this moment I reached the conclusion that I had to ‘hack’ the SlackPkg scripts to get it working.

I ended up modifying two files, /usr/bin/slackpkg & /usr/libexec/slackpkg/core-functions.sh

The first patch is to the main slackpkg script and defines a variable ’subARCH’ to insert the “.s390″ text in the filenames in case the ARCH is s390:

--- slackpkg.orig 2009-04-10 23:44:49.000000000 -0300
+++ /usr/sbin/slackpkg 2009-04-10 23:57:28.000000000 -0300
@@ -40,6 +40,7 @@
SOURCE=$(grep -e "^\([a-z]\)" $CONF/mirrors)
. $CONF/slackpkg.conf
ARCH=${ARCH:-i[3456]86}
+[ "$ARCH" = "s390" ] && subarch=".s390"
LOCAL=0
KERNELMD5=$(md5sum /boot/vmlinuz 2>/dev/null)
TMPDIR=$(mktemp -p /tmp -d slackpkg.XXXXXX 2>/dev/null || echo "FAILED")

The second patch is to the core-functions script and inserts the $subARCH variable in the filenames:

--- core-functions.sh.orig 2009-04-10 23:53:19.000000000 -0300
+++ /usr/libexec/slackpkg/core-functions.sh 2009-04-11 00:02:49.000000000 -0300
@@ -618,16 +618,16 @@
#
echo -e "\t\tList of all files"
for i in $FIRST $SECOND $THIRD $FOURTH $FIFTH ; do
- getfile ${i}/MANIFEST.bz2 $TMPDIR/${i}-MANIFEST.bz2 && \
+ getfile ${i}/MANIFEST${subARCH}.bz2 $TMPDIR/${i}-MANIFEST.bz2 && \
dirs="$dirs $i"
done

echo -e "\t\tPackage List"
- getfile FILELIST.TXT $TMPDIR/FILELIST.TXT
+ getfile FILELIST.TXT${subARCH} $TMPDIR/FILELIST.TXT

if [ "$CHECKPKG" = "on" ]; then
echo -e "\t\tChecksums"
- getfile CHECKSUMS.md5 ${TMPDIR}/CHECKSUMS.md5
+ getfile CHECKSUMS${subARCH}.md5 ${TMPDIR}/CHECKSUMS.md5
fi
cp $TMPDIR/CHECKSUMS.md5 $WORKDIR/CHECKSUMS.md5

@@ -635,7 +635,7 @@
#
echo -e "\t\tPackage descriptions"
for i in $DIRS; do
- getfile ${i}/PACKAGES.TXT $TMPDIR/${i}-PACKAGES.TXT
+ getfile ${i}/PACKAGES${subARCH}.TXT $TMPDIR/${i}-PACKAGES.TXT
done

# Format FILELIST.TXT

With these changes, I got SlackPkg working in my Slack/390 installation!

There are still some problems, but they depend on some cleaning up of the Slack/390 mirrors.
In the following image you can see that SlackPkg wants to “upgrade” some packages to older versions:


The fact that SlackPkg want to “downgrade” itself to version 1.4 is understandable, as it is the official version for Slack/390.
The suggestions to downgrade abiword, gftp and gucharmap are caused by the fact that these packages exist two times on the mirrors, once in slackware/gnome (the older versions) and once in slackware/xap (the newer versions).
I wrote about these inconsistencies to s390support@slackware.com but unfortunately have not received any answers yet.

Even with these minor problems, keeping your Slack/390 installation is a lot simpler now with a working SlackPkg!

]]> http://underpop.online.fr/n/nielshorn/2009/05/using-slackpkg-on-slack390/feed/ 0 http://underpop.online.fr/n/nielshorn/2009/05/update-on-slack390/ http://underpop.online.fr/n/nielshorn/2009/05/update-on-slack390/#comments Fri, 01 May 2009 22:22:00 +0000 Niels Horn http://underpop.online.fr/n/nielshorn/blog/?p=42 For those who have been following my posts on installing Slack/390 on Hercules:
There has been a security update this week – see the

I recently managed to patch a current version of SlackPkg to work on Slack/390 (the version included in /extra does not work).
I’ll try to organize my notes during the following days and publish the patch so that everyone can keep Slack/390 updated with this wonderful tool :)

]]> http://underpop.online.fr/n/nielshorn/2009/05/update-on-slack390/feed/ 0 http://underpop.online.fr/n/nielshorn/2008/11/hercules-and-slackware-slack390-part-11/ http://underpop.online.fr/n/nielshorn/2008/11/hercules-and-slackware-slack390-part-11/#comments Sat, 22 Nov 2008 02:24:00 +0000 Niels Horn http://underpop.online.fr/n/nielshorn/blog/?p=37 …Continuing from

Final configuration and IPLing Slack390

The setup program configured our network, but missed some important details we need to get our network up and running.

1) Loading the network adapter kernel module at boot time

Since we selected to use the LCS we need to load the kernel module that supports it.
This is done by editing the /etc/rc.d/rc.modules file.
I personally prefer VI as an editor, but use whatever you’re more familiar with (and is available in our limited ‘live’-system).
If you use VI, search for ‘lcs’ (hint: open the file with ‘vi /etc/rc.d/rc.modules’ and type ‘/lcs’ + Enter – it’s at line 69) and remove the ‘#’ at the beginning of the line that reads:

#/sbin/modprobe lcs

(hint: press ‘Home’ to go to the beginning of the line, ‘d’ + ’space’ to delete the ‘#’)

Now save the modified file (hint: press ‘:’ + ‘wq’ + Enter)

2) Setting the options for the lcs kernel module

We also need to tell the lcs kernel module the device number of our emulated LCS.
So we create a /etc/modprobe.conf file with the needed information by typing this line:
# echo "options lcs 0xf00,1" > /etc/modprobe.conf

3) Repeating the chandev information from parmfile.txt

To finish, we need to create the /etc/chandev.conf file with the information we put in our original parmfile.txt:
# echo "lcs0,0xf00,0xf01" > /etc/chandev.conf

4) Shutdown our system

Now everything is ready to shutdown our running system, so just enter:
# halt
and press Enter.

Our telnet session will be closed so we’ll change to the Hercules console, where we’ll see the following lines:


Now quit from Hercules to guarantee a clean start by typing ‘quit’ after the Commmand ==> prompt.

5) IPLing our Slack/390 installation for the first time

Start Hercules again and IPL from the first DASD (device number 0120) by typing ‘ipl 120′ after the Commmand ==> prompt.

Since we selected to start the SSH daemon at boot time, Slack/390 will create three public / private key pairs, one each for rsa1, dsa and rsa.
This will take some time (especially the dsa key pair), depending on your processing power (like 10 to 30 minutes).
You’ll see – amongst others – the following lines on the Hercules console:

Starting OpenSSH SSH daemon: /usr/sbin/sshd
Generating public/private rsa1 key pair.
Generating public/private dsa key pair.
Generating public/private rsa key pair.

This only occurs the first time you IPL your Slack/390. All the other times it will be a lot faster.

The last line on the Hercules console will be:

bash-3.00#

This means that Slack/390 was loaded and is ready to receive connections.

6) Connecting to your Slack/390 system

Now go back to your normal console on your host system.
For security reasons, telnet sessions are not allowed, so we’ll have to use ssh from now on.
Connect to your Slack/390 system from your host system (or any other system on your network) with the following command:
$ ssh root@192.168.1.162

The first time you connect to your new Slack/390 system you’ll see the following lines:

The authenticity of host '192.168.1.162 (192.168.1.162)' can't be established.
RSA key fingerprint is df:27:56:56:4b:c3:30:aa:c5:dc:94:2e:21:93:c3:af.
Are you sure you want to continue connecting (yes/no)?

Simply answer ‘yes’ to continue and you’ll see these lines:

Warning: Permanently added '192.168.1.162' (RSA) to the list of known hosts.
root@192.168.1.162's password:

Enter the password for root you defined and you’ll get this prompt:

Linux 2.4.29.
root@herc-slack:~#

Congratulations! You finished installing Slack/390 on your (emulated) mainframe!

7) Where to go from here

First of all, create a normal user with ‘adduser’ so that you don’t have to use root to login to your mainframe.

And then? Well, depending on your processing power, there are many fun things to do, like configuring the http daemon to run a webserver on your mainframe, with mysql. Or configure samba, so that you can access it from Windows desktops.

Or start browsing the web with lynx to check for updates of Slack/390:


Oh, but you complain that there are no graphics?
We have graphics on our mainframe! Just enter ‘info aalib’ and you’ll see what I mean:

]]> http://underpop.online.fr/n/nielshorn/2008/11/hercules-and-slackware-slack390-part-11/feed/ 2