mirror of
https://github.com/SDL-Hercules-390/hyperion.git
synced 2026-04-17 17:36:21 +02:00
1. Add missing link to "Operations and Utilities Guide" PDF manual to main web page. 2. Change header/title on most(*) web pages from "Hercules Version 3" to "Hercules Version 4". (*) All except the "messages" web pages, which are still version 3 for the time being.
668 lines
24 KiB
HTML
668 lines
24 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN" "html.dtd">
|
|
<HTML>
|
|
<HEAD><TITLE>
|
|
Hercules Version 4: Creating DASD</TITLE>
|
|
<LINK REL=STYLESHEET TYPE="text/css" HREF="hercules.css">
|
|
</HEAD>
|
|
<BODY BGCOLOR="#ffffcc" TEXT="#000000" LINK="#0000A0"
|
|
VLINK="#008040" ALINK="#000000">
|
|
|
|
<h1>Hercules Version 4: Creating DASD</h1>
|
|
|
|
<p>
|
|
This page describes various ways of creating and loading DASD
|
|
volumes for use with Hercules.
|
|
|
|
<p><hr>
|
|
|
|
<h2>Contents</h2>
|
|
<blockquote>
|
|
<p>
|
|
<a href="#prebuilt">Using pre-built DASD images</a>
|
|
</p>
|
|
<p>
|
|
<a href="#loading">Creating, formatting, and loading DASD volumes</a>
|
|
</p>
|
|
<p>
|
|
<a href="#PDS">Building a DASD volume from unloaded PDS files</a>
|
|
</p>
|
|
<p>
|
|
<a href="#utilities">Other DASD utilities</a>
|
|
</p>
|
|
</blockquote>
|
|
|
|
<p><hr><a name="prebuilt"></a>
|
|
<h2>Using pre-built DASD images</h2>
|
|
<p>
|
|
IBM distributes pre-built OS/390 and z/OS systems on two
|
|
different CD-ROM packages:
|
|
<dl>
|
|
<dt><b>The OS/390 and z/OS Application Development CD (ADCD)</b>
|
|
<dd>available only to members of IBM PartnerWorld for Developers,
|
|
and
|
|
<dt><b>The OS/390 and z/OS DemoPkg</b>
|
|
<dd>available only to IBM employees and qualified IBM Business Partners.
|
|
</dl>
|
|
<p>Both of these packages contain pre-built DASD image files
|
|
which simply need to be unzipped onto your hard drive. The
|
|
unzipped images can be directly read by Hercules.
|
|
<p>
|
|
Be aware, however, that you cannot use the ADCD images because
|
|
the PartnerWorld scheme requires you to purchase or lease an IBM
|
|
approved machine in order to obtain the ADCD, and the software on
|
|
the ADCD is licensed for use only on the machine that it was
|
|
shipped with.
|
|
See
|
|
<a href="http://www.ibm.com/servers/enable/site/zinfo/adcd.html">
|
|
http://www.ibm.com/servers/enable/site/zinfo/adcd.html</a>.
|
|
If you want Hercules to be an approved machine so that you can
|
|
use the ADCD, then I suggest you lobby IBM Developer Relations
|
|
<!-- ===(fyolton @ us.ibm.com)=== -->
|
|
at the address given on their web page.
|
|
<p>
|
|
Different rules apply to the OS/390 and z/OS
|
|
DemoPkg CD which is available only to IBM employees and business
|
|
partners. If you fall into this category then you probably know
|
|
what the rules are -- I don't :-(
|
|
|
|
<p><hr><a name="loading"></a>
|
|
<h2>Creating, formatting, and loading DASD volumes</h2>
|
|
|
|
<h4>Creating an empty DASD volume</h4>
|
|
<p>
|
|
The dasdinit program must first be run from the Unix shell prompt to
|
|
create a file containing an empty DASD volume.
|
|
<p>
|
|
The format of the dasdinit command is:
|
|
<p><br>
|
|
<pre>
|
|
HHC01413I Hercules utility 'dasdinit' - DASD image file creation program; version 3.07-svn-7593
|
|
HHC01414I (c) Copyright 1999-2011 by Roger Bowler, Jan Jaeger, and others
|
|
HHC02448I Usage: dasdinit [-options] filename devtype[-model] [volser] [size]
|
|
|
|
Builds an empty dasd image file:
|
|
|
|
dasdinit [-options] filename devtype[-model] [volser] [size]
|
|
|
|
where:
|
|
|
|
-v display version info and help
|
|
-z build compressed dasd image file using zlib
|
|
-bz2 build compressed dasd image file using bzip2
|
|
-0 build compressed dasd image file with no compression
|
|
-lfs create only one very large output file (if supported)
|
|
-a build dasd image file that includes alternate cylinders
|
|
(option ignored if size is manually specified)
|
|
-r build 'raw' dasd image file (no VOL1 or IPL track)
|
|
-b make wait PSW in IPL1 record a BC-mode PSW
|
|
(default is EC-mode PSW)
|
|
-m enable wait PSW in IPL1 record for machine checks
|
|
(default is disabled for machine checks)
|
|
-linux null track images will look like linux dasdfmt'ed images
|
|
(3390 device type only)
|
|
|
|
filename name of dasd image file to be created
|
|
|
|
devtype CKD: 2305, 2311, 2314, 3330, 3340, 3350, 3375, 3380, 3390, 9345
|
|
FBA: 0671, 3310, 3370, 9313, 9332, 9335, 9336
|
|
|
|
model device model (implies size) (opt)
|
|
|
|
volser volume serial number (1-6 characters)
|
|
(specified only if '-r' option not used)
|
|
|
|
size number of CKD cylinders or 512-byte FBA sectors
|
|
(required if model not specified else optional)
|
|
</pre>
|
|
<p>
|
|
Note that the defaults for the wait PSW written to the IPL1 record have changed
|
|
from earlier releases of Hercules. In the past, the wait PSW created by dasdinit
|
|
was a BC-mode PSW enabled for machine check interrupts. The current default for
|
|
the wait PSW is EC-mode, disabled for machine checks. To obtain the earlier
|
|
behavior, run dasdinit with the "-b" and "-m" flags.
|
|
</p>
|
|
<br>
|
|
<p>
|
|
<a NAME="models">
|
|
The current list of device types and models supported is:
|
|
</p>
|
|
<p><br>
|
|
<pre>
|
|
CKD DEVICES
|
|
|
|
alt
|
|
devtype-model cyls cyls
|
|
|
|
2311 [*]
|
|
2311-1 200 2
|
|
|
|
2314 [*]
|
|
2314-1 200 3
|
|
|
|
3330 [*]
|
|
3330-1 404 7
|
|
3330-2 808 7
|
|
3330-11 808 7
|
|
|
|
3340 [*]
|
|
3340-1 348 1
|
|
3340-35 348 1
|
|
3340-2 696 2
|
|
3340-70 696 2
|
|
|
|
3350 [*]
|
|
3350-1 555 5
|
|
|
|
3375 [*]
|
|
3375-1 959 1
|
|
|
|
3380 [*]
|
|
3380-1 885 1
|
|
3380-A 885 1
|
|
3380-B 885 1
|
|
3380-D 885 1
|
|
3380-J 885 1
|
|
3380-2 1770 2
|
|
3380-E 1770 2
|
|
3380-3 2655 3
|
|
3380-K 2655 3
|
|
EMC3380K+ 3339 3
|
|
EMC3380K++ 3993 3
|
|
|
|
3390 [*]
|
|
3390-1 1113 1
|
|
3390-2 2226 1
|
|
3390-3 3339 1
|
|
3390-9 10017 3
|
|
3390-27 32760 3
|
|
3390-54 65520 3
|
|
|
|
9345 [*]
|
|
9345-1 1440 0
|
|
9345-2 2156 0
|
|
|
|
|
|
FBA DEVICES
|
|
|
|
devtype-model blocks
|
|
|
|
3310 [*]
|
|
3310-1 125664
|
|
|
|
3370 [*]
|
|
3370-Al 558000
|
|
3370-B1 558000
|
|
3370-A2 712752
|
|
3370-B2 712752
|
|
|
|
9313 [*]
|
|
9313-1 246240
|
|
|
|
9332 [*]
|
|
9332-200 360036
|
|
9332-400 360036
|
|
9332-600 554800
|
|
|
|
9335 [*]
|
|
9335-1 804714
|
|
|
|
9336 [*]
|
|
9336-10 920115
|
|
9336-20 1672881
|
|
9336-25 1672881
|
|
|
|
0671-08 513072
|
|
0671 574560
|
|
0671-04 624456
|
|
</pre>
|
|
<p>
|
|
[<b>*</b>] size may be specified else size defaults to the
|
|
first listed model.
|
|
<p>
|
|
<h4>Volumes exceeding 2GB</h4>
|
|
<p>
|
|
For CKD volumes which exceed 2GB, such as the 3390-3, and the
|
|
<b>-lfs</b> parameter is not specified, the DASDINIT
|
|
program will create multiple files by appending the characters
|
|
<b>_1</b>, <b>_2</b>, <b>_3</b> etc.
|
|
to the file name specified on the command line. These characters
|
|
are inserted before the first dot (<b>.</b>) after the last slash
|
|
(<b>/</b>). If there is no dot, then the characters are appended
|
|
to the end of the name. Each file contains a whole number of cylinders.
|
|
Hercules CKD support recognizes the files as belonging to a single
|
|
logical volume. Specify the full name of just the first file in the
|
|
Hercules configuration file (e.g. "<i>filename</i>_1").
|
|
<p>
|
|
The DASDINIT program cannot create FBA volumes exceeding 2GB
|
|
unless the <b>-lfs</b> parameter is specified and <i>large file size</i>
|
|
is supported on your platform..
|
|
|
|
<h5>Examples</h5>
|
|
<p>
|
|
To create a 3330 model 1 CKD volume consisting of 404 cylinders
|
|
(plus 7 alternate cylinders too)
|
|
with volume serial number WORK01 in a file called
|
|
<b><i>work01.151</b></i>:
|
|
<pre>
|
|
dasdinit -a work01.151 3330-1 work01
|
|
</pre>
|
|
<p>
|
|
To create a compressed 3350 CKD volume consisting of 560 cylinders
|
|
(555 cylinders plus the 5 alternate cylinders)
|
|
with volume serial number SYSRES in a file called
|
|
<b><i>dosvs34.24f</b></i>:
|
|
<pre>
|
|
dasdinit -a -bz2 dosvs34.24f 3350-1 sysres
|
|
</pre>
|
|
<p>
|
|
To create a 3370 FBA volume with only 100000 sectors
|
|
(instead of the usual 558000 sectors)
|
|
with volume serial number WORK02 in a file called
|
|
<b><i>mini.work02.140</b></i>:
|
|
<pre>
|
|
dasdinit mini.work02.140 3370 work02 100000
|
|
</pre>
|
|
<p>
|
|
To create a 3390 model 3 (triple density) CKD volume
|
|
of 3339 cylinders with volume serial number WORK03:
|
|
<pre>
|
|
dasdinit triple.a88 3390-3 work03
|
|
</pre>
|
|
<p>
|
|
Because this volume exceeds 2GB, DASDINIT will create two files
|
|
with <b><i>triple_1.a88</b></i> containing cylinders 0-2518 and
|
|
<b><i>triple_2.a88</b></i> containing cylinders 2519-3339. If you
|
|
specify
|
|
<pre>
|
|
dasdinit -lfs triple.a88 3390-3 work03
|
|
</pre>
|
|
<p>
|
|
then DASDINIT will create a single file <b><i>triple.a88</i></b>
|
|
containing all the cylinders. Your platform must support <i>large
|
|
file size</i> to specify the <b>-lfs</b> option.
|
|
|
|
<h4>Formatting the empty DASD volume</h4>
|
|
<p>
|
|
After creating a DASD volume you can format it with a program
|
|
such as standalone IBCDASDI or ICKDSF.
|
|
<p>
|
|
Here is an example of the IBCDASDI control statements required
|
|
to initialize a 3330 volume:
|
|
<pre><code>
|
|
WORK01 JOB 'INITIALIZE 3330 WORK VOLUME'
|
|
MSG TODEV=1052,TOADDR=009
|
|
DADEF TODEV=3330,TOADDR=151,IPL=NO,VOLID=WORK01,BYPASS=YES
|
|
VLD NEWVOLID=WORK01,OWNERID=HERCULES
|
|
VTOCD STRTADR=1,EXTENT=5
|
|
END
|
|
</code></pre>
|
|
<p>
|
|
To run IBCDASDI, place the above statements in a file called
|
|
<b><i>init3330.txt</i></b> and start Hercules in S/370 mode with
|
|
a configuration file containing these statements:
|
|
<pre><code>
|
|
CPUSERIAL 001234
|
|
CPUMODEL 3145
|
|
MAINSIZE 2
|
|
CNSLPORT 1052
|
|
ARCHMODE S/370
|
|
0009 1052
|
|
000A 1442 ibcdasdi.rdr
|
|
000C 1442 init3330.txt
|
|
0151 3330 work01.151
|
|
</code></pre>
|
|
<p>
|
|
After IPLing from card reader device 00A, connect a telnet client
|
|
to port 1052, and press enter. At the IBCDASDI prompt, enter:
|
|
<pre><code>input=1442 00c</code></pre>
|
|
|
|
<h4>Loading the new DASD volume</h4>
|
|
<p>
|
|
Next you need to create a full volume dump file on your mainframe
|
|
and convert it to AWSTAPE format using the <b><i>tapeconv.jcl</i></b>
|
|
job in the Hercules source directory. The AWSTAPE file can then
|
|
be downloaded in binary format to your PC where it can be defined
|
|
as a virtual tape drive in the Hercules configuration file.
|
|
<p>
|
|
A standalone program can now be IPLed into Hercules to restore the
|
|
volume image from the virtual tape onto the formatted virtual DASD
|
|
volume.
|
|
|
|
<p><hr><a name="PDS"></a>
|
|
<h2>Building a DASD volume from unloaded PDS files</h2>
|
|
<p>
|
|
The dasdload program can be run from the Unix shell prompt to
|
|
create a new DASD image file and load it with data from unloaded
|
|
PDS files.
|
|
<p>
|
|
The format of the dasdload command is:
|
|
<p><code>dasdload <i>[options]</i> <em>ctlfile outfile msglevel</em></code>
|
|
<p>
|
|
where
|
|
<dl>
|
|
<dt><em>[options]</em>
|
|
<dt><code><i>-z</i></code>
|
|
<dd>Build compressed dasd image file using zlib.
|
|
<dt><code><i>-bz2</i></code>
|
|
<dd>Build compressed dasd image file using bzip2.
|
|
<dt><code><i>-0</i></code>
|
|
<dd>Build compressed dasd image file with no compression.
|
|
<dt><code><i>-lfs</i></code>
|
|
<dd>Create only one very large output file (can exceed 2G).
|
|
<dt><code><i>-a</i></code>
|
|
<dd>Build dasd image file that includes alternate cylinders.
|
|
<dt><code><i>-b</i></code>
|
|
<dd>For a volume without IPL text, make the wait PSW written to the IPL1
|
|
record a BC-mode PSW. The default is to make the wait PSW an EC-mode
|
|
PSW.</dd>
|
|
<dt><code><i>-m</i></code>
|
|
<dd>For a volume without IPL text, make the wait PSW written to the IPL1
|
|
record enabled for machine checks. The default is to make the wait
|
|
PSW disabled for machine checks.</dd>
|
|
<dt><code><em>ctlname</em></code>
|
|
<dd>is the name of the control file which specifies the datasets
|
|
that are to be loaded onto the newly-created volume
|
|
<dt><code><em>outfile</em></code>
|
|
<dd>is the name of the DASD image file to be created
|
|
<dt><code><em>msglevel</em></code>
|
|
<dd>is a number from 0 to 5 which controls the level of detail
|
|
of the messages issued during the load.
|
|
</dl>
|
|
|
|
<p>
|
|
Note that the dasdload defaults for the wait PSW written to the IPL1 record have
|
|
changed from earlier releases of Hercules. In the past, the wait PSW created by dasdload
|
|
on volumes without IPL text was a BC-mode PSW enabled for machine check interrupts.
|
|
The current default for the wait PSW is EC-mode, disabled for machine checks. To obtain
|
|
the earlier behavior, run dasdload with the "-b" and "-m" flags.
|
|
</p>
|
|
|
|
<h4>Control file</h4>
|
|
<p>
|
|
The control file required by the dasdload program is an ASCII text
|
|
file consisting of a <em>volume statement</em> followed by one
|
|
<em>dataset statement</em> for each dataset to be created.
|
|
<p>
|
|
The format of the volume statement is:
|
|
<p><code><em>volser devtype</em>[-<em>model</em>] [<em>cyls</em> [<em>ipltext</em>] ]</code>
|
|
<p>where:
|
|
<dl>
|
|
<dt><code><em>volser</em></code>
|
|
<dd>is the volume serial number for the newly-created volume
|
|
<dt><code><em>devtype</em></code>
|
|
<dd>is the emulated device type (2311, 2314, 3330, 3340, 3350, 3375,
|
|
3380, or 3390) for the new volume. FBA device types are not supported
|
|
by the dasdload program. Model may be specified like
|
|
<a href="#models">dasdinit</a> above.
|
|
<dt><code><em>cyls</em></code>
|
|
<dd>is the size of the new volume in cylinders.
|
|
If <code><em>cyls</em></code> is coded as <code>*</code>
|
|
or as <code>0</code> or is omitted, then the default size
|
|
for the device type and model is used.
|
|
<dt><code><em>ipltext</em></code>
|
|
<dd>is an optional parameter specifying the name of a file
|
|
containing the IPL text which will be written to the volume.
|
|
The file must be in the form of an object deck containing
|
|
fixed length 80-byte EBCDIC records in the same format as
|
|
expected by IBCDASDI or ICKDSF.
|
|
</dl>
|
|
<p>
|
|
The format of a dataset statement is:
|
|
<p><code><em>dsname method units pri sec dir dsorg recfm
|
|
lrecl blksize keylen</em></code>
|
|
<p>where:
|
|
<dl>
|
|
<dt><code><em>dsname</em></code>
|
|
<dd>is the dataset name
|
|
<dt><code><em>method</em></code>
|
|
<dd>is the dataset loading method which can be one of the following:
|
|
<dl>
|
|
<dt><code>XMIT <em>filename</em></code>
|
|
<dd>the dataset is loaded from an unloaded PDS created by
|
|
the TSO XMIT command
|
|
<dt><code>SEQ <em>filename</em></code>
|
|
<dd>the sequential dataset is loaded from a <b>binary</b> file.
|
|
ascii/ebcdic translation is not currently supported. Also,
|
|
the dsorg must either be <em>PS</em> or <em>DA</em> and
|
|
recfm must either be <em>F</em> or <em>FB</em>.
|
|
<dt><code>EMPTY</code>
|
|
<dd>the dataset is initialized with an end of file record
|
|
(if DSORG is PS) or an empty PDS directory (if DSORG is PO)
|
|
<dt><code>DIP</code>
|
|
<dd>the dataset is initialized with a LOGREC header record
|
|
<dt><code>CVOL</code>
|
|
<dd>the dataset is initialized as an OS SYSCTLG containing
|
|
the minimum entries needed to IPL an OS/360 system
|
|
<dt><code>VTOC</code>
|
|
<dd>specifies the size and location of the VTOC. A dataset
|
|
name must be coded on this statement, although it is not
|
|
used. If no VTOC statement is present, the VTOC will be
|
|
placed after the last dataset on the volume and the size
|
|
of the VTOC will be the minimum number of tracks necessary.
|
|
</dl>
|
|
<dt><code><em>units</em></code>
|
|
<dd>is the space allocation units: <code>TRK</code> or <code>CYL</code>.
|
|
<dt><code><em>pri</em></code>
|
|
<dd>is the space allocation primary quantity
|
|
<dt><code><em>sec</em></code>
|
|
<dd>is the space allocation secondary quantity
|
|
<dt><code><em>dir</em></code>
|
|
<dd>is the number of directory blocks
|
|
<dt><code><em>dsorg</em></code>
|
|
<dd>is the dataset organization: <code>PS</code>, <code>PO</code>,
|
|
<code>DA</code>, or <code>IS</code>,
|
|
<dt><code><em>recfm</em></code>
|
|
<dd>is the record format: <code>F</code>, <code>FB</code>, <code>FBS</code>,
|
|
<code>V</code>, <code>VB</code>, <code>VBS</code>,
|
|
or <code>U</code>.
|
|
<dt><code><em>lrecl</em></code>
|
|
<dd>is the logical record length
|
|
<dt><code><em>blksize</em></code>
|
|
<dd>is the block size
|
|
<dt><code><em>keylen</em></code>
|
|
<dd>is the key length
|
|
</dl>
|
|
<p>All parameters except dsname and method are optional.
|
|
Defaults of zero are supplied for DCB parameters. For datasets
|
|
loaded with the XMIT method, the DCB parameters are taken from
|
|
the unloaded PDS, and the minimum space allocation required to
|
|
load the dataset is used unless a larger quantity is specified.
|
|
If space allocation is omitted, the default is TRK 1 0 0.
|
|
If CYL is specified without any primary quantity then the default
|
|
space allocation is 1 cylinder or the minimum number of cylinders
|
|
required to load the dataset, whichever is larger.
|
|
|
|
<h4>Examples</h4>
|
|
<p>
|
|
<b>[1]</b> To create a 2314 volume in a file called <b><i>sysres.230</i></b>
|
|
using the control file <b><i>sysres.plf</i></b> with message level 2:
|
|
<pre><code>dasdload sysres.plf sysres.230 2</pre></code>
|
|
|
|
<p>
|
|
An example control file is shown below:
|
|
<code><pre>#
|
|
# Pack layout file for MFT system residence volume
|
|
#
|
|
sysres 2314 * ieaipl00.rdr
|
|
sys1.parmlib xmit /cdrom/os360/reslibs/parmlib.xmi
|
|
sys1.imagelib xmit /cdrom/os360/reslibs/imagelib.xmi
|
|
sysctlg cvol trk 1 0 0 ps f 256 256 8
|
|
sysvtoc vtoc trk 5
|
|
sys1.logrec dip trk 1 0 0
|
|
sys1.nucleus xmit /cdrom/os360/reslibs/nucleus.xmi cyl
|
|
sys1.svclib xmit /cdrom/os360/reslibs/svclib.xmi cyl
|
|
sys1.sysjobqe empty cyl 2 0 0 da f 176 176 0
|
|
sys1.dump empty cyl 10 0 0 ps u 0 3625 0
|
|
</pre></code>
|
|
|
|
<p>
|
|
<b>[2]</b> To create a compressed 3390-3 volume in a file called
|
|
<b><i>linux.500</i></b> containing a bootable linux system for
|
|
linux/390 installation using the control file <b><i>linux.prm</i></b>:
|
|
<pre><code>dasdload -z linux.prm linux.500</pre></code>
|
|
|
|
<p>
|
|
An example control file is shown below:
|
|
<code><pre>
|
|
#
|
|
# Build a bootable linux disk
|
|
# [Note: the dataset names (sys1.linux. ...) are hard-coded in
|
|
# linuxipl.obj and cannot be changed without rebuilding it]
|
|
#
|
|
linux 3390-3 * linuxipl.obj
|
|
sys1.linux.parmfile SEQ images/redhat.prm trk 1 0 0 ps fb 1024 1024
|
|
sys1.linux.tapeipl.ikr SEQ images/kernel.img trk 200 0 0 ps fb 1024 1024
|
|
sys1.linux.initrd SEQ images/initrd.img trk 200 0 0 ps fb 1024 1024
|
|
</pre></code>
|
|
|
|
|
|
<h3>Fixing the XCTL tables in SVCLIB</h3>
|
|
<p>
|
|
On an OS/360 system, the Open/Close/EOV modules in SYS1.SVCLIB have
|
|
XCTL tables embedded within them. These tables contain TTRs
|
|
pointing to other modules, and these TTRs need to be adjusted after
|
|
loading SVCLIB to DASD. OS/360 provides a program called IEHIOSUP
|
|
to perform this function, but the catch is that you can't run
|
|
IEHIOSUP until you have the system up and running, and you can't IPL
|
|
until you have fixed the XCTL tables.
|
|
To solve this problem, Hercules provides a program called dasdisup
|
|
which can be run from the Unix command line after running dasdload.
|
|
<p>
|
|
The format of the dasdisup command is:
|
|
<p><code>dasdisup <em>outfile [sf=shadow-file-name]</em></code>
|
|
<p>
|
|
where
|
|
<dl>
|
|
<dt><code><em>outfile</em></code>
|
|
<dd>is the name of the DASD image file to be updated
|
|
<dt><code><em>shadow-file-name</em></code>
|
|
<dd>(optional) is the name of the associated shadow file
|
|
as specified in the Hercules config file
|
|
</dl>
|
|
<p>
|
|
<em>Note: do not use this procedure except on OS/360 IPL volumes;
|
|
other operating systems do not have XCTL tables.</em>
|
|
|
|
<p><hr><a name="utilities"></a>
|
|
<h2>Other DASD utilities</h2>
|
|
<p>
|
|
These programs can be used to extract data from CKD DASD images
|
|
by means of commands issued at the Unix shell prompt.
|
|
|
|
<h3>DASDLS - List datasets on volume</h3>
|
|
<p>
|
|
DASDLS, written by Malcolm Beattie, is a command to let you list the
|
|
names of the datasets contained in disk images.
|
|
<p>
|
|
The command format is:
|
|
<br><code>
|
|
dasdls <em>ckdfile [sf=shadow-file-name] ...</em>
|
|
</code></br>
|
|
where <em>ckdfile</em> is the name of a Unix file containing a CKD volume
|
|
and <em>shadow-file-name</em> (optional) is the name of the associated
|
|
shadow file.
|
|
|
|
<h3>DASDCAT - Display PDS members</h3>
|
|
<p>
|
|
DASDCAT, written by Malcolm Beattie, is a command to let you read
|
|
datasets from disk images.
|
|
<p>
|
|
The command format is:
|
|
<br><code>
|
|
dasdcat -i <em>ckdfile [sf=shadow-file-name] dsname1 dsname2 ...</em> -i <em>ckdfile2 dsname10 ...</em>
|
|
</code><br>
|
|
where <em>ckdfile</em> is the name of a Unix file containing a CKD volume,
|
|
<em>shadow-file-name</em> (optional) is the name of the associated shadow file,
|
|
and <em>dsname</em> can be a plain (non-partitioned) dataset name
|
|
(which is currently not handled) or of the form <em>pdsname</em>/<em>memname</em>
|
|
where <em>memname</em> can be:
|
|
<ul>
|
|
<li><b>PDS member name</b> (automatically uppercased),
|
|
optionally followed by ":" and flags "a" or "c".
|
|
<ul>
|
|
<li>"c" means (c)ard images and turns a PDS members with a block
|
|
size that's a multiple of 80 into multiple newline separated
|
|
lines of 72 characters with EBCDIC converted to ASCII and with
|
|
sequence numbers chopped off.
|
|
<li>"a" means (a)sciify the member (but don't chop off sequence
|
|
numbers or do the card image thing).
|
|
</ul>
|
|
<li><b>?</b> (don't forget to quote it to avoid the shell globbing it)
|
|
to list the names of all PDS members instead of outputting their
|
|
contents.
|
|
<li><b>*</b> (again, quote it or backwhack it to avoid it being a glob)
|
|
to output all members of the PDS instead of just a named one.
|
|
This can optionally be followed with colon-then-flags, as above.
|
|
Each member is preceded with a line "> Member: memname" and, if
|
|
the "c" for card-images flags is used, each line of the members'
|
|
contents is preceded with "| " to guarantee it can be
|
|
distinguished from contents.
|
|
</ul>
|
|
|
|
<h5>Examples</h5>
|
|
<pre><code>
|
|
% dasdcat -i mvtres.350 sf= mvtres_1.350 'sys1.parmlib/?'
|
|
ieabld00
|
|
ieaige00
|
|
ieaigg00
|
|
ieaigg01
|
|
iearsv00
|
|
ikjprm00
|
|
lnklst00
|
|
presres
|
|
smfdeflt
|
|
% dasdcat -i mvtres.350 sys1.parmlib/smfdeflt:c
|
|
OPT=2, SYSTEM,JOB AND STEP DATA COLLECTION
|
|
EXT=YES, USER EXITS ARE TO BE TAKEN
|
|
JWT=15, MAXIMUM CONTINUOUS WAIT TIME IS 15 MINS.PER STEP
|
|
BUF=400, A MINIMUM 400 BYTE BUFFER IS DEFINED
|
|
SID=6A, SYSTEM ID IS 6A
|
|
MDL=65, MODEL IS MOD 65
|
|
OPI=YES, PERMIT OPERATOR INTERVENTION
|
|
MAN=ALL, RECORD USER AND SYSTEM RECORDS
|
|
PRM=(,282,NL) SYS1.MAN ALLOCATED TO NON-LABELED TAPE
|
|
% dasdcat -i mvtres.350 sys1.help/\*:c
|
|
> Member ACCOUNT
|
|
| )S SUBCOMMANDS -
|
|
| ADD/A,CHANGE/C,DELETE/D,LIST/L,LISTIDS/LISTI,HELP/H,END
|
|
| )F FUNCTION -
|
|
| THE ACCOUNT COMMAND PROCESSOR INVOKES THE CONVERSATIONAL PROGRAMS
|
|
...
|
|
> Member ALLOC
|
|
| )F FUNCTION -
|
|
| THE ALLOCATE COMMAND DYNAMICALLY DEFINES AND ALLOCATES A DATA SET
|
|
| WITH OR WITHOUT AN ATTRIBUTE LIST OF DCB PARAMETERS
|
|
| )X SYNTAX -
|
|
| ALLOCATE DATASET('DSNAME'/*) FILE('DDNAME')
|
|
...
|
|
</code></pre>
|
|
|
|
<h3>DASDPDSU - Unload PDS members</h3>
|
|
<p>
|
|
DASDPDSU is a command which unloads PDS members from a disk image
|
|
and copies each member to a file <em>memname</em>.mac in the current
|
|
working directory.
|
|
<p>
|
|
The command format is:
|
|
<br><code>
|
|
dasdpdsu <em>ckdfile [sf=shadow-file-name] pdsname</em> [ascii]
|
|
</code></br>
|
|
where <em>ckdfile</em> is the name of a Unix file containing a CKD
|
|
volume, <em>shadow-file-name</em> (optional) is the name of the associated
|
|
shadow file, and <em>pdsname</em> is the name of a PDS on that volume.
|
|
If the optional <b>ascii</b> keyword is specified, the members will be
|
|
unloaded as ASCII variable length text files. Otherwise the members
|
|
are unloaded as fixed length EBCDIC binary files.
|
|
|
|
<p><center><hr width=15% noshade></center>
|
|
<p>
|
|
If you have a question about Hercules, see the
|
|
<a href="hercfaq.html">Hercules Frequently-Asked Questions</a> page.
|
|
|
|
<p><center><hr width=15% noshade>
|
|
<a href="hercinst.html"><img src="images/back.gif" border=0 alt="back"></a>
|
|
</center>
|
|
<p class="lastupd">Last updated $Date$ $Revision$</p>
|
|
</BODY>
|
|
</HTML>
|