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

Creating a PCSI installation kit for Alpha and IA64

 
SOLVED
Go to solution
Jeremy Begg
Trusted Contributor

Creating a PCSI installation kit for Alpha and IA64

Hi,

I have been working on an application which is very close to being ready to ship, and the only things remaining are the documentation (!) and the installation kit. I have decided to use PCSI for installation purposes. I have used VMSINSTAL in the past but PCSI looks like it is easier to use for both the developer and the system manager.

The problem I've run into is, how do I provide a single PCSI kit for both Alpha and IA64 but which gives the installer the option of installing only the architecture-specific components? One way would be to provide two kits but that approach doesn't really suit my purposes very well.

There doesn't appear to be an IF test or an OPTION test which allows you to check the hardware architecture. You can check the "HARDWARE PROCESSOR" which corresponds to the HW_MODEL item for $GETSYI, but as far as I can tell you can only test for specific values, not for a range of values. (VAX is 0-1023, Alpha is 1024-4095, and IA64 is 4096.)

I worked around this by having an EXECUTE PRECONFIGURE step to run a DCL procedure which checks f$getsyi("ARCH_NAME") and ask some questions of the user, but this leads to confusion because PCSI then says "This product has no options" (or something similar).

And the EXECUTE PRECONFIGURE didn't quite work anyway: I wanted it to define some logicals to direct PCSI, but it seems the logicals aren't seen by PCSI -- so what table should I be defining them in?


Thanks,
Jeremy Begg
7 REPLIES 7
David B Sneddon
Honored Contributor
Solution

Re: Creating a PCSI installation kit for Alpha and IA64

Jeremy,

I believe that the latest LD driver kit is
multi-platform, maybe grab that and have a look
at the contents.
As far as logicals, PCSI uses subprocesses so I
would expect that you would need to use the JOB
table.

Dave
Jeremy Begg
Trusted Contributor

Re: Creating a PCSI installation kit for Alpha and IA64

Hi Dave,

Thanks for the LD suggestion, I'll try doing it that way. (It checks which operating system has been installed, i.e. "DEC AXPVMS VMS" or "HP I64VMS VMS".)

Thanks too for the logical names suggestion, yes you're probably right and I should have realised it would have to use the JOB table.

(As always, what isn't documented would fill books :-)

Regards,
Jeremy Begg
Jeremy Begg
Trusted Contributor

Re: Creating a PCSI installation kit for Alpha and IA64

Just FYI (or FMI) ... the test seems to be useless unless you want to test for a particular VAX model -- because the PRODUCT PACKAGE command rejects any attempt to refer to a model number greater than 255!
Hoff
Honored Contributor

Re: Creating a PCSI installation kit for Alpha and IA64

The VDE kit on the Freeware is triple architecture, IIRC. You should be able to see the relevant pieces of the kit, though the PCSI package command isn't there.

The key for getting the kit to work for some of the PCSI releases was to avoid using the blocks beyond if-then-endif; to avoid the else structures. (That may well have gotten fixed.) And I preferred to have architecture in the kit stored in a subdirectory, and the source of the file is visible in the kit files. This means the PRODUCT PACKAGE command was fairly involved.

If you're stumped and can't sort this out, let me know; I've a multi-architecture product kit I've been working on for Lua and can post up the relevant pieces of that to the web site.

Stephen Hoffman
HoffmanLabs LLC
Jeremy Begg
Trusted Contributor

Re: Creating a PCSI installation kit for Alpha and IA64

Thanks Hoff, the VDE kit is a good example although it doesn't quite do what I want.

My application has a directory structure like this:

[product]
[product.COM]
[product.DOC]
[product.LOG]
[product.ALPHA_EXE]
[product.IA64_EXE]

and the intention is that the installer will specify /DESTINATION=dev:[000000] (so that the application lives directly under the MFD).

It seems to me there are four scenarios and all of them have problems!

1. Always install both IA64 and Alpha images, regardless of the system architecture and cluster membership. (Not desirable in a standalone node or a single-architecture cluster.)

2. Use a PRE-CONFIGURE procedure to determine what images to install and define a logical name to direct the installation process. This works but PCSI tells the user "This product does not have any installation options" after the user has already answered my questions, which is confusing.

3. Always ask if Alpha or IA64 images should be installed (e.g. via a pair of OPTION statements). This works and is simple, but potentially annoying. I'm not against the idea however, especially if the defaults for each OPTION are set appropriately.

4. Have the FILE statements for each architecture specified twice in the PCSI file: once for the "native" architecture and once for the "other" architecture. This is probably best from the user experience perspective (only one question to answer) but a potential maintenance problem.

Regards,
Jeremy Begg