Operating System - OpenVMS
cancel
Showing results for 
Search instead for 
Did you mean: 

how to take "INQUIRE" effect on systartup_vms.com procedure?

SOLVED
Go to solution
wang_17
Occasional Advisor

how to take "INQUIRE" effect on systartup_vms.com procedure?

i write a dcl script to do something on openvms 7.3-2,my scripts used the "INQUIRE" dcl command,i hope put my script into systartup_vms.com file,and execute it on openvms boot procedure,but i find the dcl "INQUIRE" not effect,the procedure can't interactive,how to resolve it??

help me please and thx
17 REPLIES
Uwe Zessin
Honored Contributor
Solution

Re: how to take "INQUIRE" effect on systartup_vms.com procedure?

The startup process is a very limited environment. I don't have any procedures handy, but if I recall correctly, I did it this way:

$ open /read/write CHN_OPA0 OPA0:
$ read /error=label CHN_OPA0 DATA /prompt="Yes? "
... process input in symbol DATA


somewhere else:
$label:
... error processing
.
comarow
Trusted Contributor

Re: how to take "INQUIRE" effect on systartup_vms.com procedure?

The simplest command is,

$if mode .es. "interactive' then set term/inq.

this is very useful for all logins.
Uwe Zessin
Honored Contributor

Re: how to take "INQUIRE" effect on systartup_vms.com procedure?

Bob,

why would anybody put that command into SYSTARTUP_VMS.COM?
.
Jan van den Ende
Honored Contributor

Re: how to take "INQUIRE" effect on systartup_vms.com procedure?

Wang,

follow Uwe s advice.
He DOES recall correctly, that is how it works for various sites I have been active, for at least the last 20 years!

Proost.

Have one on me.

jpe

Don't rust yours pelled jacker to fine doll missed aches.
Peter Quodling
Trusted Contributor

Re: how to take "INQUIRE" effect on systartup_vms.com procedure?

IF you are wanting to pass parameters to systartup_vms.com, (i.e. things that are being changed very early in the boot process) then considered coding the options in the sysgen parameters startup_px (where x is 1 to 8 (I think) The first one or two are used in startup.com for logging features, but the rest should be available to be passed through...

q
Leave the Money on the Fridge.
wang_17
Occasional Advisor

Re: how to take "INQUIRE" effect on systartup_vms.com procedure?

deeply thx everyone, especially UWE, your are right, now my script good work,thx again
Jan van den Ende
Honored Contributor

Re: how to take "INQUIRE" effect on systartup_vms.com procedure?

Re Peter:

STARTUP_Px offer great flexibility.

But you better not touch P1, P2, nor P8, other than in the documented fashion.

The only values for P1 are "" (empty string) and "MIN" (minimal bootstrap).
P2 is evaluated for its Boolean value, and if true, switches on VERIFY during bootstrap. P8 is also special, but not having a VMS system at hand here, I cannot give specifications now.

Proost.

Have one on me.

jpe
Don't rust yours pelled jacker to fine doll missed aches.
Martin Vorlaender
Honored Contributor

Re: how to take "INQUIRE" effect on systartup_vms.com procedure?

Re Jan:

There are four user-defineable SYSGEN variables (two static, two dynamic), appropriately named USERD1, USERD2, USER3, and USER4.

I use USER3 to select the IP stack to boot on my support machine, like:

[SYSTARTUP_VMS.COM]
$! Selection of the TCP/IP stack
$! 0 : No TCP/IP (default)
$! 1 : TCP/IP Services 5.4
$! 2 : TCPware 5.6
$! 3 : MultiNet 4.4
$! 4 : MultiNet 5.0
$ TCPSTACK = F$GETSYI("USER3")
...
$ IF TCPSTACK .EQ. 1 THEN -
@SYS$STARTUP:TCPIP$STARTUP.COM
etc.

I got this tip from the OpenVMS Technical Journal Vol.4, http://h71000.www7.hp.com/openvms/journal/v4/using_the_sysgen_user_parameters.html .

HTH,
Martin
Antoniov.
Honored Contributor

Re: how to take "INQUIRE" effect on systartup_vms.com procedure?

Hi,
to avoid halt in bootstrap procedure, you can change Uwe's example as follow:

$ open /read/write CHN_OPA0 OPA0:
$ read /error=label/TIME=10 CHN_OPA0 DATA /prompt="Yes? "
... process input in symbol DATA


somewhere else:
$label:
sts=$status
if sts.eq.%X000181B0
then
... time-out
else
... error processing
endif

Antonio Vigliotti
Antonio Maria Vigliotti
Joseph Huber_1
Honored Contributor

Re: how to take "INQUIRE" effect on systartup_vms.com procedure?

I see one (and only) legitimate use of input from OPA0: in systartup:
to abort some waiting loop on a resource.
Example: we have a disk containing utilities , MSCP served by one node. We want to mount this disk early in systartup, but want to be able to continue startup if the disk is not available for some reason. We have a loop trying to mount, and if not available, do a READ (not INQUIRE) from opa0: using /time_out and /end-of_file to abort the loop and continue systartup.
http://www.mpp.mpg.de/~huber
Uwe Zessin
Honored Contributor

Re: how to take "INQUIRE" effect on systartup_vms.com procedure?

That's what I implemented in 1997. Customer had a dual-datacenter FDDI based cluster with two HS211 servers - two AlphaServer 1000 connected to a DSSI-based storage which servers the disks via FDDI. Data is shadowed between datacenters.

Cold boot of the cluster went like this:

- boot first server in first data center

- server waits for one of the servers in the other datacenter to come up. This has to be confirmed by one of the operators.

- server(s) continue to boot and mount the shadow sets

If we allowed a single server a full boot it would break the shadow sets if the other DC was down. The operator can also request a full boot even if the other datacenter is not available. Customer agreed on a completely manual process.

There was no quorum disk or fifth voting member involved. My excuse is that I got involved rather late in the project when the hardware was already being delivered by somebody else who did not have much experience with clustering. Also, the operators did not have much VMS experience.
.
Antoniov.
Honored Contributor

Re: how to take "INQUIRE" effect on systartup_vms.com procedure?

I have a developing machine where I add or remove some scsi disks.
In systartup_vms.com I use f$getdvi function like this
$ IF F$GETDVI("DKA100","EXISTS")
$ THEN
$ MOUNT DKA100: ...
$ ENDIF

Antonio Vigliotti
Antonio Maria Vigliotti
Eberhard Wacker
Valued Contributor

Re: how to take "INQUIRE" effect on systartup_vms.com procedure?

And if you want to have the possibility to execute the mount procedure (here SYSTARTUP_VMS) as well as at system startup also in interactive mode not using the console then you can make this in the following way:
$ INPUT_DEV := TT:
$ if f$getjpi("","PRCNAM") .eqs. "STARTUP" then INPUT_DEV := OPA0:
$ open/read/write CHN_OPA0 'INPUT_DEV'
... and so on as described
Cheers
Jan van den Ende
Honored Contributor

Re: how to take "INQUIRE" effect on systartup_vms.com procedure?

Joseph,

_that_ is exactly what we are using it for.
Actually, not even from SYSSTARUP_VMS, but from SYLOGICALS.

We attempt to have our cluster as common as possible, even in multi-architecture and/or multi-site.
Except for SYLOGICALS, EVERYTHING, including SYSTARTUP_VMS, is therefor on a common disk, other than the system disk(s).
Obviously, there is a need for an emergency escape if somehow that device is not available or not mountable.
That we test first, and the emergency escape allows to specify another disk, or to do a dedicated, minimalistic, boot from the system disk.

READ OPA0/TIMEOUT is that escape.

Proost.

Have one on me.

jpe
Don't rust yours pelled jacker to fine doll missed aches.
comarow
Trusted Contributor

Re: how to take "INQUIRE" effect on systartup_vms.com procedure?

Greetings
Bob,

>why would anybody put that command into >SYSTARTUP_VMS.COM?
I thought he mean general statup files, such as sylogin.com


He didn't say it was systartup but sy
comarow
Trusted Contributor

Re: how to take "INQUIRE" effect on systartup_vms.com procedure?

I was also thining of sylogin.

However, many people put escape clauses in their startups, often with a timer, so they can escape and make changes.
Uwe Zessin
Honored Contributor

Re: how to take "INQUIRE" effect on systartup_vms.com procedure?

> He didn't say it was systartup but sy

Yes, he did. It's in the thread title and in his message.
.