The preferred and default boot mode for the Actis SBC342 cards is one where
all OS-9 and ISP modules are loaded and the networking is started.
No(!) automatic NFS mount is done (as was the case in 1996).
A so called module disk is used to transfer (text) files (like password,
startup and login files). At boot a ram disk is created (called
/dd) where all the files from the module disk are copied.
If no such a module disk is present, only the shell is launched.
Actis cards can boot from a special VME development system: o-ded01, from one of the alpha systems in the online cluster, or from any other system you want to set up as a boot server.
All the instructions here assume that you are logged in on the VMS development system o-ded01. All bootfiles reside on this machine, but can be copied to another machine if needed.
Once you have got an IP number you should communicate this to me to update a database and prepare the VME development system to make your card boot from it.
IF at the prompt
in the bootmenu. The card should now
boot, that was easy wasn't it !
The next sections describe what files should be on the module disk, and how you can create such a module disk.
/md0.
Good candidates of files to be put onto the module disk are:
/dd/delpi/sbc342/boot/templates on the VME development system
o-ded01.
You are advised to create all these files in a seperate directory on the VME development system. We will go through them one by one:
password
This file contains username/password combinations and some additional
paramaters for each user. This file is used by all processes that allow you to
log in to your system (like telnet, ftp, tsmon). Leaving the password blank
with a username, will allow you to log in with that username without being
asked for a password. Leaving both username and password blank, will alow you
to log in simply by hitting <Return> when prompted for a username.
In case the password file is found, tsmon is launched (this is the
thing that displays the line 1 devices online) at the end of the
boot. Hit <Return> to be able to log in. If the password file is not
present only the shell is launced at the end of the boot, and you will not be
able to log in to your system. You can base your password file on
this example (See also OS-9 manual
Using Professional OS-9 page 5-24).
.login
This file contains a list of commands executed each time a user logs in (thus
not at boot time !). Ususally this is used to set a few environment variables
and launch a decent shell. The example (in
the last line) launches the tsf shell, the Delphi standard
shell that is also used on the fips (See also OS-9 manual
Using Professional OS-9 page 5-21).
startup
This file contains a list of commands that are executed once at the end of the
boot, just before the shell or tsmon is launched.
Networking programs like telnetd and ftpd, that allow you
to telnet or ftp into the system are not launched automatically, this
typically something you should do in this startup file. Here you can also mount
any NFS disks if you need (Note that /dd is now used for the local
ram disk, so you have to use another name when mounting a disk, eg.
/h0). This file is also the place to put any command to launch
your particular applications that you always want to have running. You can base
your copy of the startup file on
this example (See also OS-9 manual
Using Professional OS-9 page 8-17).
motd
Motd is a textfile containing a header (welcome text) that is printed each
time you log in to the system. This message could contain a one or two line
description on the functionality of the system. This file is not essential.
After you have created all these files it is time to create a module disk. The following section describes how.
/md0). These can be copy commands like:
copy -r startup /md0/startup
copy -r password /md0/sys/password
......
Note that by default the directories /md0/sys and
/md0/cmds are created.
Creation of any other directories should be done explicitly in the file
copyfile. See also this example of
such a file. The (system) files errmsg and termcap are
by default copied to /md0/sys.
Note also that the size of the disk is only 32K, If you want to transfer OS-9 modules (loadable files) at boot time, it is better to add them to the user bootfile, this is described later, the module disk should only be used for text files (non-loadable files).
$ create_mdisk -r copyfile
this will create a file mdisk_0 in the current directory. The
option -r will overwrite mdisk_0 if it already existed (analog to
the -r option on the copy command). Use the option -? to see all options
on the command.
Note that for the command to work, the path /dd/delphi/cmds
should be in your PATH environment variable.
To see the contents of the created module disk use the command:
$ dir_mdisk
this will give a recursive listing of your module disk.
To see the contents of a file on the created module disk use the command:
$ list_mdisk filename
this will list the file filename, the path should be relative to the
module disk (eg.: .login or sys/password etc.).
After having created the file with the module disk mdisk_0 the last step is to create a user bootfile as described in the next section.
Now to create a user bootfile, issue the following commands (or put them in a
makefile):
$ merge -z=bootlist >-/dd/tftpboot/os9.node
where:
$ attr /dd/tftpboot/os9.node -pr -a
bootlist is the name of a file listing any additional modules to be
loaded at boot time (the file you just created).
node is the node name of your system, with any - replaced by
_ (eg. acdel-rifhva becomes acdel_rifhva).
1 devices online, inviting you to log in (hit <Return>).
Also, since it executed the startup file you will now be able to telnet or ftp
to your card (the processes telnetd and ftpd are running).
Thus by customizing the files mentioned above to your needs, it should be rather easy to make your Actis card do what you want at boot time. If you have any questions or requests, don't hesitate to contact me. The following sections cover more specialized topics, a more detailed description on what exactly happens at boot time and instructions on what files you need to make the procedure work on another boot server.
/dd/.bootlog (be sure you are super user), this
file will list what happened during the boot.
$ copy -r /dd/tftpboot/os9boot /dd/tftpboot/os9boot.node
$ merge /dd/delphi/sbc342/boot/sysgo_isp_deb
>+/dd/tftpboot/os9boot.node
$ attr /dd/tftpboot/os9boot.node -pr -a
where:-t as first
line to you startup file. Each line of the startup file will now be echoed
before execution.
/md0/.environ can be used to define additional
environment variables, these will be known at the time
startup is executed. Use of this could be to define the
correct timezone:
TZ=CET
/md0/.envparse can be used to define a set of files
to be parsed for environment variables. Expressions of the type
$ENV_VAR will be replaced by the actual value of the
environment variable ENV_VAR. The path of the files listed
in .envparse should be relative to /md0,
wildcards are not allowed. Environment variables known at the time of
parse are the ones defined in the file /md0/.environ and the
following:
SHELL=shell
HOME=/dd
CMDS=/md0/CMDS
USER=node
NODE=node
where:
/md0/.cleanup can be used to define a set of files
that should be deleted from the ramdisk /dd after the module
disk is copied to the ramdisk.
/dd/tftpboot):
routed)
os9.OS9modules
os9.ISPmodules
os9.node (user
bootfile)
/md0 is present,
/dd/sys/password is present launch tsmon,
otherwise launch shell
In case of questions, problems, remarks etc. please contact:
André Augustinus