Niels Horn's Blog

Random thoughts, tips & tricks about Slackware-Linux, Lego and Star Wars

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…

Bookmark and Share

This entry was posted on Thursday, November 20th, 2008 at 22:54 and is filed under Hercules, Linux, Slack/390, Slackware. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

7 Responses to “Hercules and Slackware (slack/390) – Part 5”

  1. robert Says:

    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.

  2. holson Says:

    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!

  3. BgEddy Says:

    Hey Niels. Great blog BTW. I have managed to get Slackware S390 working once before under Hercules but I’m trying it again and are having head scratching problems. I have tried the extra steps mentioned by Robert above but still no joy – I am forever getting networking problems when the install tests the IP addresses like this :
    Pinging the eth0 interface
    PING 192.168.1.162 (192.168.1.162): 56 data bytes
    64 bytes from 192.168.1.162: icmp_seq=0 ttl=64 time=2.7 ms
    64 bytes from 192.168.1.162: icmp_seq=1 ttl=64 time=0.3 ms
    64 bytes from 192.168.1.162: icmp_seq=2 ttl=64 time=0.6 ms

    — 192.168.1.162 ping statistics —
    3 packets transmitted, 3 packets received, 0% packet loss
    round-trip min/avg/max = 0.3/1.2/2.7 ms

    Pinging the gateway
    PING 192.168.1.1 (192.168.1.1): 56 data bytes
    ping: sendto: Network is unreachable

    Pinging the DNS server(s)
    PING 192.168.1.1 (192.168.1.1): 56 data bytes
    ping: sendto: Network is unreachable

    I cannot ping all the interfaces needed to make this work.
    Correct the problem and try again.
    root@herc-slack:/#

    Any tips are much appreciated (if you still check your comments here that is).
    Cheers,
    BgEddy

  4. Niels Horn Says:

    Hi,

    Yes, I still read these comments :)
    Did you setup the hercules.cnf file with the network adapters?
    With the right hercules configuration and the steps Robert mentioned it really should “just work”…

    Niels

  5. BgEddy Says:

    Yes – I have setup hercules.cnf currently contains this :
    ———————————————————————————————-
    MAINSIZE 256
    NUMCPU 1
    OSTAILOR LINUX
    PANRATE SLOW
    ARCHMODE ESA/390

    # reader
    000C 3505 ./rdr/vminstall.image-2.4.26.gcc-3.3.4.img ./rdr/parmfile.txt ./rdr/initrd.gz autopad eof

    # dasd
    0120 3390 ./dasd/3390.SLACK.0120
    0121 3390 ./dasd/3390.SLACK.0121

    # network
    0F00,0F01 LCS -n /dev/net/tun 192.168.1.162
    ———————————————————————————————-
    and just for completeness – here’s my rdr/parmfile.txt
    ———————————————————————————————-
    ramdisk_size=22528 root=/dev/ram0 ro ip=off
    DASD=120-121
    HOST=herc-slack.hn:eth0:192.168.1.162:1500
    NETWORK=192.168.1.0:255.255.255.0:192.168.1.255:192.168.1.1
    DNS=192.168.1.1
    SEARCHDNS=hn
    LCS=0xf00,1
    CHANDEV=noauto;lcs0,0xf00,0xf01
    QETHPARM=add_parms,0×04,0xf00,0xf01
    ———————————————————————————————-

    I’m really glad you keep up with the comments here – thanks for the reply.

  6. BgEddy Says:

    Hi Neil – I’m sorry for cluttering up the blog with my comments but just to let you know – I have installed Hebe and now I an running the install in that and everything seems to work. Not sure what I was doing wrong before but now all seems good – the install is running now. So I now have ArmedSlack running in Qemu and soon hopefully will have Slack/390 under Hercules – very cool Slackware overdose! Thanks again for the help.
    BgEddy

  7. Niels Horn Says:

    Hi,

    Good you got it to work :)

    I have the same collection: Slackware64 / ARMedslack (SheevaPlug + Qemu) / Slack/390 (Hercules) !

    Niels

Leave a Reply



XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

It may take some time for your comment to appear, it is not necessary to submit it again.