Thursday, November 20, 2008

Hercules and Slackware (slack/390) - Part 5

...Continuing from Part 4

Getting ready for our first IPL

Yes, we're really almost there :-)

1) Checking the virtual network adapter

There is still one small problem.
Hercules emulates a network adapter, but of course it only exists virtually. In the hercules.cnf file we defined that is uses /dev/net/tun
This is a virtual network tunnel used in many emulators and VPNs.

Check on your host system if you have the /dev/net/tun device. If you don't, you can dynamically load the kernel module for it:
# modprobe tun

Instead of loading it manually after every boot, you can add it to your /etc/rc.d/rc.local script or any other way you prefer.

2) Starting Hercules

Change to your (install) directory and start hercules from the command line:

# cd (install)
# hercules

You'll see the Hercules command console we saw in part 1 of these posts, and if everything worked out fine, you should see these lines:

...
HHCDA020I ./dasd/3390.SLACK.0120 cyls=3339 heads=15 tracks=50085 trklen=56832
HHCDA020I ./dasd/3390.SLACK.0121 cyls=3339 heads=15 tracks=50085 trklen=56832
HHCLC073I 0F00: TAP device tap0 opened
...
Command ==>

The two lines showing the DASDs tell us that both files were found without problems.
The third line shows us that the 'tap' adapter was found as well.

3) IPLing into the kernel

Now we're ready for our first IPL (Initial Program Load, or 'boot' of the mainframe).

At the Hercules 'Command ==>' prompt, type:
ipl c
and Enter.
- ipl is the command to do the Initial Program Load
- c is the device we will load our initial program from (remember we defined 000c as our virtual card reader in hercules.cnf)

A lot of text will scroll by, just as when we boot our Linux desktop.
When the ram disk is loaded, the text will pause while the contents is being uncompressed:

RAMDISK: Compressed image found at block 0

When the network is being configured, you will see this message:

----------------------------------------------------------------------
Starting the Slack/390 S/390 initrd to configure networking, version 0.71
----------------------------------------------------------------------

Afterwards, the network is tested by pinging the local (emulated) adapter, the gateway and the name server.

Then the DASDs are connected and several file system modules are loaded.

If everything works fine, you'll see the following message:



4) Testing the network and connecting through telnet

Open a second console on your host and try to ping your new mainframe:
$ ping -c 3 192.168.1.162

It should respond normally, so let's connect to it with telnet:
$ telnet 192.168.1.162

The result should be:


This is just like booting a Slackware CD or DVD, just a bit different ;-)


Next post: formatting and partitioning our storage...

Labels: , , ,

2 Comments:

Blogger Unknown said...

First off, Phenomenal walkthrough!!!
One comment on this page: using the LCS vs. CTCI adapter, I had to manually "type up" the ethernet adapter tap0 on the Host immediately after seeing the "Starting the Slack/390 networking" message. (ifconfig eth0 20.0.0.1 netmask 255.255.255.0 up), otherwise the the host side connector would never come up.
I also had to enable ip-forwarding: "echo 1 > /proc/sys/net/ipv4/ip_forward", and I setup nat: "iptables -t nat -A POSTROUTING -j MASQUERADE", in order to get the slack-390 to finish it's network testing.

August 3, 2009 at 11:48 AM  
Blogger niels.horn said...

You're right about these extra steps. Since I use this box for various other virtual machines (w/ qemu), I had already setup ip forwarding.
Thanks for the reminder!

August 3, 2009 at 12:45 PM  

Post a Comment

Subscribe to Post Comments [Atom]

<< Home