User Tools

Site Tools


labs:hercules-lab-2-zos210

HERCULES: LAB 2 INSTALLATION DE ZOS2.10 ADCD DANS UNE IMAGE COW

Etape 1: Préparation hyperviseur/workstation

Workstation: Installer git rexx x3270 et build-essentials

La workstation est un poste utilisateur depuis lequel on pourra se connecter au système Z

$ sudo apt-get install git build-essential libtool automake autoconf libregina3-dev screen x3270

Hyperviseur: Installer hercules

Installation des RPM prédéfinis:

  • Télécharger le fichier RPM
$ scp user@xx.xx.xxx.xx:/data/jacques.nougat/repos/support/centos/noarch/hercules-3.07-1.x86_64.rpm .
  • Installer le RPM:
rpm -Uvh hercules-3.07-1.x86_64.rpm
Préparation...              ########################################### [100%]
   1:hercules               ########################################### [100%]

Cela placera les exécutables Hercules dans /usr/bin et les bibliothèques dynamiques dans /usr/lib et /usr/lib/hercules, que l'on peut exécuter n'importe où. Les exemples de fichiers de configuration seront placés dans /etc/hercules et le jeu de cartes IPLable de l'utilitaire autonome ZZSA (zzsacard.bin) sera placé dans /usr/share/hercules.

Tester l'installation de hercules

Dans l'hyperviseur

$ hercules -f /etc/hercules/sample.cnf

Dans un terminal depuis la workstation

c3270 localhost:3270

ça devrait ressembler à ça:

/=======================================================================\
|                |
| Hercules Version  : 4.00            |
| Host name         : MS            |
| Host OS           : DEBIAN            |
| Host Architecture : x86            |
| Processors        : MP=2            |
| LPAR Name         : HERCULES            |
| Device number     : 0:001F            |
| Subchannel        : 0004            |
|                 |
| HHH          HHH   The S/370, ESA/390 and z/Architecture    |
| HHH          HHH                 Emulator        |
| HHH          HHH            |
| HHH          HHH  EEEE RRR   CCC U  U L    EEEE  SSS    |
| HHHHHHHHHHHHHHHH  E    R  R C    U  U L    E    S    |
| HHHHHHHHHHHHHHHH  EEE  RRR  C    U  U L    EEE   SS    |
| HHHHHHHHHHHHHHHH  E    R R  C    U  U L    E       S    |
| HHH          HHH  EEEE R  R  CCC  UU  LLLL EEEE SSS    |
| HHH          HHH            |
| HHH          HHH            |
| HHH          HHH     My PC thinks it's a MAINFRAME    |
|                 |
| Copyright (c) 1999-2011 Roger Bowler, Jan Jaeger, and others    |
|                |
\=======================================================================/

pour sortir de la console, utiliser CTRL-] et taper quit

Etape 2: Obtenir le système de développement d'applications (ADCD)

ADCD est créé pour fournir aux éditeurs de logiciels indépendants qualifiés le dernier système z/OS ainsi que les produits middleware associés au dernier niveau de maintenance disponible.

Le système OS/390 DEMOpkg repose sur douze volumes DASD.

Description des disques fournis

Volumes DASD Volume Description
required Base DMTRES Base operating system products
DMTCAT Master catalog, page, spool, IODF
DMTOS1 Additional Base products
DMTOS2 Additional Base products
DMTOS3 Additional Base products
optional Data Management DMTD01 Database, Transaction Processing, and Application Development products
DMTD02 Additional Data Management products
DMTD03 Additional Data Management products
DMTD04 Additional Data Management products
optional Tivoli DMTP01 Tivoli products
DMTP02 Additional Tivoli products
DMTP03 Additional Tivoli products

Préparer le système de fichiers.

Une fois le téléchargement terminé appliquer les changements suivants:

  • décompresser les images iso (tout dans le dossier racine cela rendra plus facile l'extraction des archives ZIP des disques)
 for FILE in `ls *.zip`; do 7z e $FILE ; done
  • décompresser les archives ZIP des disques
for FILE in `ls *.ZIP`; do 7z x $FILE ; done
  • dans le dossier os390/mvs créer le fichier hercules.cnf avec le contenu suivant
cat <<EOF | tee hercules.cnf
# ---------------------------------------------------------------------------------------    
# Configuration file for Hercules & IBM OS/390 V2R10 ADCD
# based on configfile for z/os 1.3 and infos from DEVMAP.NME on cd1
# For more information consult the attached readme.html
# and visit IBM at http://198.81.193.6/adcd10/rel10.html
# ---------------------------------------------------------------------------------------    
# IBM OS/390 V2R10 ADCD
# ---------------------------------------------------------------------------------------    

ARCHMODE ESA/390
CNSLPORT 3270
#CONKPALV (3,1,10)
CODEPAGE default
CPUMODEL 2064
CPUSERIAL 01C5D1
ECPSVM NO
LOADPARM 01C1DP.1
LPARNAME HERCULES
MAINSIZE 192
#MOUNTED_TAPE_REINIT DISALLOW
NUMCPU 1
OSTAILOR OS/390
PANRATE 500
PGMPRDOS LICENSED
SHCMDOPT NODIAG8
SYSEPOCH 1900
#TIMERINT 50
TZOFFSET +0000
YROFFSET 0 


# ---------------------------------------------------------------------------------------    
# SYMBOLS DEFINITION                                                *
# ---------------------------------------------------------------------------------------    

DEFSYM DASD "/home/s106/hercules-3.07/imagens"
# DEFSYM PROD "/home/s106/hercules-3.07/imagens"
DEFSYM PRTR "/home/s106/hercules-3.07/imagens"

# ---------------------------------------------------------------------------------------    
# Device list
# ---------------------------------------------------------------------------------------    

0580    3420         # tape
0581    3420         # tape
0590    3420         # tape
0700    3270           # master console
0701    3270           # local TSO 1
0702    3270           # local TSO 2
0900    3270           # local TSO 3
0901    3270           # local TSO 4

# ---------------------------------------------------------------------------------------    
# Device dasd
# ---------------------------------------------------------------------------------------    

01C0 3390 /mnt/dmtres.1c0 #
01C1 3390 /mnt/dmtcat.1c1 #
01C2 3390 /mnt/dmtos2.1c2 #
01C3 3390 /mnt/dmtos1.1c3 #
01C4 3390 /mnt/dmtd01.1c4 #
01C5 3390 /mnt/dmtd02.1c5 #
01C6 3390 /mnt/dmtd03.1c6 #
01CB 3390 /mnt/dmtd04.1cb # -
01C7 3390 /mnt/dmtp01.1c7 # -
01C8 3390 /mnt/dmtp02.1c8 # -
01CA 3390 /mnt/dmtos3.1ca #
01C9 3390 /mnt/dmtp03.1c9 # -

# ---------------------------------------------------------------------------------------    
# CTCI for TCP/IP
# ---------------------------------------------------------------------------------------    

0E20.2   LCS  10.0.1.20
EOF
  • Pour éviter le message à la console d'Hercules, ci-dessous, remplacer en fin ce fichier 0E20.2 LCS 10.0.1.20 par 0E20.2 3088 CTCI /dev/net/tun 1500 192.168.0.210 192.168.0.211 255.255.255.255 (adapter les adresses aux adresses du réseau local)
HHCIF005E hercifc: ioctl error doing TUNSETIFF on ?: 1 Operation not permitted                  
HHCTU001E hercifc timeout, possible older version?                                              
HHCTU003E Error setting TUN/TAP mode: /dev/net/tun: Operation not permitted                  
HHCLC073I 0E20: TAP device  opened                                                              
  • Créer l'archive tar.gz avec le contenu du dossier os390/mv
$ tar zcvf /data/repos/support/ibm/adcd-zos-210.tar.gz *

Paramètres disponibles de LOADPARM dans hercules.cnf

Pour n'exécuter que les volumes de base, LOADPARM = 01C1DP.1
Pour éxécuter également les volumes de gestion de données, LOADPARM = 01C1DM.1
Pour exécuter également les volumes Tivoli LOADPARM = 01C100.1

Etape 3: Création de la VM

Dans l'exemple on utilise le mode «Copy-On-Write» (COW), car:

  • aucune modification n’est appliquée à l’image disque d'origine, toutes les modifications sont enregistrées dans un fichier séparé en préservant l'image d'origine.
  • plusieurs fichiers COW peuvent pointer sur la même image pour tester plusieurs configurations simultanément sans mettre en péril le système de base.

Création de l'image QCOW2

Virt-make-fs est un outil de ligne de commande permettant de créer une image de système de fichiers à partir d'une archive tar ou de certains fichiers d'un répertoire. Il peut créer des types de systèmes de fichiers courants tels que ext2/3 ou NTFS.

  • Télécharger l'archive tar.gz contenant les images disques de la LPAR
$ scp user@xx.xx.xxx.xx:/data/jacques.nougat/repos/support/ibm/adcd-zos-210.tar.gz  /var/www/html/hercules/

adcd-zos-210.tar.gz                           100% 3412MB  11.2MB/s   05:05
  • Créer l'image QCOW2
$ virt-make-fs --format=qcow2 --size=+2G adcd-zos-210.tar.gz adcd-zos-210-e2.qcow2

Génération de limage COW

Les générations d’images COW sont des images créées simplement par l'utilitaire qemu-img :

$ qemu-img create -f <Format> -b <nom de l'image de référence> <nom de l'image COW>
$ qemu-img create -f qcow2 -b adcd-zos-210-e2.qcow2 zos210.qcow2
Formatting 'zos210.qcow2', fmt=qcow2 size=27196384768 backing_file='adcd-zos-210-e2.qcow2' encryption=off cluster_size=65536

L'image créée est plus petite que l'image de référence (193K pour une référence d'environ 17G) car pendant la création, il n'y a pas de différence entre l'original et la COW.

 22G -rw-r--r-- 1 root root  22G  3 avril 14:21 adcd-zos-210-e2.qcow2
3,4G -rw-r--r-- 1 root root 3,4G  3 avril 14:05 adcd-zos-210.tar.gz
271M -rw-r--r-- 1 root root 271M  2 avril 16:11 zos110.qcow2
196K -rw-r--r-- 1 root root 193K  3 avril 14:23 zos210.qcow2

On peut génerer d'autres images COW à partir de la même référence.

pour assurer la préservation de l'image d'origine, on peut la protéger en écriture

chmod -aw adcd-zos-210-e2.qcow2.

Etape 4: lancement de zos

Montage du système de fichier

$ guestmount -a /var/www/html/hercules/zos210.qcow2 -m /dev/sda /mnt

Démarrage de la VM

sur l'hyperviseur démarrer hercules

$ hercules -f /mnt/conf/hercules.conf

dans la workstation, et dans un terminal séparé, se connecter avec x3270

x3270 localhost:23

sur l'hyperviseur et dans la console hercules faire l'ipl:

IPL 01C0 

Répondre au message 00 - R 00,I

  IEA247I USING IEASYS00 FOR OS/390 02.10.00 HBB7703
  IEA598I TIME ZONE = W.00.00.00
  IXL011I XES HARDWARE SUPPORT IS NOT INSTALLED.  REASON: 02
  IXC414I CANNOT JOIN SYSPLEX TESTPLX WHICH IS RUNNING IN MONOPLEX MODE:
   CONFIGURATION REQUIREMENT
  IXC404I SYSTEM(S) ACTIVE OR IPLING: DEMOPKG
| IXC420D REPLY I TO INITIALIZE SYSPLEX TESTPLX, OR R TO REINITIALIZE XCF
  R 00,I
  IEE600I REPLY TO 00 IS;I
  IXC413I MULTISYSTEM SYSPLEX CONFIGURATION PREVENTED BY PLEXCFG=MONOPLEX
  IXC413I XCFLOCAL SYSPLEX CONFIGURATION PREVENTED BY PLEXCFG=MONOPLEX
  IXC418I SYSTEM DEMOPKG IS NOW ACTIVE IN SYSPLEX TESTPLX

Répondre au message 01 en spécifiant le mode de démarrage Jes2

*04.59.54 DEMOPKG          *01 $HASP426 SPECIFY OPTIONS - JES2 OS 2.10
*       SSNAME=JES2
*05.01.06 DEMOPKG          *BPXP007E STARTING PHYSICAL FILE SYSTEM NFS IN
* ADDRESS SPACE NFSCM

IEE612I CN=05       DEVNUM=0700 SYS=DEMOPKG
r 01,format,noreq

Répondre au message 02 en confirmant le démarrage à froid

*05.05.21 DEMOPKG          *$HASP436 CONFIRM COLD START ON
* CKPT1 - VOLSER=DMTCAT DSN=SYS1.HASPCKDP
* CKPT2 - NOT IN USE
* SPOOL - PREFIX=DMTCA  DSN=SYS1.HASPACE
*05.05.21 DEMOPKG          *02 $HASP441 REPLY 'Y' TO CONTINUE
* INITIALIZATION OR 'N' TO TERMINATE IN RESPONSE TO MESSAGE HASP436

IEE612I CN=05       DEVNUM=0700 SYS=DEMOPKG
r 02,y

Répondre au message 03

*05.07.48 DEMOPKG          *$HASP419 MEMBER 3090 HAS DETERMINED THAT THE
* FOLLOWING JES2
*         MEMBERS ARE DORMANT: 7490.
*05.07.48 DEMOPKG          *03 $HASP420 REPLY 'Y' IF 7490 IS DOWN (IPL
* REQUIRED), 'N' IF NOT

IEE612I CN=05       DEVNUM=0700 SYS=DEMOPKG
r 03,y

Les applications vont démarrer. Pour voir , l'état des applications en ligne taper d a,l:

   - 05.44.53 DEMOPKG           d a,l
     05.44.53 DEMOPKG           IEE114I 05.44.53 2015.318 ACTIVITY 839       C
      JOBS     M/S    TS USERS    SYSAS    INITS   ACTIVE/MAX VTAM     OAS
     00006    00016    00001      00027    00029    00001/00100       00014
      LLA      LLA      LLA      NSW  S  VLF      VLF      VLF      NSW  S
      DLF      DLF      DLF      NSW  S  JES2     JES2     JES2     NSW  S
      DFRMM    DFRMM    DFRMM    NSW  S  SDSF     SDSF     SDSF     NSW  S
      VTAM5    VTAM5    VTAM     NSW  S  RACF     RACF     RACF     NSW  S
      SYSLOGD5 STEP1    IBMUSER  OWT  AO INETD6   STEP1    IBMUSER  OWT  AO
      ASCH     ASCH     ASCH     NSW  S  APPC     APPC     APPC     NSW  S
      TCPIP    TCPIP    TCPIP    NSW  SO SMTP     SMTP     SMTP     NSW  S
      NSLD     NSLD     NSLD     OWT  SO PORTMAP1 STEP1    PORTMAP  OWT  AO
      TIMED1   STEP1    IBMUSER  OWT  AO FTPD1    STEP1    FTPD     OWT  AO
      NSLD1    STEP1    NSADMIN  OWT  AO TSO      TSO      TSO      OWT  S
      NFSSRV   NFSSRV   NFSSRV   NSW  SO WEBSRV5  WEBSRV5  WEBSRV   IN   SO
     IBMUSER OWT

 IEE612I CN=05       DEVNUM=0700 SYS=DEMOPKG

Etape 5: connexion

Au “=⇒” prompt entrer “tso”. fournir un id d'utilisateur (par défaut “ibmuser”). etun mot de passe (par défaut entrez “sys1”).

Liste des Utilisateurs disponibles :

USERID PASSWORD Details
P390 SYS1 or P390 (RACF special authority)
IBMUSER SYS1 or IBMUSER (RACF special authority)
SYSADM SYS1 or SYSADM (DB2 and RACF special auth)
SYSOPR SYS1 or SYSOPR (DB2 and RACF special auth)
P390A - P390Z TEST
TESTER TEST

Voilà, c'est tout ce qu'il y a à vraiment à faire. maintenant on va apprendre à installer gccmvs ou à compiler des programmes c dans omvs

Pour passer en environnement UNIX sur la commande prompt ==⇒ taper “tso omvs”

Etape 6: Configuration du réseau

Pour personnaliser le système OS / 390 DEMOpkg, procéder comme suit: pas:

  • Se connecter à TSO, avec sysprg1:
=> TSO SYSPRG1 (mot de passe: sysprg1)
  • Dans le Menu d'options principal ISPF taper 6 (command
  • Entrer la commande OS/390 Customization Dialog:
=> TSO MVSCUST
  • Entrer les valeurs à utiliser.
 Please fill in the following customization information:                        
                                                                                
 MVS Information       Connectivity Information       MISC Information          
 JES2 Node TSTMVS01    SNA NETID DALVM1XX             Time Zone 05              
 TSO LU TSTTSO         IP Address 9.39.65.199                               
                                                                                
                                                                                
                                                                                
 CATALOG Information                                                            
 Install the optional volumes:  DataManagement  N                               
                                Tivoli  N                                       
                                DLIBS  N

Pour installer le logiciel facultatif Data Management, Tivoli ou DLIB volumes, entrer Y. Cela exécutera les travaux de connexion au catalogue requis pour les utiliser.

Pour utiliser Data Management ou Tivoli les travaux batchs du catalogue doivent avoir complètement exécutés avec un code retour de 0. Ces travaux ont un impact sur les catalogues d'utilisateurs et définissent alias due produit.

  • Lorsque toutes les informations sont correctes, appuyer sur (Entrée).
    • plusieurs mises à jour automatiques seront exécutées.
  • Indiquer dans le fichier de configuration TCP / IP les valeurs de réseau IP correctes

* Indiquer dans le statement HOME l'adresse IP
EDIT       CENTER.PARMLIB(TCPPROF) - 01.39                 Columns 00001 00072
Command ===>                                                  Scroll ===> CSR
000148 ;----------------------------------------------------------------       
000149 ; HOME definition                                                       
000150 ; ==> Choose one adapter type                                           
000151 ;----------------------------------------------------------------       
000152   HOME                                                                  
000153 ;  9.39.65.74     OSA1                                                  
000154 ;  9.39.64.235    TR1                                                   
000155    192.168.0.210  ETH1                                                  
* Commenter (; en premier caractère) les statement GETEWAY et DEFAULTNET
000167 ;----------------------------------------------------------------    
000168 ;GATEWAY                                                             
000169 ; 9            =         OSA1    65527      0.255.255.0   0.39.65.0  
000170 ; 9            =         TR1      2000      0.255.255.0   0.39.64.0  
000171 ; 192.195.29   =         ETH1     1492      0.0.0.224     0.0.0.32   
000172 ;----------------------------------------------------------------    
000173 ; DEFAULTNET definition                                              
000174 ; ==> Choose one adapter type                                        
000175 ;     Chnage the definitions to reflect your IP CLASS (A/B/C) account
000176 ;----------------------------------------------------------------    
000177 ; DEFAULTNET 9.39.65.1   OSA1    65527         0                     
000178 ; DEFAULTNET 9.39.64.1   TR1      2000         0                     
000179 ; DEFAULTNET 192.195.29.33 ETH1     1492         0                   
* Ajouter le statement BEGINRoutes -- ENDRoutes des routes statiques
000180 BEGINRoutes                                                          
000181 ROUTE 192.168.0.0 255.255.255.0 = ETH1 MTU 1500                      
000182 ROUTE DEFAULT 192.168.0.1 ETH1 MTU 1500                              
000183 ENDRoutes                                                            
000184 ;-------------------------------------------------------		---------    
* Définir les adresses de DNS et le Nom de domaine dans le statement DOMAINORIGIN
000024 ;-------------------------------------------------------------------    
000025 ; DOMAINORIGIN. definition                                              
000026 ; ==> Verify your domain name.                                          
000027 ;-------------------------------------------------------------------    
000028 DOMAINORIGIN  DEMOPKG.IBM.COM                                           
000029 ;-------------------------------------------------------------------    
000030 ; DOMAINORIGIN definition                                               
000031 ; ==> Verify the addresses of your name servers.                        
000032 ;-------------------------------------------------------------------    
000033 NSINTERADDR  9.39.65.199                                                
000034 NSINTERADDR  9.39.64.170   
* Définir le Nom d'hôte dans le statement HOSTNAME
000035 ;-------------------------------------------------------------------    
000036 ; HOSTNAME definition                                                   
000037 ; ==> VERIFY YOUR SYSTEM HOSTNAME.                                      
000038 ;-------------------------------------------------------------------    
000039 TSTMVS01: HOSTNAME TSTMVS01                                             
000040 ;***********************************************************************.
* Récupérer l'ID du DEVICE dans le statement DEVICE LCS (5EE dans l'exemple)
000142 ;----------------------------------------------------------------       
000143 ; Eithernet Adapter                                                     
000144 ;----------------------------------------------------------------       
000145 ; DEVICE LCSET  LCS           5EE                                       
000146   DEVICE LCSET LCS E20 AUTORESTART                                      
000147   LINK ETH1  ETHERNET 3 LCSET                                           
  • Appuyer sur PF3 pour quitter
  • Mettre à jour le nom d'hôte dans le fichier de configuration du serveur Web (Pour quitter, appuyer sur PF3).
  • De retour dans le pannel de commande entrer oedit /etc/httpd.conf
    • Mettre à jour la valeur HostName pour qu'elle corresponde à l'adresse IP locale.
  • Appuyez sur PF3 pour quitter.

Les valeurs ainsi personnalées ne seront effectives que lors du prochain IPL. Pour préparer l'IPL, il faut arrêter le système OS / 390.

Etape 7: tout fermer

  • dans le premier c3270 ouvert taper s shutsys et puis taper z eod
  • attendre une minute ou deux
  • dans la fenêtre hercules taper exit
  • Modifier l'id de l'interface LCS dans le fichier /mnt/hercules.cnf
# ---------------------------------------------------------------------------------------
# CTCI for TCP/IP
# ---------------------------------------------------------------------------------------

05EE.2   LCS  -n /dev/net/tun 192.168.0.210
  • démarrer à nouveau (suivre l'étape 6)
labs/hercules-lab-2-zos210.txt · Last modified: 2025/02/19 10:59 by 127.0.0.1