mirror of
https://github.com/SDL-Hercules-390/hyperion.git
synced 2026-04-27 14:06:28 +02:00
422 lines
18 KiB
HTML
422 lines
18 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN" "html.dtd">
|
|
<HTML>
|
|
<HEAD><TITLE>
|
|
Hercules Version 2: Installation and Operation</TITLE>
|
|
<LINK REL=STYLESHEET TYPE="text/css" HREF="hercules.css">
|
|
</HEAD>
|
|
<BODY BGCOLOR="#ffffcc" TEXT="#000000" LINK="#0000A0"
|
|
VLINK="#008040" ALINK="#000000">
|
|
|
|
<h1>Installing and Operating Hercules Version 2</h1>
|
|
|
|
<h2>Installation Procedure</h2>
|
|
<h3>Building from source</h3>
|
|
<p>These instructions apply to the Linux version. Volker Bandke has
|
|
instructions on how to build the Win32 version at <a
|
|
href="http://www.bsp-gmbh.com/hercules/nude_w32.html">http://www.bsp-gmbh.com/hercules/nude_w32.html</a>.
|
|
<ol>
|
|
<li>Download the distribution file
|
|
<a href="hercules-2.17.tar.gz">hercules-2.17.tar.gz</a>
|
|
<p>
|
|
<em>Notes:</em>
|
|
<ol>
|
|
<li>By downloading this file you agree to the terms
|
|
of the <a href="herclic.html">Q Public Licence</a>.
|
|
<li>IE4 may report "problem with security settings or file does
|
|
not exist" when downloading this file. I do not know why.
|
|
If you experience this problem, use IE5 or Netscape Navigator
|
|
instead.
|
|
</ol>
|
|
<p>
|
|
<li>Use these commands to unzip the distribution file:
|
|
<pre>tar xvzf ../hercules-2.17.tar.gz
|
|
cd hercules-2.17</pre>
|
|
<li>Configure Hercules for your system:
|
|
|
|
<p><code>./configure</code>
|
|
|
|
<p>By default, the configure script will attempt to guess appropriate
|
|
compiler optimization flags for your system. If its guesses
|
|
turn out to be wrong, you can disable all optimization by
|
|
passing the <code>--disable-optimization</code> option to
|
|
configure, or specify your own optimization flags with
|
|
<code>--enable-optimization=FLAGS</code>
|
|
|
|
<p>For additional configuration options, run <code>./configure
|
|
--help</code>
|
|
|
|
<li>Build the executables: <p><code>make</code>
|
|
|
|
<li>Install the programs: as root: <p><code>make install</code>
|
|
</ol>
|
|
|
|
<em>Important:</em>
|
|
You must use the egcs compiler and the glibc2 library.
|
|
Refer to the <a href="hercfaq.html#software">
|
|
Hercules Frequently-Asked Questions</a> page for required
|
|
compiler and other software levels.
|
|
|
|
<h3>Installing prebuilt RPMs:</h3>
|
|
<ol>
|
|
<li>Download the RPM file you want:
|
|
<ul>
|
|
<li><a href="hercules-2.17-1.i386.rpm">hercules-2.17-1.i386.rpm</a>: Intel
|
|
</ul>
|
|
<li>Install the RPM:
|
|
<br><code>rpm -Uvh</code> <i>RPMfile</i>
|
|
</ol>
|
|
This will leave the Hercules executables in /usr/bin, where you can run them
|
|
from anywhere. Sample configuration files will be placed in /etc/hercules,
|
|
and the IPLable card deck for the ZZSA standalone utility will be placed in
|
|
/var/share/hercules.
|
|
|
|
<h3>Installing Debian packages:</h3>
|
|
|
|
Debian packages are available for "woody" and later releases. As of
|
|
this writing, "woody" is not yet released.
|
|
|
|
<ul>
|
|
<li>Using apt: <code>apt-get install hercules</code>
|
|
<li>Manually with dpkg:
|
|
<ol>
|
|
<li>Download a <a href="http://packages.debian.org/hercules">.deb
|
|
package</a>
|
|
<li><code>dpkg -i</code> <i>DEB</i>
|
|
</ol>
|
|
</ul>
|
|
|
|
<h3>Installing on Mac OS X:</h3>
|
|
|
|
<ol>
|
|
<li>Download the compressed disk image: <a
|
|
href="hercules-2.17.dmg">hercules-2.17.dmg</a>
|
|
<li>Mount the image by double-clicking on it in the Finder.
|
|
Your web browser may have done that for you already.
|
|
<li>Installation and use instructions are in the
|
|
file <code>OS X ReadMe.rtf</code>.
|
|
</ol>
|
|
|
|
<h2>Configuration Procedure</h2>
|
|
<p>
|
|
You will need to amend the configuration file
|
|
<em><b>hercules.cnf</b></em> to reflect your device layout and intended
|
|
mode of operation (S/370, ESA/390, or z/Architecture).
|
|
See the <a href="hercconf.html">Hercules Configuration File</a> page for
|
|
a complete description.
|
|
|
|
<h2>Creating DASD volumes</h2>
|
|
<p>
|
|
The <a href="hercload.html">Creating Hercules DASD</a> page
|
|
describes various methods of creating and loading virtual DASD
|
|
volumes. The compressed CKD DASD support is described in <a
|
|
href="cckddasd.html">this page</a>.
|
|
|
|
<h2>Operating Procedure</h2>
|
|
<p>
|
|
<em>Note: If you intend to run any licensed software on your PC
|
|
using Hercules, it is your responsibility to ensure that you do not
|
|
violate the software vendor's licensing terms.</em>
|
|
|
|
<h4>Loading a standalone program or operating system</h4>
|
|
<p>
|
|
To start Hercules enter this command at the Unix shell prompt:
|
|
<pre><code>hercules [-f <em>filename</em>] [> <em>logfile</em>]</code></pre>
|
|
where <code><em>filename</em></code> is the name of the configuration
|
|
file
|
|
(the default is <b><em>hercules.cnf</em></b>),
|
|
and <code><em>logfile</em></code> is an optional log file which will
|
|
receive a copy of all messages displayed on the control panel.
|
|
|
|
<p>
|
|
Next connect a tn3270 client to the console port (normally port 3270).
|
|
The client will be connected to the first 3270 device address specified
|
|
in the configuration file (this should be the master console address).
|
|
If your master console is a 1052 or 3215, connect a telnet client
|
|
instead of a tn3270 client.
|
|
|
|
<p>
|
|
Now you can enter an ipl command from the control panel.
|
|
|
|
|
|
<h4>Panel commands</h4>
|
|
<p>
|
|
<pre>
|
|
Command Description...
|
|
------- -----------------------------------------------
|
|
? list all commands
|
|
help command specific help
|
|
quit terminate the emulator
|
|
exit (synonym for 'quit')
|
|
cpu define target cpu for panel display and commands
|
|
start start CPU (or printer device if argument given)
|
|
stop stop CPU (or printer device if argument given)
|
|
startall start all CPU's
|
|
stopall stop all CPU's
|
|
.reply scp command
|
|
!message scp priority messsage
|
|
i generate I/O attention interrupt for device
|
|
ext generate external interrupt
|
|
restart generate restart interrupt
|
|
store store CPU status at absolute zero
|
|
archmode set architecture mode
|
|
loadparm set IPL parameter
|
|
ipl IPL from device xxxx
|
|
psw display program status word
|
|
gpr display general purpose registers
|
|
fpr display floating point registers
|
|
cr display control registers
|
|
ar display access registers
|
|
pr display prefix register
|
|
clocks display tod clkc and cpu timer
|
|
ipending display pending interrupts
|
|
ds display subchannel
|
|
r display or alter real storage
|
|
v display or alter virtual storage
|
|
devtmax display or set max device threads
|
|
k display cckd internal trace
|
|
attach configure device
|
|
detach remove device
|
|
define rename device
|
|
devinit reinitialize device
|
|
devlist list all devices
|
|
sh shell command
|
|
cache cache command
|
|
cckd cckd command
|
|
shrd shrd command
|
|
quiet toggle automatic refresh of panel display data
|
|
b set breakpoint
|
|
b- delete breakpoint
|
|
g turn off instruction stepping and start CPU
|
|
pgmtrace trace program interrupts
|
|
savecore save a core image to file
|
|
loadcore load a core image file
|
|
loadtext load a text deck file
|
|
ldmod load a module
|
|
rmmod delete a module
|
|
lsmod list dynamic modules
|
|
lsdep list module dependencies
|
|
iodelay display or set I/O delay value
|
|
tt32stats display CTCI-W32 statistics
|
|
toddrag display or set TOD clock drag factor
|
|
panrate display or set rate at which console refreshes
|
|
syncio display syncio devices statistics
|
|
script Run a sequence of panel commands contained in a file
|
|
cscript Cancels a running script thread
|
|
evm ECPS:VM Commands
|
|
aea Display AEA tables
|
|
sf+ add shadow file
|
|
sf- delete shadow file
|
|
sf= rename shadow file
|
|
sfc compress shadow files
|
|
sfd display shadow file stats
|
|
t{+/-} turn instruction tracing on/off
|
|
s{+/-} turn instruction stepping on/off
|
|
t{+/-}dev turn CCW tracing on/off
|
|
s{+/-}dev turn CCW stepping on/off
|
|
t{+/-}CKD turn CKD_KEY tracing on/off
|
|
f{+/-}adr mark frames unusable/usable
|
|
</pre>
|
|
<p>
|
|
The <em>ipl</em> command may also be used to perform a load from cdrom or
|
|
server. For example if a standard SuSE S/390 Linux distribution CD is loaded
|
|
and mounted on /cdrom for example, this cdrom may then be ipl-ed by:
|
|
<em>ipl /cdrom/suse.ins</em>
|
|
<p>
|
|
The <em>attach</em> and <em>detach</em> commands are used to dynamically
|
|
add or remove devices from the configuration,
|
|
and the <em>define</em> command can be used to alter the device number
|
|
of an existing device.
|
|
<p>
|
|
The <em>devinit</em> command can be used to reopen an existing device.
|
|
The <em>args</em> (if specified) override the arguments
|
|
specified in the configuration file for this device.
|
|
The device type cannot be changed and must not be specified.
|
|
This command can be used to rewind a tape, to mount a new tape or
|
|
disk image file on an existing device, to load a new card deck
|
|
into a reader, or to close and reopen a printer or punch device.
|
|
<p>
|
|
In single-step mode, pressing the enter key will advance to the
|
|
next instruction.
|
|
<p>
|
|
There is also an alternate semi-graphical control panel. Press Esc to
|
|
switch between the command line format and the semi-graphical format.
|
|
Press ? to obtain help in either control panel.
|
|
<p><br>
|
|
<h4>Additional Panel Command Help Information</h4>
|
|
<p>
|
|
<pre>
|
|
help Enter "help cmd" where cmd is the command you need help
|
|
with. If the command has additional help text defined for it,
|
|
it will be displayed. Help text is usually limited to explaining
|
|
the format of the command and its various required or optional
|
|
parameters and is not meant to replace reading the documentation.
|
|
|
|
|
|
quit Format: "quit [NOW]". The optional 'NOW' argument
|
|
causes the emulator to immediately terminate without
|
|
attempting to close any of the device files or perform
|
|
any cleanup. Only use it in extreme circumstances.
|
|
|
|
|
|
cpu Format: "cpu nnnn" where 'nnnn' is the cpu address of
|
|
the cpu in your multiprocessor configuration which you wish
|
|
all panel commands to apply to. For example, entering 'cpu 1'
|
|
followed by "gpr" will display the general purpose registers
|
|
for cpu#1 in your configuration as opposed to cpu#0
|
|
|
|
|
|
start Entering the 'start' command by itself simply starts a stopped
|
|
CPU, whereas 'start <devn>' presses the virtual start button on
|
|
printer device <devn>.
|
|
|
|
|
|
stop Entering the 'stop' command by itself simply stops a running
|
|
CPU, whereas 'stop <devn>' presses the virtual stop button on
|
|
printer device <devn>, usually causing an INTREQ.
|
|
|
|
|
|
.reply To reply to a system control program (i.e. guest operating system)
|
|
message that gets issued to the hercules console, prefix the reply
|
|
with a period.
|
|
|
|
|
|
!message To enter a system control program (i.e. guest operating system)
|
|
priority command on the hercules console, simply prefix the command
|
|
with an exclamation point '!'.
|
|
|
|
|
|
r Format: "r addr[.len]" or "r addr-addr" to display real
|
|
storage, or "r addr=value" to alter real storage, where 'value'
|
|
is a hex string of up to 32 pairs of digits.
|
|
|
|
v Format: "v addr[.len]" or "v addr-addr" to display virtual
|
|
storage, or "v addr=value" to alter virtual storage, where 'value'
|
|
is a hex string of up to 32 pairs of digits.
|
|
|
|
|
|
attach Format: "attach devn type [arg...]
|
|
|
|
|
|
define Format: "define olddevn newdevn"
|
|
|
|
|
|
devinit Format: "devinit devn arg [arg...]"
|
|
|
|
|
|
sh Format: "sh command [args...]" where 'command' is any valid shell
|
|
command. The entered command and any arguments are passed as-is to the
|
|
shell for processing and the results are displayed on the console.
|
|
|
|
|
|
b Format: "b addr" where 'addr' is the instruction address where you
|
|
wish to halt execution. Once the breakpoint is reached, instruction
|
|
execution is temporarily halted and the next instruction to be executed
|
|
is displayed. You may then examine registers and/or storage, etc. To
|
|
continue execution after reaching a breakpoint, enter the 'g' command.
|
|
|
|
|
|
b- Format: "b-" (removes any previously set breakpoint)
|
|
|
|
|
|
pgmtrace Format: "pgmtrace [-]intcode" where 'intcode' is any valid program
|
|
interruption code in the range 0x01 to 0x40. Precede the interrupt code
|
|
with a '-' to stop tracing of that particular program interruption.
|
|
|
|
|
|
savecore Format: "savecore filename [{start|*}] [{end|*}]" where 'start' and 'end'
|
|
define the starting and ending addresss of the range of real storage to be
|
|
saved to file 'filename'. '*' means address 0 if specified for start, and end
|
|
of available storage if specified for end. The default is '* *' (beginning
|
|
of storage through the end of storage; i.e. all of storage).
|
|
|
|
loadcore Format: "loadcore filename [address]" where 'address' is the storage address
|
|
of where to begin loading memory. The file 'filename' is presumed to be a pure
|
|
binary image file previously created via the 'savecore' command. The default for
|
|
'address' is 0 (begining of storage).
|
|
|
|
loadtext Format: "loadtext filename [address]". This command is essentially identical
|
|
to the 'loadcore' command except that it loads a text deck file with "TXT"
|
|
and "END" 80 byte records (i.e. an object deck).
|
|
|
|
script Format: "script filename [...filename...]". Sequentially executes the commands contained
|
|
within the file -filename-. The script file may also contain "script" commands,
|
|
but the system ensures that no more than 10 levels of script are invoked at any
|
|
one time (to avoid a recursion loop)
|
|
|
|
|
|
cscript Format: "cscript". This command will cancel the currently running script.
|
|
if no script is running, no action is taken
|
|
|
|
|
|
evm Format: "evm". This command invokes ECPS:VM Subcommands.
|
|
Type "evm help" to see a list of available commands
|
|
</pre>
|
|
<p><br>
|
|
<h4>The <u>hercules.rc</u> (run-commands) file:</h4>
|
|
<p>
|
|
Hercules also supports the ability to automatically execute panel commands
|
|
upon startup via the 'run-commands' file. If the run-commands file
|
|
is found to exist when Hercules starts, each line contained within it is
|
|
read and interpreted as a panel command exactly as if the command were
|
|
entered from the HMC system console.
|
|
<p>
|
|
The default filename for the run-commands file is "hercules.rc", but may be
|
|
overridden by setting the "<tt><b>HERCULES_RC</b></tt>" environment variable to the
|
|
desired filename.
|
|
<p>
|
|
Except for the 'pause' command (see paragraph further below), each command
|
|
read from the run-commands file is logged to the console preceded by a '> '
|
|
(greater-than sign) character so you can easily distinguish between panel
|
|
commands entered from the keyboard from those entered via the .rc file.
|
|
<p>
|
|
Lines starting with '<tt>#</tt>' are treated as "silent comments" and are
|
|
thus not logged to the console. Line starting with '<tt>*</tt>' however are
|
|
treated as "loud comments" and <i>will</i> be logged.
|
|
<p>
|
|
In addition to being able to execute any valid panel command (including the
|
|
'sh' shell command) via the run-commands file, an additional
|
|
'<tt><b>pause <i>nnn</i></b></tt>' command is supported in order to introduce
|
|
a brief delay before reading and processing the next line in the file. The
|
|
value <tt><i>nnn</i></tt> can be any number from 1 to 999 and specifies the
|
|
number of seconds to delay before reading the next line. Creative use of the
|
|
run-commands file can completely automate Hercules startup.
|
|
|
|
<p><center><hr width=15% noshade></center>
|
|
<p>
|
|
<h2>Technical Support</h2>
|
|
If you have a question about Hercules, please refer to the
|
|
<a href="hercfaq.html">Hercules Frequently-Asked Questions</a> page first.
|
|
If your question and/or concern is not addressed in the FAQ, please feel
|
|
free to post your question to the
|
|
Hercules-390 forum:
|
|
<blockquote><pre>
|
|
<b>Community email addresses:</b>
|
|
Post message: <a href="mailto:hercules-390@yahoogroups.com?subject=Hercules Question">hercules-390@yahoogroups.com</a>
|
|
Subscribe: <a href="mailto:hercules-390-subscribe@yahoogroups.com?subject=Subscribe">hercules-390-subscribe@yahoogroups.com</a>
|
|
Unsubscribe: <a href="mailto:hercules-390-unsubscribe@yahoogroups.com?subject=Unsubscribe">hercules-390-unsubscribe@yahoogroups.com</a>
|
|
List owner: <a href="mailto:hercules-390-owner@yahoogroups.com?subject=Hercules">hercules-390-owner@yahoogroups.com</a>
|
|
|
|
<b>Files and archives at:</b>
|
|
<a href="http://groups.yahoo.com/group/hercules-390">http://groups.yahoo.com/group/hercules-390</a>
|
|
</pre></blockquote><p>
|
|
The <b><u>Hercules-390 forum</u></b> is in fact your <u>primary source for Hercules support</u>,
|
|
and you are strongly encouraged to subscribe. We have a vibrant, active
|
|
community of over 2200+ members, many of which are very knowledgeable in
|
|
many different areas of mainframe technology, both from a hardware point of
|
|
view as well as from an operating system and software point of view.
|
|
<p>
|
|
In addition to the main Hercules-390 forum, other more specialized Hercules forums
|
|
also exist to provide more focused support for a variety of popular IBM mainframe
|
|
operating systems, such as DOS/VS, VM (VM/370, VM/SP, and VM/ESA), and MVS.
|
|
<p>
|
|
<small><i>Note! the use of Yahoo! as host for the Hercules-390 and related forums
|
|
should in no way be interpreted as an endorsement of the Yahoo! service.</i><small>
|
|
<p><center><hr width=15% noshade>
|
|
<a href="index.html"><img src="gifs/back.gif" border=0 alt="back"></a>
|
|
</center>
|
|
|
|
<small>
|
|
<p>Last updated 6 June 2003
|
|
</BODY>
|
|
</HTML>
|