This is a text-only version of the following page on https://raymii.org:
---
Title : Installing the es40 AlphaServer emulator 0.18 on Ubuntu 16.04, and trying to install OpenVMS 8.4 on es40
Author : Remy van Elst
Date : 24-04-2018
URL : https://raymii.org/s/blog/Installing_the_es40_AlphaServer_emulator_0.18_on_Ubuntu_16.04_and_trying_to_install_openVMS_8.4_on_es40.html
Format : Markdown/HTML
---
[![openvms][1]][2]
(You can read all my OpenVMS articles by [clicking the picture above][2])
OpenVMS 7.3 is the latest version of OpenVMS for the VAX architecture. Since the
[DECUS][3] system uses OpenVMS 8.4 there were some version differences. I could
not set my 'BACKSPACE=DELETE' ([see my article here][4]) on 7.3. The hobbyist
license also covers the Alpha and Itanium versions of OpenVMS so I want to try
the Alpha version, which is consequently also 8.4, the latest release. This
article describes my attempt to compile and install the es40 open source Alpha
emulator on Ubuntu 16.04 and subsequently the installation of OpenVMS Alpha. The
emulator is not under active development since 2008, and the installation of
OpenVMS fails. OpenVMS does boot however, very very slowly.
Recently I removed all Google Ads from this site due to their invasive tracking, as well as Google Analytics. Please, if you found this content useful, consider a small donation using any of the options below:
I'm developing an open source monitoring app called Leaf Node Monitoring, for windows, linux & android. Go check it out!
Consider sponsoring me on Github. It means the world to me if you show your appreciation and you'll help pay the server costs.
You can also sponsor me by getting a Digital Ocean VPS. With this referral link you'll get $200 credit for 60 days. Spend $25 after your credit expires and I'll get $25!
### AlphaServer and ES40
Wikipedia defines the Alphaserver, of which ES40 is a type:
> AlphaServer was the name given to a series of server computers, produced from
1994 onwards by Digital Equipment Corporation, and later by Compaq and HP. As
the name suggests, the AlphaServers were based on the DEC Alpha 64-bit
microprocessor. As part of the roadmap to phase out Alpha-, MIPS- and PA-RISC-
based systems in favor of Itanium-based systems at HP, the most recent
AlphaServer systems reached their end of general availability on 27 April 2007.
The availability of upgrades and options was discontinued on 25 April 2008,
approximately one year after the systems were discontinued.
The [es40][6] project is the only open source Alpha emulator for Linux but sadly
the development halted around 2009. The author, Camiel Vanderhoeven, is now
working for VMS Software inc, the company that now develops OpenVMS and the x86
port. He is also doing [talks and video's][7] on OpenVMS:
The ES40 Emulator Project aims to create portable emulator for the HP (DEC,
Compaq) AlphaServer ES40.
There are other Alpha emulators, like FreeAXP, but those are Windows only.
Via [this page][8] I found a picture of the actual hardware ES40:
![][9]
[Here][10] are more pictures and manuals of the ES40 hardware.
### Dependencies
To build the emulator on Ubuntu 16.04, a lot of development dependencies are
required. Install all of them using apt:
apt-get install libpcap-dev build-essential unzip libx11-dev libsdl-dev automake autotools-dev libpoco-dev libxt-dev checkinstall
The actual source code is hosted on sourceforge and you can do a CVS checkout,
but that is slow and someone put the code on Github, so lets check out the
repository:
git clone https://github.com/RaymiiOrg/es40
Output:
Cloning into 'es40'...
remote: Counting objects: 317, done.
remote: Total 317 (delta 0), reused 0 (delta 0), pack-reused 317
Receiving objects: 100% (317/317), 867.65 KiB | 733.00 KiB/s, done.
Resolving deltas: 100% (112/112), done.
Checking connectivity... done.
### ./configure
This was one of the parts that gave me problems. First go into the code folder:
cd es40
If all the dependencies are installed, the output should be like this:
$ ./configure
Output:
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for g++... g++
[...]
checking for strncasecmp... yes
checking for _stricasecmp... no
checking for strspn... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating m4/Makefile
config.status: creating src/Makefile
config.status: creating src/config.h
config.status: executing depfiles commands
Start the compilation. This gave me an error right away:
$ make
Output:
CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/bash /home/username/tmp/es40/missing aclocal-1.14 -I m4
/home/username/tmp/es40/missing: line 81: aclocal-1.14: command not found
WARNING: 'aclocal-1.14' is missing on your system.
You should only need it if you modified 'acinclude.m4' or
'configure.ac' or m4 files included by 'configure.ac'.
The 'aclocal' program is part of the GNU Automake package:
It also requires GNU Autoconf, GNU m4 and Perl in order to run:
Makefile:383: recipe for target 'aclocal.m4' failed
make: *** [aclocal.m4] Error 127
I had to make two symlinks to these specific versions to get make to continue:
$ sudo ln -s /usr/bin/aclocal /usr/bin/aclocal-1.14
$ sudo ln -s /usr/bin/automake /usr/bin/automake-1.14
The next try also failed:
$ make
Output:
config.status: creating m4/Makefile
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/username/tmp/es40/m4'
Making all in src
make[1]: Entering directory '/home/username/tmp/es40/src'
cd .. && /bin/bash ./config.status src/Makefile depfiles
config.status: creating src/Makefile
config.status: executing depfiles commands
make all-am
make[2]: Entering directory '/home/username/tmp/es40/src'
depbase=`echo AliM1543C.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -g -O2 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -DHAVE_SDL -I/usr/include -DHAVE_PCAP nope -DHAVE_X11 -pthread -MT AliM1543C.o -MD -MP -MF $depbase.Tpo -c -o AliM
1543C.o AliM1543C.cpp &&\
mv -f $depbase.Tpo $depbase.Po
g++: error: nope: No such file or directory
Makefile:1065: recipe for target 'AliM1543C.o' failed
make[2]: *** [AliM1543C.o] Error 1
make[2]: Leaving directory '/home/username/tmp/es40/src'
Makefile:557: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/username/tmp/es40/src'
Makefile:404: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
Where does this error come from: `g++: error: nope: No such file or directory`?
I don't know any Nope binary. Lets see if it's in the Makefile:
$ grep nope Makefile
Output:
X11_CFLAGS = nope
CXXFLAGS = -g -O2 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -DHAVE_SDL -I/usr/include -DHAVE_PCAP nope -DHAVE_X11 -pthread
Looking in the macro, the `nope` is there as well.
It looks for the following C header file:
X11/Intrinsic.h
According to the [Ubuntu package site][11] that file is in the `libxt-dev`
package. I missed that when installing the dependencies. After installing it,
the make ran without breaking errors:
make
Output:
Making all in m4
make[1]: Entering directory '/home/username/tmp/es40/m4'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/username/tmp/es40/m4'
Making all in src
make[1]: Entering directory '/home/username/tmp/es40/src'
make all-am
make[2]: Entering directory '/home/username/tmp/es40/src'
depbase=`echo AliM1543C.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -g -O2 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -DHAVE_SDL -I/usr/include -DHAVE_PCAP -DHAVE_X11 -pthread -MT AliM1543C.o -MD -MP -MF $depbase.Tpo -c -o AliM1543
C.o AliM1543C.cpp &&\
mv -f $depbase.Tpo $depbase.Po
AliM1543C.cpp: In member function 'virtual int CAliM1543C::RestoreState(FILE*)':
AliM1543C.cpp:1237:33: warning: ignoring return value of 'size_t fread(void*, size_t, size_t, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
fread(&ss, sizeof(long), 1, f);
^
AliM1543C.cpp:1250:37: warning: ignoring return value of 'size_t fread(void*, size_t, size_t, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
fread(&state, sizeof(state), 1, f);
^
depbase=`echo AliM1543C_ide.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -g -O2 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -DHAVE_SDL -I/usr/include -DHAVE_PCAP -DHAVE_X11 -pthread -MT AliM1543C_ide.o -MD -MP -MF $depbase.Tpo -c -o AliM
1543C_ide.o AliM1543C_ide.cpp &&\
mv -f $depbase.Tpo $depbase.Po
AliM1543C_ide.cpp: In member function 'virtual int CAliM1543C_ide::RestoreState(FILE*)':
AliM1543C_ide.cpp:484:33: warning: ignoring return value of 'size_t fread(void*, size_t, size_t, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
fread(&ss, sizeof(long), 1, f);
[...]
.
o es40-cfg.cpp &&\
mv -f $depbase.Tpo $depbase.Po
g++ -g -O2 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -DHAVE_SDL -I/usr/include -DHAVE_PCAP -DHAVE_X11 -pthread -o es40_cfg es40-cfg.o base/Exception.o -L/usr/lib/x86_64-linux-gnu -lSDL -
L/usr/ng/lib -lpcap -lX11
make[2]: Leaving directory '/home/username/tmp/es40/src'
make[1]: Leaving directory '/home/username/tmp/es40/src'
Making all in doc
make[1]: Entering directory '/home/username/tmp/es40/doc'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/username/tmp/es40/doc'
make[1]: Entering directory '/home/username/tmp/es40'
make[1]: Nothing to be done for 'all-am'.
make[1]: Leaving directory '/home/username/tmp/es40'
So it seems it worked? At least in the `src/` folder there now are binaries.
### SIGSEGV
Lets try to run the compiled binary:
$ ./src/es40
Output:
**======================================================================**
|| ES40 emulator ||
|| Version 0.18+ ||
|| ||
|| Copyright (C) 2007-2008 by the ES40 Emulator Project ||
|| Website: http://sourceforge.net/projects/es40 ||
|| E-mail : camiel@camicom.com ||
|| ||
|| This program is free software; you can redistribute it and/or ||
|| modify it under the terms of the GNU General Public License ||
|| as published by the Free Software Foundation; either version 2 ||
|| of the License, or (at your option) any later version. ||
**======================================================================**
Segmentation fault (core dumped)
My favorite program output, I love me a good segfault. Lets debug with `strace`.
* `-f`: Follow threads and child processes that are created
* `-T`: Print time spent in system call
* `-e trace=open,read,write,close`: Trace only specific system calls
strace -Tfe trace=open,read,write,close ./src/es40
Relevant output:
open("./es40.cfg", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/es40.cfg", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/etc/es40.cfg", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/etc/es40.cfg", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/etc/es40.cfg", O_RDONLY) = -1 ENOENT (No such file or directory)
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0} ---
+++ killed by SIGSEGV (core dumped) +++
Segmentation fault (core dumped)
So maybe it is missing the configuration. I did not do a `make install` since I
hoped that would't be needed. Using `checkinstall` we can create a debian
package. I like that over just a `make install` since it allows you to remove
the software from your system and overall general house keeping. After
`checkinstall` I copied the provided default configuration:
cp src/es40.cfg /etc/es40.cfg
Since there is no documentation on the configuration format, I'll run it and see
where the ship sails.
Let's run it again.
es40
Output:
**======================================================================**
|| ES40 emulator ||
|| Version 0.18+ ||
|| ||
|| Copyright (C) 2007-2008 by the ES40 Emulator Project ||
|| Website: http://sourceforge.net/projects/es40 ||
|| E-mail : camiel@camicom.com ||
|| ||
|| This program is free software; you can redistribute it and/or ||
|| modify it under the terms of the GNU General Public License ||
|| as published by the Free Software Foundation; either version 2 ||
|| of the License, or (at your option) any later version. ||
**======================================================================**
%GUI-I-INS: Installing sdl module as the ES40 GUI
sys0(tsunami): $Id: System.cpp,v 1.79 2008/06/12 07:29:44 iamcamiel Exp $
%FLS-F-NOREST: Flash could not be restored from rom\flash.rom
sys0(tsunami): $Id: Flash.cpp,v 1.19 2008/03/24 22:11:50 iamcamiel Exp $
dma: $Id: DMA.cpp,v 1.9 2008/04/29 09:24:52 iamcamiel Exp $
pci0.15(ali_ide).disk0.0(file): Could not open file img\disk0.img!
pci0.15(ali_ide).disk0.0(file): writing 600 1kB blocks: 100%
pci0.15(ali_ide).disk0.0(file): 600 MB file img\disk0.img created.
pci0.15(ali_ide).disk0.0(file): Mounted file img\disk0.img, 1228800 512-byte blocks, 1536/16/50.
pci0.15(ali_ide).disk1.0(file): Could not open file img\vms83.iso!
*** Error in `es40': double free or corruption (fasttop): 0x0000000001167df0 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7f8245d977e5]
/lib/x86_64-linux-gnu/libc.so.6(+0x8037a)[0x7f8245da037a]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x4c)[0x7f8245da453c]
es40[0x43b4b3]
es40[0x4321cf]
es40[0x4319b8]
es40[0x4319b8]
es40[0x432f80]
es40(main+0x19f)[0x40573f]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7f8245d40830]
es40[0x405c09]
======= Memory map: ========
00400000-00497000 r-xp 00000000 00:00 489903 /usr/local/bin/es40
00696000-00697000 r--p 00096000 00:00 489903 /usr/local/bin/es40
00697000-0069d000 rw-p 00097000 00:00 489903 /usr/local/bin/es40
0069d000-006bf000 rw-p 00000000 00:00 0
010c3000-01188000 rw-p 00000000 00:00 0 [heap]
7f81fc000000-7f81fc021000 rw-p 00000000 00:00 0
The output gave a lot more debug information, the actual relevant issue was at
the top:
Could not open file img\vms83.iso!
From the HP hobbyist download server I downloaded the `ALPHA084.ISO` file. Copy
it to the right place and edit `es40.cfg` to reflect the correct filesystem
path.
Run it again and see what breaks:
%GUI-I-INS: Installing sdl module as the ES40 GUI
sys0(tsunami): $Id: System.cpp,v 1.79 2008/06/12 07:29:44 iamcamiel Exp $
%FLS-F-NOREST: Flash could not be restored from rom\flash.rom
sys0(tsunami): $Id: Flash.cpp,v 1.19 2008/03/24 22:11:50 iamcamiel Exp $
dma: $Id: DMA.cpp,v 1.9 2008/04/29 09:24:52 iamcamiel Exp $
pci0.15(ali_ide).disk0.0(file): Could not open file img\disk0.img!
pci0.15(ali_ide).disk0.0(file): writing 600 1kB blocks: 100%
pci0.15(ali_ide).disk0.0(file): 600 MB file img\disk0.img created.
pci0.15(ali_ide).disk0.0(file): Mounted file img\disk0.img, 1228800 512-byte blocks, 1536/16/50.
pci0.15(ali_ide).disk1.0(file): Mounted file ALPHA084.ISO, 337251 2048-byte blocks, 112417/3/1.
Emulator Failure: Illegal state: More than one SCSI device at the same ID: SCSIBus.cpp, line 78
Segmentation fault (core dumped)
There is an IDE controller defined in the config and an SCSI controller. Comment
out the SCSI controller:
// Symbios SCSI controller
//
// There are two flavors of SCSI controllers on the emulator; 53c810
// and 53c895. The 53c810 supports 7 disks (0.0..0.6), the 53c895
// supports 15 disks (0.0..0.6 and 0.8..0.15).
//
// Right now, the 53c810 is the only controller that works with OpenVMS.
// pci0.3 = sym53c810
// {
// disk0.0 = file
// {
// file = "img\dka0.img";
// read_only
// }
// }
The next issue had to do with another file not found:
%GUI-I-INS: Installing sdl module as the ES40 GUI
sys0(tsunami): $Id: System.cpp,v 1.79 2008/06/12 07:29:44 iamcamiel Exp $
%FLS-F-NOREST: Flash could not be restored from rom\flash.rom
sys0(tsunami): $Id: Flash.cpp,v 1.19 2008/03/24 22:11:50 iamcamiel Exp $
dma: $Id: DMA.cpp,v 1.9 2008/04/29 09:24:52 iamcamiel Exp $
pci0.15(ali_ide).disk0.0(file): Mounted file img\disk0.img, 1228800 512-byte blocks, 1536/16/50.
pci0.15(ali_ide).disk1.0(file): Mounted file ALPHA084.ISO, 337251 2048-byte blocks, 112417/3/1.
pci0.15(ali_ide).disk1.1(ramdisk): Mounted RAMDISK, 20480 512-byte blocks, 32/16/40.
pci0.19(ali_usb): $Id: AliM1543C_usb.cpp,v 1.6 2008/03/14 15:30:50 iamcamiel Exp $
%DPR-F-NOREST: DPR could not be restored from rom\dpr.rom
sys0(tsunami): $Id: DPR.cpp,v 1.23 2008/06/12 07:29:44 iamcamiel Exp $
cpu0(ev68cb)(0): $Id: AlphaCPU.cpp,v 1.82 2009/03/16 01:33:27 iamcamiel Exp $
cpu1(ev68cb)(1): $Id: AlphaCPU.cpp,v 1.82 2009/03/16 01:33:27 iamcamiel Exp $
pci0.7(ali): $Id: AliM1543C.cpp,v 1.66 2008/05/31 15:47:07 iamcamiel Exp $
kbc: $Id: Keyboard.cpp,v 1.10 2008/05/31 15:47:09 iamcamiel Exp $
%IDE-I-INIT: New IDE emulator initialized.
Emulator Failure: File not found: cirrus rom file rom\vgabios-0.6a.debug.bin not found.: Cirrus.cpp, line 295
Stop threads:
Freeing memory in use by system...
pci0.15(ali_ide).disk0.0(file): Closing file.
*** Error in `es40': double free or corruption (fasttop): 0x0000000001f53aa0 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7f6f1a9977e5]
/lib/x86_64-linux-gnu/libc.so.6(+0x8037a)[0x7f6f1a9a037a]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x4c)[0x7f6f1a9a453c]
es40[0x43ade9]
es40[0x45597f]
In this case the VGA bios. Later on I ended up turning this off, but for now
lets download it:
wget http://savannah.gnu.org/download/vgabios/vgabios-0.6a.debug.bin -O "rom\vgabios-0.6a.debug.bin"
To skip ahead to a working situation, comment out these sections as well:
// pci0.4 = dec21143 {
// }
and
// action = """c:\Program Files\PuTTY\putty.exe"" telnet://localhost:21264";
// action = """c:\Program Files\PuTTY\putty.exe"" telnet://localhost:21265";
and
// pci0.2 = cirrus
// {
// rom = "rom\vgabios-0.6a.debug.bin";
// }
As you might have guessed I had to figure out all these issues by slowly
tweaking the configuration until it booted up.
### Configuration that boots without segfaults
Our configuration now looks like this:
//gui = sdl
{
keyboard.use_mapping = false;
keyboard.map = "keys.map";
}
sys0 = tsunami
{
rom.srm = "cl67srmrom.exe";
rom.decompressed = "decompressed.rom";
rom.flash = "flash.rom";
rom.dpr = "rdpr.rom";
memory.bits = 30;
cpu0 = ev68cb
{
icache = true;
speed = 800M;
}
cpu1 = ev68cb
{
icache = true;
speed = 800M;
}
pci0.7 = ali{
mouse.enabled = true;
lpt.outfile = "lpt.out";
}
pci0.15 = ali_ide
{
disk0.0 = file
{
file = "disk0.img";
serial_number = "VMS";
rev_number = "8.4";
model_number = "OpenVMS8.3";
read_only = false;
cdrom = false;
autocreate_size = 600M;
}
disk1.0 = file
{
file = "ALPHA084.ISO";
read_only = true;
cdrom = true;
}
disk1.1 = ramdisk
{
size = 10M;
}
}
pci0.19 = ali_usb {}
serial0 = serial {
port = 21264;
}
}
### SRM (System Reference Manual) firmware
The emulator needs special firmware [from HP][12], the SRM.
The SRM firmware (also called the SRM console) is the boot firmware written by
DEC for systems based on the Alpha AXP microprocessor. The acronym SRM is
derived from the phrase Alpha System Reference Manual, the publication detailing
the Alpha AXP architecture and which specified various features of the SRM
firmware. The SRM console was initially designed to boot DEC's OSF/1 AXP (later
called Digital UNIX and finally Tru64 UNIX) and OpenVMS operating systems,
although various other operating systems (such as Linux, NetBSD, OpenBSD, and
FreeBSD, for example) were also written to boot from the SRM console. The third
proprietary operating system published for the Alpha AXP architecture -
Microsoft Windows NT - did not boot from SRM; instead, Windows booted from the
ARC (multi platform "Advanced RISC Computing") boot firmware. (ARC is also known
as AlphaBIOS.)
When the system is booted, the SRM console is displayed as a blue screen with a
prompt. The prompt looks like `P00>>>` (the `00` indicates the primary
processor). On multi-processor machines, the prompt could be `P01>>>`, `P02>>>`,
etc. It views your NVRAM and devices as a pseudo-filesystem. You can see this if
you use the `ls` command. Also, it contains a fairly large set of diagnostic,
setup, and debugging utilities As well, SRM has environment variables, a number
of which are pre-defined and correspond to locations in NVRAM. You can view the
entire list of environment variables and their values with the `show` command
(there are quite a few of them, so you will probably want to pipe its output to
`more`). You can also show variables matching a "glob" pattern, for example,
`show boot*` will show all the variables starting in "boot". Read more about the
[SRM here][13] or [on wikipedia][14].
Download rom image [from here: cl67srmrom.exe][15]. It can be found on HP's
public FTP servers as well if needed, see the link above.
Make sure the filename in the configuration matches:
rom.srm = "cl67srmrom.exe";
### Boot up es40, finally
Now that we have a configuration file that does not cause a segfault, we can
boot up and connect to telnet to access the emulator.
$ es40
Output:
**======================================================================**
|| ES40 emulator ||
|| Version 0.18+ ||
|| ||
|| Copyright (C) 2007-2008 by the ES40 Emulator Project ||
|| Website: http://sourceforge.net/projects/es40 ||
|| E-mail : camiel@camicom.com ||
|| ||
|| This program is free software; you can redistribute it and/or ||
|| modify it under the terms of the GNU General Public License ||
|| as published by the Free Software Foundation; either version 2 ||
|| of the License, or (at your option) any later version. ||
**======================================================================**
%GUI-I-INS: Installing sdl module as the ES40 GUI
sys0(tsunami): $Id: System.cpp,v 1.79 2008/06/12 07:29:44 iamcamiel Exp $
%FLS-F-NOREST: Flash could not be restored from rom\flash.rom
sys0(tsunami): $Id: Flash.cpp,v 1.19 2008/03/24 22:11:50 iamcamiel Exp $
dma: $Id: DMA.cpp,v 1.9 2008/04/29 09:24:52 iamcamiel Exp $
pci0.15(ali_ide).disk0.0(file): Mounted file img\disk0.img, 1228800 512-byte blocks, 1536/16/50.
pci0.15(ali_ide).disk1.0(file): Mounted file ALPHA084.ISO, 337251 2048-byte blocks, 112417/3/1.
pci0.15(ali_ide).disk1.1(ramdisk): Mounted RAMDISK, 20480 512-byte blocks, 32/16/40.
pci0.19(ali_usb): $Id: AliM1543C_usb.cpp,v 1.6 2008/03/14 15:30:50 iamcamiel Exp $
%DPR-F-NOREST: DPR could not be restored from rom\dpr.rom
sys0(tsunami): $Id: DPR.cpp,v 1.23 2008/06/12 07:29:44 iamcamiel Exp $
cpu0(ev68cb)(0): $Id: AlphaCPU.cpp,v 1.82 2009/03/16 01:33:27 iamcamiel Exp $
cpu1(ev68cb)(1): $Id: AlphaCPU.cpp,v 1.82 2009/03/16 01:33:27 iamcamiel Exp $
pci0.7(ali): $Id: AliM1543C.cpp,v 1.66 2008/05/31 15:47:07 iamcamiel Exp $
kbc: $Id: Keyboard.cpp,v 1.10 2008/05/31 15:47:09 iamcamiel Exp $
%IDE-I-INIT: New IDE emulator initialized.
pci0.2(cirrus): $Id: Cirrus.cpp,v 1.23 2008/05/31 15:47:09 iamcamiel Exp $
%SYS-I-READROM: Reading original ROM image from cl67srmrom.exe.
%SYS-I-DECOMP: Decompressing ROM image.
0%....10%....20%....30%....40%....50%....60%....70%....80%....90%......100%
%SYS-I-ROMWRT: Writing decompressed rom to rom\decompressed.rom.
%SYM-I-PATCHROM: Patching ROM for speed.
%SYS-I-ROMLOADED: ROM Image loaded successfully!
%DPR-F-NOREST: DPR could not be restored from rom\dpr.rom
sys0(tsunami): $Id: DPR.cpp,v 1.23 2008/06/12 07:29:44 iamcamiel Exp $
Start threads: cpu0 cpu1 ali kbd ide0 ide1 cirrus
It will wait with booting until you connect to telnet, then it will boot
through:
serial0(serial): Waiting for connection on port 21264.
serial0(serial): $Id: Serial.cpp,v 1.51 2008/06/03 09:07:56 iamcamiel Exp $
%SYS-I-READROM: Reading decompressed ROM image from rom\decompressed.rom.
%SYM-I-PATCHROM: Patching ROM for speed.
%SYS-I-ROMLOADED: ROM Image loaded successfully!
dpr: 16384 bytes restored.
%DPR-I-RESTST: DPR state restored from rom\dpr.rom
sys0(tsunami): $Id: DPR.cpp,v 1.23 2008/06/12 07:29:44 iamcamiel Exp $
Start threads: cpu0 ali kbd ide0 ide1 srl0
*** CPU0 *** STARTING ***
Arbitration 0000000000010000 from CPU 0 (@13e39)... won 0000000800010000
Arbitration clear from CPU 0 (@13f55).
Arbitration 0000000000010000 from CPU 0 (@13351)... won 0000000800010000
Arbitration clear from CPU 0 (@133b9).
Arbitration 0000000000010000 from CPU 0 (@13351)... won 0000000800010000
Arbitration clear from CPU 0 (@133b9).
Arbitration 0000000000010000 from CPU 0 (@13351)... won 0000000800010000
Arbitration clear from CPU 0 (@133b9).
Connect to telnet on port 21264 from a different terminal:
$ telnet 127.0.0.1 21264
Output:
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
This is serial port #0 on ES40 Emulator
Quoting from the [es40][6] site:
> The port 21264 was choosen on purpose. Actually this was the first EV6 Alpha
processor CPU model number.
There seems to be a GUI option, but that window was very tall and small and was
not resizable. I therefore choose to use telnet only.
### SYSFAULT CPU1 - pc = 001a0e84
The boot continued, and I was happy:
OpenVMS PALcode V 1 . 9 8 - 1 0 4 , Tru64 UNIX PALcode V 1 . 9 2 - 1 0 5
starting console on CPU 0
initialized idle PCB
initializing semaphores
initializing heap
initial heap 240c0
memory low limit = 1b0000 heap = 240c0, 17fc0
initializing driver structures
initializing idle process PID
initializing file system
initializing hardware
initializing timer data structures
lowering IPL
CPU 0 speed is 800 MHz
create dead eater
create poll
create timer
create powerup
access NVRAM
Memory size 1024 MB
testing memory
..
probe I/O subsystem
probing hose 1, PCI
probing hose 0, PCI
probing PCI-to-ISA bridge, bus 1
bus 0, slot 15 -- dqa -- Acer Labs M1543C IDE
bus 0, slot 15 -- dqb -- Acer Labs M1543C IDE
starting drivers
entering idle loop
starting console on CPU 1
initialized idle PCB
initializing idle process PID
lowering IPL
[...]
SYSFAULT CPU1 - pc = 001a0e84
exception context saved starting at 001ACD10
CPU 1 speed is 7692 MHz
create powerup
And it hang. My happiness was short. Searching around the internet lead me to
[the following support information][16]. It states:
> This is not an error caused by a hardware failure. The SRM console decreases
or increases its dynamic memory allocation (called heap space) to accomodate the
hardware configuration, to include the PCI devices installed. The system will
add 64kb of heap space for each re-init until it has adequate space. A few re-
inits are possible until it has enough.
The windows way of solving problems. Reboot until it works. I tried it a few
times, and suprisingly, it worked.
OpenVMS PALcode V 1 . 9 8 - 1 0 4 , Tru64 UNIX PALcode V 1 . 9 2 - 1 0 5
starting console on CPU 0
initialized idle PCB
initializing semaphores
initializing heap
initial heap 240c0
memory low limit = 1b0000 heap = 240c0, 17fc0
initializing driver structures
initializing idle process PID
initializing file system
initializing hardware
initializing timer data structures
lowering IPL
CPU 0 speed is 800 MHz
create dead eater
create poll
create timer
create powerup
access NVRAM
Memory size 1024 MB
testing memory
...
probe I/O subsystem
probing hose 1, PCI
probing hose 0, PCI
probing PCI-to-ISA bridge, bus 1
bus 0, slot 15 -- dqa -- Acer Labs M1543C IDE
bus 0, slot 15 -- dqb -- Acer Labs M1543C IDE
starting drivers
entering idle loop
starting console on CPU 1
initialized idle PCB
initializing idle process PID
lowering IPL
*** system serial number not set. use set sys serial num command.
Partition 0, Memory base: 000000000, size: 040000000
initializing GCT/FRU at 1c8000
Initializing dqa dqb
Memory Testing and Configuration Status
Array Size Base Address Intlv Mode
--------- ---------- ---------------- ----------
0 1024Mb 0000000000000000 4-Way
1024 MB of System Memory
Testing the System
[...]
And at last, it dropped me into the SRM prompt:
AlphaServer ES40 Console V7.3-1, built on Feb 27 2007 at 12:57:47
P00>>>
Using the reference manual I found out that you have to issue a boot command
with a device. Use `show dev` to show all devices
P00>>>show dev
dqa0.0.0.15.0 DQA0 OpenVMS8 .3
dqb0.0.1.15.0 DQB0 ALPHA084 .ISO
dqb1.1.1.15.0 DQB1 ES40RAMD ISK
dva0.0.0.1000.0 DVA0
P00>>>
Since we want to boot from the ISO, our boot device is `DQB0`:
P00>>>boot dqb0
(boot dqb0.0.1.15.0 -flags 0)
block 0 of dqb0.0.1.15.0 is a valid boot block
reading 1230 blocks from dqb0.0.1.15.0
bootstrap code read in
base = 200000, image start = 0, image bytes = 99c00(629760)
initializing HWRPB at 2000
initializing page table at 3ff54000
initializing machine state
setting affinity to the primary CPU
jumping to bootstrap code
CPU 1 unable to complete console mode transition 1
CPU 1: begin = 501958484969, end = 525958485958, delta = 24000000989
CPU 1 unable to complete console mode transition 2
CPU 1: begin = 525961938442, end = 549961938919, delta = 24000000477
SYSFAULT CPU0 - pc = 001a0e84
exception context saved starting at 0002D9E0
A CPU error? Searching the internet gave no real help so I decided to comment
out the second CPU from the config, so that we emulate a single CPU machine:
//cpu1 = ev68cb
//{
// icache = false;
// speed = 800M;
//}
### Installing OpenVMS 8.4
Finally, after a few hours of compiling, tinkering and tweaking, it boots up!
OpenVMS (TM) Alpha Operating System, Version V8.4
Copyright 1976-2010 Hewlett-Packard Development Company, L.P.
Please enter date and time (DD-MMM-YYYY HH:MM)
This looks like a normal installation screen. Yay! It is very slow however, it
takes almost 10 seconds after I entered the date for the next line of text to
show up.
Please enter date and time (DD-MMM-YYYY HH:MM) 24-APR-2018 21:12
Installing required known files...
Configuring devices...
****************************************************************
You can install or upgrade the OpenVMS ALPHA operating system
or you can install or upgrade layered products that are included
on the OpenVMS ALPHA distribution media (CD/DVD).
You can also execute DCL commands and procedures to perform
"standalone" tasks, such as backing up the system disk.
Please choose one of the following:
1) Upgrade, install or reconfigure OpenVMS ALPHA Version V8.4
2) Display layered products that this procedure can install
3) Install or upgrade layered products
4) Show installed products
5) Reconfigure installed products
6) Remove installed products
7) Find, Install or Undo patches; Show or Delete Recovery Data
8) Execute DCL commands and procedures
9) Shut down this system
Enter CHOICE or ? for help: (1/2/3/4/5/6/7/8/9/?)
We want to install, so choose 1.
***********************************************************
This procedure will ask a series of questions.
() - encloses acceptable answers
[] - encloses default answers
Type your response and press the key. Type:
? - to repeat an explanation
^ - to change prior input (not always possible)
Ctrl/Y - to exit the installation procedure
There are two choices for installation/upgrade:
Initialize - Removes all software and data files that were
previously on the target disk and installs OpenVMS ALPHA.
Preserve -- Installs or Upgrades OpenVMS ALPHA on the target disk
and retains all other contents of the target disk.
* Note: You cannot use preserve to install OpenVMS ALPHA on a disk on
which any other operating system is installed. This includes
implementations of OpenVMS for other architectures.
Do you want to INITIALIZE or to PRESERVE? [PRESERVE] INITIALIZE
This is a new installation, so wipe all the things.
Enter device name for target disk: (? for choices) DQA0
Our boot device is the CDROM, `DQB0`, the prompt earlier shows `DQA0` as the
(virtual) disk.
Enter volume label for target system disk: [ALPHASYS] username2
If you're going to cluster, every disk must have a unique name. I tend to go
with the system hostname as system disk name.
The target system disk can be initialized with On-Disk Structure
Level 2 (ODS-2) or Level 5 (ODS-5). (? for more information)
Do you want to initialize with ODS-2 or ODS-5? (2/5/?) 5
ODS, meaning `on disk structure`, is part of the `Files-11` filesystem. Compare
it with `ext2/3/4`.
"Files-11" is the general term for five separate file systems, known as on-disk
"structure (ODS) levels 1 through 5.
* ODS-1 is the flat file system used by the RSX-11 OS, supported by older VMS systems for RSX compatibility, but never used to support VMS itself; it has been largely superseded by ODS-2 and ODS-5.
* ODS-2 is the standard VMS file system, and remains the most common file system for system disks (the disk on which the operating system is installed).
* Although seldom referred to by their ODS level designations, ODS-3 and ODS-4 are the Files-11 support for the CD-ROM ISO 9660 and High Sierra Format file systems, respectively.
* ODS-5 is an extended version of ODS-2 available on Alpha and IA-64 platforms which adds support for case-preserving filenames with non-ASCII characters and improvements to the hierarchical directory support.
[Read more here][17]
Do you want to enable hard links? (Yes/No/?) yes
Not sure what the impact is but lets do it. Enable those hard links.
You have chosen to install OpenVMS ALPHA on a new disk.
The target system disk, DQA0:, will be initialized
with structure level 5 (ODS-5).
Hard links WILL be enabled.
The disk will be labeled username2.
Any data currently on the target system disk will be lost.
Is this OK? (Yes/No) yes
This is an overview of what we selected. Go ahead.
Initializing and mounting target....
%MOUNT-F-ACCVIO, access violation, reason mask=!XB, virtual address=!XH, PC=!XH, PS=!XL
DQA0: was previously selected as the target system.
DQA0: has been modified.
If you need to return the target system to its original state,
you may need to restore your backup of the target system.
If you want to re-do the installation, HP recommends that you
restore your backup of the target system. Repeating the
installation may succeed, but it may also introduce subtle problems.
A failure again? Remember, I'm several hours into this project without success.
Let's try again then.
Enter device name for target disk: [DQA0] (? for choices) ?
Device Device Error Volume Free Trans Mnt
Name Status Count Label Blocks Count Cnt
DQB0: Mounted wrtlck 0 ALPHA084 135393 79 1
DQB1: Online 0
DVA0: Offline 0
DQA0: Online 0
DQA1: Offline 1
DAD0: Online 0
? was previously selected as the target system.
? has been modified.
If you need to return the target system to its original state,
you may need to restore your backup of the target system.
If you want to re-do the installation, HP recommends that you
restore your backup of the target system. Repeating the
installation may succeed, but it may also introduce subtle problems.
Enter device name for target disk: [DQA0] (? for choices)
DQA0: is now labeled username2.
Do you want to keep this label? (Yes/No) [Yes]
The target system disk can be initialized with On-Disk Structure
Level 2 (ODS-2) or Level 5 (ODS-5). (? for more information)
Do you want to initialize with ODS-2 or ODS-5? (2/5/?) 5
Hard links can be enabled on ODS-5 disks. (? for more information)
Do you want to enable hard links? (Yes/No/?) yes
You have chosen to install OpenVMS ALPHA on a new disk.
The target system disk, DQA0:, will be initialized
with structure level 5 (ODS-5).
Hard links will NOT be enabled.
The disk will be labeled username2.
Any data currently on the target system disk will be lost.
Is this OK? (Yes/No) yes
Initializing and mounting target....
Creating page and swap files....
That's weird, none of my choices were different but the result is that it does
continue with the installation.
You must enter a password for the SYSTEM account.
The password must be a minimum of 8 characters in length, and
may not exceed 31 characters. It will be checked and verified.
The system will not accept passwords that can be guessed easily.
The password will not be displayed as you enter it.
Password for SYSTEM account:
Re-enter SYSTEM password for verification:
This is just like the OpenVMS 7.3 install. Enter a system password.
Will this system be a member of an OpenVMS Cluster? (Yes/No)
Will this system be an instance in an OpenVMS Galaxy? (Yes/No) no
Clustering will be configured later.
For your system to operate properly, you must set two parameters:
SCSNODE and SCSSYSTEMID.
SCSNODE can be from 1 to 6 letters or numbers. It must contain at
least one letter.
If you plan to use DECnet, SCSNODE must be the DECnet Phase IV
node name, or the DECnet-Plus (Phase V) node synonym.
If you have multiple OpenVMS systems, the SCSNODE on each system
must be unique.
Enter SCSNODE: username2
If you plan to use DECnet, SCSSYSTEMID must be set based on the
DECnet Phase IV address.
Do you plan to use DECnet? (Yes/No) [Yes] yes
DECnet Phase IV addresses are in the format
DECnet area number.DECnet node number
DECnet area number is a number between 1 and 63.
DECnet node number is a number between 1 and 1023.
If you plan to use DECnet WITHOUT Phase IV compatible addresses,
enter 0.0.
Enter DECnet (Phase IV) Address: [1.1]
SCSSYSTEMID will be set to 1025.
This was calculated as follows:
(DECnet area number * 1024) + DECnet node number
This is the networking stuff for DECnet. Since this is a test setup we can use
the defaults.
Configuring the Local Time Zone
TIME ZONE SPECIFICATION -- MAIN Time Zone Menu "*" indicates a menu
0* GMT
1* AFRICA 17) EST 33) IRAN 49) PORTUGAL
2* AMERICA 18) EST5EDT 34) ISRAEL 50) PRC
3* ANTARCTICA 19* ETC 35) JAMAICA 51) PST8PDT
4* ARCTIC 20* EUROPE 36) JAPAN 52) ROC
5* ASIA 21) FACTORY 37) KWAJALEIN 53) ROK
6* ATLANTIC 22) GB-EIRE 38) LIBYA 54) SINGAPORE
7* AUSTRALIA 23) GB 39) MET 55) TURKEY
8* BRAZIL 24) GMT-0 40* MEXICO 56) UCT
9* CANADA 25) GMT 41* MIDEAST 57) UNIVERSAL
10) CET 26) GMT0 42) MST 58* US
11* CHILE 27) GMTPLUS0 43) MST7MDT 59) UTC
12) CST6CDT 28) GREENWICH 44) NAVAJO 60) W-SU
13) CUBA 29) HONGKONG 45) NZ-CHAT 61) WET
14) EET 30) HST 46) NZ 62) ZULU
15) EGYPT 31) ICELAND 47* PACIFIC
16) EIRE 32* INDIAN 48) POLAND
Press "Return" to redisplay, enter "=" to search or "?" for help, or
Select the number above that best represents the desired time zone: 0
ETC Time Zone Menu "*" indicates a menu
0* RETURN TO MAIN TIME ZONE MENU
1) GMT-0 10) GMT-4 19) GMTPLUS1 28) GMTPLUS7
2) GMT-1 11) GMT-5 20) GMTPLUS10 29) GMTPLUS8
3) GMT-10 12) GMT-6 21) GMTPLUS11 30) GMTPLUS9
4) GMT-11 13) GMT-7 22) GMTPLUS12 31) GREENWICH
5) GMT-12 14) GMT-8 23) GMTPLUS2 32) UCT
6) GMT-13 15) GMT-9 24) GMTPLUS3 33) UNIVERSAL
7) GMT-14 16) GMT 25) GMTPLUS4 34) UTC
8) GMT-2 17) GMT0 26) GMTPLUS5 35) ZULU
9) GMT-3 18) GMTPLUS0 27) GMTPLUS6
Press "Return" to redisplay, enter "=" to search or "?" for help, or
Select the number above that best represents the desired time zone: 19
You selected ETC / GMTPLUS1 as your time zone.
Is this correct? (Yes/No) [YES]: yes
Time zone here in The Netherlands is GMT+1.
Configuring the Time Differential Factor (TDF)
Default Time Differential Factor is -1:00.
The Time Differential Factor (TDF) is the difference between your
system time and Coordinated Universal Time (UTC). UTC is similar
in most respects to Greenwich Mean Time (GMT).
The TDF is expressed as hours and minutes, and should be entered
in the hh:mm format. TDFs for the Americas will be negative
(-3:00, -4:00, etc.); TDFs for Europe, Africa, Asia and Australia
will be positive (1:00, 2:00, etc.).
Enter the Time Differential Factor [-1:00]:
NEW SYSTEM TIME DIFFERENTIAL FACTOR = -1:00
Is this correct? [Y]:
Defaults are fine here.
Do you want to register any Product Authorization Keys? (Yes/No) [Yes] no
Entering the license later on is way easier then during the installation.
The following products are part of the the OpenVMS installation;
they will be installed along with the OpenVMS operating system:
o Availability Manager (base) for OpenVMS Alpha
o CDSA for OpenVMS Alpha
%SYSTEM-F-ACCVIO, access violation, reason mask=00, virtual address=FFFFFFFFFFFFFFB8, PC=000000007
FDC5210, PS=0000001B
Improperly handled condition, image exit forced.
Signal arguments: Number = 0000000000000005
Name = 000000000000000C
0000000000000000
FFFFFFFFFFFFFFB8
000000007FDC5210
000000000000001B
Register dump:
R0 = 000000007FD1A7B8 R1 = 000000007FC71748 R2 = 000000007FD1A888
R3 = 000000007FC717C0 R4 = 00000000000310FC R5 = 000000007FFEFD00
R6 = 000000007FC71768 R7 = 000000007FCC526C R8 = 000000007FF9CDE8
R9 = 000000007FC719B0 R10 = 000000007FC717C0 R11 = 0000000000000001
R12 = 000000007FFCDA98 R13 = 000000007FD22318 R14 = 0000000000000000
R15 = 000000007FD1E970 R16 = 000000007FC71768 R17 = 0000000000000000
R18 = 000000007FC71710 R19 = 0000000000000001 R20 = 0000000000000003
R21 = 000000007FC7174E R22 = 0000000000000007 R23 = 000000007FC71719
R24 = 0000000000000000 R25 = 0000000000010B44 R26 = 000000007FDC5204
R27 = 000000007FD1A790 R28 = 0000000000000001 R29 = 000000007FC71740
SP = 000000007FC71740 PC = 000000007FDC5210 PS = 000000000000001B
%SYSTEM-F-ACCVIO, access violation, reason mask=!XB, virtual address=!XH, PC=!XH, PS=!XL
Installation has been terminated by an unexpected error.
The installation has not completed normally.
You should correct the situation which caused the termination
and then re-do the installation or upgrade.
Process AXPVMS INSTALL logged out at 23-APR-2018 20:37:00.40
Press Return to continue...
No! We were so far this time. I tried the install another time, this time with
ODS-2 as the filesystem, and it failed again, just a little further than the
previous time. Literally, 1 line later:
The following products are part of the the OpenVMS installation;
they will be installed along with the OpenVMS operating system:
o Availability Manager (base) for OpenVMS Alpha
o CDSA for OpenVMS Alpha
o KERBEROS for OpenVMS Alpha
%SYSTEM-F-ACCVIO, access violation, reason mask=00, virtual address=FFFFFFFFFFFFFFB8, PC=000000007
FDC5210, PS=0000001B
Improperly handled condition, image exit forced.
Signal arguments: Number = 0000000000000005
Name = 000000000000000C
0000000000000000
FFFFFFFFFFFFFFB8
000000007FDC5210
000000000000001B
Register dump:
R0 = 000000007FD1A7B8 R1 = 000000007FC71748 R2 = 000000007FD1A888
R3 = 000000007FC717C0 R4 = 00000000000310FC R5 = 000000007FFEFD00
R6 = 000000007FC71768 R7 = 000000007FCC526C R8 = 000000007FF9CDE8
R9 = 000000007FC719B0 R10 = 000000007FC717C0 R11 = 0000000000000001
R12 = 000000007FFCDA98 R13 = 000000007FD22318 R14 = 0000000000000000
R15 = 000000007FD1E970 R16 = 000000007FC71768 R17 = 0000000000000000
R18 = 000000007FC71710 R19 = 0000000000000001 R20 = 0000000000000003
R21 = 000000007FC7174E R22 = 0000000000000007 R23 = 000000007FC71719
R24 = 0000000000000000 R25 = 0000000000010B44 R26 = 000000007FDC5204
R27 = 000000007FD1A790 R28 = 0000000000000001 R29 = 000000007FC71740
SP = 000000007FC71740 PC = 000000007FDC5210 PS = 000000000000001B
%SYSTEM-F-ACCVIO, access violation, reason mask=!XB, virtual address=!XH, PC=!XH, PS=!XL
Installation has been terminated by an unexpected error.
The installation has not completed normally.
You should correct the situation which caused the termination
and then re-do the installation or upgrade.
Process AXPVMS INSTALL logged out at 23-APR-2018 20:41:53.85
Press Return to continue...
Reading through [more dev docs from the emulator][18], I found this:
> There is a permissions violation during install. Do not abort it, and the
install will work anyway. (note Camiel: differing results of installation
reported. A lot seems to depend on timing).
I tried a few more times, playing with the config file (different CPU speed,
different disk sizes etc), but I ran into other failures like these:
Exception in CPU thread: System exception: cannot signal semaphore: count would exceed maximum.
Emulator Failure: Threading error: CPU thread has died: AlphaCPU.cpp, line 532
Stop threads: cpu0 ali kbd ide0 ide1 srl0
Freeing memory in use by system...
pci0.15(ali_ide).disk0.0(file): Closing file.
*** Error in `es40': double free or corruption (fasttop): 0x0000000001886fe0 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7fe419d977e5]
/lib/x86_64-linux-gnu/libc.so.6(+0x8037a)[0x7fe419da037a]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x4c)[0x7fe419da453c]
es40[0x43ade9]
es40[0x45597f]
es40[0x4559e9]
es40(main+0x367)[0x405907]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7fe419d40830]
es40[0x405c09]
======= Memory map: ========
00400000-00497000 r-xp 00000000 00:00 489903 /usr/local/bin/es40
00696000-00697000 r--p 00096000 00:00 489903 /usr/local/bin/es40
00697000-0069d000 rw-p 00097000 00:00 489903 /usr/local/bin/es40
0069d000-006bf000 rw-p 00000000 00:00 0
01868000-018aa000 rw-p 00000000 00:00 0
Since I already spent a few hours tinkering without result, [the only post
here][19] wasn't very usefull since my disk is only 600 MB, and I didn't find
any other information, I decided to stop here and try it in another emulator,
probably FreeAXP for Windows.
Let's hope the x86 port is finished soon so it can run under KVM and virtualbox.
[1]: https://raymii.org/s/inc/img/ovmsdec.png
[2]: https://raymii.org/s/tags/openvms.html
[3]: http://decus.org
[4]: https://raymii.org/s/blog/Backspace_and_delete_key_behaviour_on_OpenVMS.html
[5]: https://www.digitalocean.com/?refcode=7435ae6b8212
[6]: http://es40.org
[7]: https://www.youtube.com/user/ibm360m65/videos
[8]: http://dipc.ehu.es/cc/computing_resources/erebo.html
[9]: https://raymii.org/s/inc/img/es-40.jpg
[10]: http://web.archive.org/web/20180424094256/http://vaxhaven.com/AlphaServer_ES40
[11]: https://packages.ubuntu.com/search?suite=lucid&arch=any&mode=exactfilename&searchon=contents&keywords=X11%2FIntrinsic.h
[12]: ftp://ftp.hp.com/pub/alphaserver/firmware/current_platforms/v7.3_release/ES40_series/updateviawindows-es40.html
[13]: https://web.archive.org/web/20140106183813/http://www.alphalinux.org/faq/SRM-HOWTO/srm-whatis.html
[14]: https://en.wikipedia.org/wiki/System_Reference_Manual
[15]: https://raymii.org/s/inc/downloads/es40-srmon/cl67srmrom.exe
[16]: https://web.archive.org/web/20180424175732/https://support.hpe.com/hpsc/doc/public/display?docId=emr_na-c03082736
[17]: https://en.wikipedia.org/wiki/Files-11#Overview
[18]: https://web.archive.org/web/20180424184218/http://es40.org/dox/guest_os.html
[19]: https://web.archive.org/web/20180424185148/http://www.openvmshobbyist.com/forum/viewthread.php?forum_id=163&thread_id=1616&rowstart=20
---
License:
All the text on this website is free as in freedom unless stated otherwise.
This means you can use it in any way you want, you can copy it, change it
the way you like and republish it, as long as you release the (modified)
content under the same license to give others the same freedoms you've got
and place my name and a link to this site with the article as source.
This site uses Google Analytics for statistics and Google Adwords for
advertisements. You are tracked and Google knows everything about you.
Use an adblocker like ublock-origin if you don't want it.
All the code on this website is licensed under the GNU GPL v3 license
unless already licensed under a license which does not allows this form
of licensing or if another license is stated on that page / in that software:
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see .
Just to be clear, the information on this website is for meant for educational
purposes and you use it at your own risk. I do not take responsibility if you
screw something up. Use common sense, do not 'rm -rf /' as root for example.
If you have any questions then do not hesitate to contact me.
See https://raymii.org/s/static/About.html for details.