Installing Mathematica for OS/2 Symmetrical Multiprocessing (SMP) v2.11 / HPFS386 Hack in VirtualBox

(Once the video player has started, right selecting (or 'clicking') your device (or 'mouse') will show menu option, 'Open video in new tab', which will enable larger screen size.)

Procedure to install Mathematica v2.2 for OS/2 in my local copy of the VirtualBox 7.0.12 OS/2 for SMP v2.11 with HPFS386 virtual machine hosted in my four(4) CPU / eight(8) CORE Metztli Reiser4 development environment.

Subsequently this VirtualBox vm will be uploaded to a remote server, with a Metztli Reiser4 for AMD CPUs environment, i.e., reizer4, and I will utilize VBoxManage to increase the cpu count to 16 in the headless environment.

Although the visual media is self explanatory, I included a few Mathematica for OS/2 installation procedure snapshots which may be of relevant historical interest:

Mathematica for OS/2 preliminary install screen
Mathematica for OS/2 preliminary install screen

Diskette 1 has been inserted a priori and we can see that it is executing initial installation phase:

Mathematica for OS/2 a priori inserted diskette 1 which is running
Mathematica a priori inserted diskette 1 which is running

Mathematica for OS/2 installer prompts for diskette 2:

Mathematica for OS/2 insert diskette 2
Mathematica for OS/2 insert diskette 2

Diskette 2 installer executes and proceeds with second phase of installation:

Mathematica for OS/2 diskette 2 running
Mathematica for OS/2 diskette 2 running

Mathematica for OS/2 installation routine prompts for diskette 3:

Mathematica for OS/2 insert diskette 3
Mathematica for OS/2 insert diskette 3

Diskette 3 routine of the installer picks up where the previous left of:

Mathematica for OS/2 diskette 3 running
Mathematica for OS/2 diskette 3 running

Mathematica for OS/2 installer routine prompts for diskette 4:

Mathematica for OS/2 insert diskette 4
Mathematica for OS/2 insert diskette 4

Diskette 4 carries installation past the half of the total routine:

Mathematica for OS/2 diskette 4 running
Mathematica for OS/2 diskette 4 running

Mathematica for OS/2 installer prompts for the final diskette 5:

Mathematica for OS/2 insert final diskette 5
Mathematica for OS/2 insert final diskette 5

Diskette 5 installation routine completes the Mathematica for OS/2 installation:

Mathematica for OS/2 final diskette 5 running
Mathematica for OS/2 final diskette 5 runing

Mathematica for OS/2 prompts us whether we agree with the default -named folder -- or else &#59;D

Mathematica for OS/2 default -named folder
Mathematica for OS/2 default -named folder

Subsequently, a dialog informs us that Mathematica for OS/2 is installed!

Mathematica for OS/2 dialog install complete
Mathematica for OS/2 dialog install complete

Nepohualtzintzin (Ne∙pohual∙tzin∙tzin) ≈ I can compute infinitesimals -- from the Nahuatl, real Mexico - Tenochtitlan's language -- which predates the alien Anglo-Saxons / Iberian / French, etc. all, European invaders' Latin vulgar -derived dialects on this continent originally known as Ixachitlan ≈ Landmass Immensity.

OS/2 for Symmetric Multiprocessing (SMP) 16 CPU/Core version 2.11 with Mathematica: 'Klein Bottle'

Mathematica for OS/2 2.11 on SMP: 'Klein Bottle'



As an addendum to my previous 'Mathematica on OS/2 Symmetrical Multiprocessing (SMP) for v2.11 Guest in VirtualBox 16 CPU/Cores' post in Collection Ixiptli, I remembered I had seen the so-called 'Klein Bottle' in an older manual I had many Metztli  ago.1



(Once the video player has started, right selecting (or 'clicking') your device (or 'mouse') will show menu option, 'Open video in new tab', which will enable larger screen size.)


1 Notwithstanding, at that time, the front window of my car was broken and my backpack was stolen in San Francisco as I had parked, on the street, next to San Francisco State University -- and I had that manual in there.

Klein Bottle rendered in Mathematica for OS/2

Jose   ,   Mar 13 / 05:15
Categories: OS/2

OS/2 2.11 SMP Bootable CDROM 10 Minute Installation Hack into VirtualBox

There was, still is, something appealing about OS/2 -- it was ahead of its time, Warp indeed -- The Integrating Platform. I came across some relevant resources and created an OS/2 2.11 Bootable CDROM media for VirtualBox -- as I heard, through the grapevine, that it was undoable. :))

OS/2 enabled me to learn Unix by utilizing the GNU/Linux utilities ported by OS/2 hackers. Accordingly, once IBM orphaned the OS/2 -- and the executives even balked at our multiple petitions to have the OS open sourced -- the transition to Linux was relatively painless. As a matter of fact, while creating this hack I had to bring my old ported GNU/Linux utilities, alternating between OS/2 2.0, 2.1x, and even Warp 3, environments so as to alleviate the shortcoming of 640x480 resolution.

Due to the scarcity of information, I usually operate by inductive reasoning. Notwithstanding, I came across the following 'nugget':
OS/2 has supported SMP for quite a while in special editions of OS/2. The first version was 'OS/2 2.11 for Symmetrical Multiprocessing'...
The diffences between the single-processor OS/2 and the SMP version are very small: 2 APIs for controlling the CPUs, an extra index for DosQuerySysInfo() and 4 APIs for dealing with spinlocks. I know that the 'SMP addendum' mentions a lot of other things, but they are server things, not SMP things.

'OS/2 2.11 SMP' supports up to 16 processors,...
1

Yet my build of VirtualBox, from source, under a Metztli Reiser4 Debian environment can only go up to 8 processors/cores and :no: higher resolution than 640x480...

(Once the video player has started, right selecting (or 'clicking') your device (or 'mouse') will show menu option, 'Open video in new tab', which will enable larger screen size. Alternatively, the video with larger screen size may be shown in the Calli, i.e., 'Home', collection front page)

Update 12-18-2022 : my personal development computing environment can only go up to eight(8) cores; however, I installed another Oracle VirtualBox 7.0.4 -- although 'headless' -- in one of my remote Metztli Reiser4 servers. I made use of VNC to make connection and although Remmina experience a buggy pointer (or mouse) I was able to bring up the SMP Monitor. I could not delay this event as it is not everyday that an OS/2 for Symmetrical Multiprocessing (SMP) Version 2.11 is seen running on 16 CPU/Cores!

OS/2 for SMP Version 2.11 remote instance accessed via VNC

(Once the video player has started, right selecting (or 'clicking') your device (or 'mouse') will show menu option, 'Open video in new tab', which will enable larger screen size. Alternatively, the video with larger screen size may be shown in the Calli, i.e., 'Home', collection front page)


View OS/2 for SMP v2.11 Reference
View OS/2 for SMP v2.11 Reference
OS/2 for SMP v2.11 Reference at Hobbes but requires OS/2 INF VIEW.EXE utility or 'INF READER'

"

Platform Specific Drivers (PSDs)

In OS/2 for SMP V2.11, all of the platform specific code has been removed from the operating system, and placed into a Platform Specific Driver. These drivers provide an abstraction layer for the underlying hardware by allowing the operating system to call generic functions to perform platform-specific operations without worrying about the actual hardware implementation. This allows OS/2 for SMP V2.11 to support new MP hardware platforms without modifying the operating system.

PSDs are 32-bit flat DLLs specified in CONFIG.SYS by using the PSD= keyword, and must conform to the 8.3 file naming convention (e.g. PSD=BELIZE.PSD). They cannot contain either drive or path information because OS/2 cannot process such information at the stage of the startup sequence when the PSD statements are processed. The root directory of the startup partition is first searched for the specified file name, followed by the \OS2 directory of the startup partition. If drive or path information is included in a PSD statement, an error is generated.

PSD parameters may be specified after the PSD's name, and may be a maximum of 1024 characters long. The parameter string is not interpreted or parsed by OS/2, but is passed verbatim as an ASCIIZ string when the PSD's Install function is invoked.

If multiple PSD statements are encountered, OS/2 will load each PSD in the order listed in CONFIG.SYS, and call the PSD's install function. The first PSD which successfully installs will be the one OS/2 uses.

PSD statements are processed before BASEDEV, IFS, and DEVICE statements."


OS/2 UNPACK2 OS2APIC.PSD
OS/2 UNPACK2 OS2APIC.PSD

->\OS2\INSTALL\CAVERUN.PSD
->\OS2\INSTALL\OS2APIC.PSD
->\OS2\INSTALL\VIPERMP.PSD
->\OS2\INSTALL\EBI2.PSD
->\OS2\INSTALL\TRICRD.PSD
->\OS2\INSTALL\PROLIANT.PSD
->\OS2\INSTALL\WYSE.PSD
->\OS2\INSTALL\ALR.PSD

(The above are typical of middle of 1990's Compaq software bundle where OS/2 for SMP v2.11 was an option; notwithstanding, I believe that the maximum number of CPU/COREs supported was eight(8))

NOTE: If you want to acquire this OS/2 2.11 SMP Bootable CD/ISO image hack, it comes in a bottle opener USB stick:

Bottle opener USB stick
Bottle opener USB stick

and includes the IBM base OS/2 2.1 floppy images on which the hack was loosely based.

Device Drivers and MultiMedia
Device Drivers and MultiMedia

and

OS/2 2.1 installation diskettes
OS/2 2.1 installation diskettes

REFERENCES:
1 EDM/2 SMP - Symmetrical Multiprocessing

OS/2 2.11 SMP in VirtualBox 6.1.32
OS/2 2.11 SMP in VirtualBox 6.1.32

CAVEAT: I have seen some videos/statements out there where the OS2APIC.PSD is simply extracted from a higher version OS/2 for SMP and rammed in with an OS2KRNL with none or limited support for SMP, i.e., a two- CPU/Core OSKRNL with a Warp4 and/or WSeB -donated OS2APIC.PSD presented as an four(4) CPU/CORE SMP in a YouTube video out there. Well, yes, the pseudo- SMP OS/2 will experience frequent severe locks during execution. :yes: Yet, the narrator will blame those events on legacy OS/2 SMP 'instability' to hide his technical deficiency instead of admitting that he is cheating -- making fraudulent claims to defame the legacy OS/2 technology! i.e.,

Accessing Data On OS/2 JFS Partitions With GNU/Linux Debian.

Yes, OS/2 supports GNU/Linux -with difficulty.

Coming from OS/2 and learning my first GNU/Linux commands at the OS/2 command shell -in an ported public domain Korn shell (ksh) emulated environment- I can not help but peek, once in a while, into the pond from which I emerged. A couple of days ago, I visited the OS/2 World forum and scrolled the initial page for something new. Perhaps, I thought, Serenity Systems International -the last vendor of an fixpacked OS/2 known as eComStation- might have developed an booting procedure or hack that emulated the Linux booting procedure.

If true, I continued submerged in my revery, then I could build an OS/2 instance into an virtual machine to be hosted in an Infrastructure as a Service (IaaS) provider like Amazon. To my dismay, I only found what I regarded as an mundane issue that could be resolved in a jiffy (if an OS/2er were to be a little more open minded) -that of accessing OS/2 created JFS partition from an GNU/Linux distribution.

OS/2 and Lotus SmartSuite WordPro.

In preparation for a migration from an OS/2 installed base to an modern Linux alternative, the user was interested in knowing how to access OS/2 created JFS partitions from an Ubuntu Live distribution. Her/his concerned lied in the fact that whenever he tried to mount an certain OS/2 JFS partition from the Live Ubuntu distribution, the message in his Linux shell output would be along the form:

mount: wrong fs type, bad option, bad superblock on /dev/xyz,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so

Mounting an unclean OS/2 created JFS partition.

Well I just happened to have reinstalled an Linux Debian unstable distribution. No, the install is not from a “live” CD but it will help to illustrate an potential solution to the OS/2 administrator evaluating methods to migrate existing OS/2 deployments into GNU/Linux.

First of all, to exercise administrative duties in enterprise Linux, the user becomes root (or super user). Please note that from the perspective of Debian cfdisk utility, OS/2 created JFS partitions will be seen as of file system (FS) Type: Unknown (35). The reason may possibly be due to the fact that the LVM.EXE or LVMGUI.CMD disk management utilities of an appropriately upgraded OS/2 require a created physical partition to be of type LVM; otherwise formatting in the OS/2 implementation of Journaling File System (JFS) will not proceed. Hence, the GNU/Linux cfdisk utility does not appear to recognize the type of the OS/2 created partition and regard those as Unknown (35).

Observe the screenshot below:

cfdisk /dev/hda

Using Debian cfdisk utility as root user.

Additionally, note that if you hard drive is IDE, of course, you will see the Primary partitions as hda1, hda2, and hda3. Partition hda4 represents the whole extended partition; when this latter is sub-partitioned, the first extended (sub)partition is hda5, hda6, etc.. Also note from the snapshot that if Primary partitions hda2 and/or hda3 are non existent, their places are reserved; as can be observed, the very first logical (sub)partition skips over the reserved slots for Primary partitions and starts at hda5. Obviously, if your hard disk is SCSI the device seen with the cfdisk utility will be of the form sda1, sda2, etc..

Please note that Red Hat and Fedora, at the very least, may also refer to IDE drives as sda1, sda2, etc.. I just want to call your attention to the fact that under all conditions, you should verify that the Linux operating system and you are on the same page. Fedora 11, in my limited tests, was able to mount JFS partitions. Notwithstanding, for this blog I used Debian.

BACK UP YOUR JFS PARTITIONS DATA.

Avoid unnecessary woes by diligently backing up all your OS/2 JFS partitions data during the migration planning stage. Technology, being a human creation and subject to unanticipated variables, is not perfect.

Additionally, please verify that you have the Debian jfsutils package. As root user, from the command line in your Linux shell you can simply type:

apt-get update

apt-get install jfsutils

Or if you prefer to install those visually with the synaptic package manager, from the Debian desktop menu, select System, Administration, and subsequently press the Synaptic Package Manager item from the cascading options.

Selecting (from Debian menu) Synaptic Package Manager.

Alternatively, as the root user, you may just type:

synaptic

and the package manager will come into existence, as well. Either way you access Synaptic, press the Search button from the wide menu of the utility and when the search utility appears, proceed to enter the text string "jfs" into the field. After some seconds, the jfsutils will be listed among other packages that met the criteria. Selecting the item jfsutils from the list will provide additional information: Utilities for managing IBM's Journaled File System (JFS) under Linux. Hence, after installtion of the package, you will have in your Linux Debian distribution: fsck.jfs, logdump, logredo, mkfs.jfs, xchkdmp, xchklog, xpeek.

Synaptic description of Debian jfsutils.


MAKE SURE YOUR TARGET DEVICE IS NOT MOUNTED.

Reading the man page for jfs_fsck (or fsck.jfs) we note the warning: serious damage may occur if we check a mounted file system in other than READ ONLY access.

man jfs_fsck

Debian man page warns that JFS partition should be unmounted.

After verifying that our target JFS partition(s) is(are) not mounted, and scrolling further down in the man jfs_fsck information, we come across the command to form to check our OS/2 created JFS partiton(s): jfs_fsck -v -f /dev/hdxy.

Debian man jfs_fsck also shows us some hints on proper use.

As an specific example, I selected the 26GB /dev/hda10 seen in the initial cfdisk snapshot at the beginning of this blog. Accordingly, if the hypothetical Linux user xiuhtecuhtli became root (or super user) of his GNU/Linux Debian sytem, he would enter the following command to check and fix (-f) his previous OS/2 created and formatted JFS partition:

jfs_fsck -v -f /dev/hda10

Performing an file system check (and fix) on an dirty OS/2 created JFS partition.

After performing the adequate JFS modifications on the OS/2 partition, the jfs_fsck front end utility for fsck.jfs finishes; and xiuhtecuhtli would be able to mount his 26GB OS/2 created JFS partition in an relevant directory created under /mnt, be typing:

mount /dev/hda10 /mnt/hda10

Debian jfsutils finish (and fix) file system errors in an OS/2 created JFS partition.

Please note that the above procedure will not work on OS/2 Logical Volume Manager (LVM) volumes spanning multiple devices/partitions. If an user tries to access one of the spanned entities composing an OS/2 LVM volume, the mount process will fail; also, if an file system check is performed on a device/partition component of the spanned OS/2 LVM volume, it may corrupt the target. Accordingly, make sure that you know -from the OS/2 side- which units are part of an spanned OS/2 LVM volume. For instance, see this snapshot of an past OS/2 Java-based utility that can be invoked as lvmgui.cmd in your OS/2 command shell environment.

Perspective of OS/2 LVMGui.cmd Java-based disk management utility.

Java 2 SE 1.4.1 native port for OS/2 is by Golden Code Development (GCD).

One final note. If an GNU/Linux root (or super user) mounts an OS/2 created and formatted partition -even if JFS checks and fixes are performed from the Linux side- an regular non-root user will likely not be able to view the contents of that file system. The reason is because all or most of that data will not have appropriate permissions, as seen in this sample ls -l command operating on the directory /mnt/hda10/xxe-std-3_5_1:

ls -l /mnt/hda10/xxe-std-3_5_1

total 28
d--------- 7 root root 256 2007-02-02 18:00 addon/
d--------- 7 root root 4096 2007-02-02 12:17 bin/
d--------- 2 root root 4096 2007-02-24 14:52 binHTML/
d--------- 9 root root 4096 2007-02-01 17:06 demo/
d--------- 17 root root 4096 2007-02-01 17:06 doc/
d--------- 2 root root 256 2007-02-24 12:44 Xiuhtecuhtli/
d--------- 2 root root 4096 2007-02-02 20:13 webstart/
---------- 1 root root 6778 2007-02-24 12:33 XXE-STD-3_5_2.zip

What the OS/2 turned Linux admin needs to do is to apply pertinent permissions to the files so that regular users are able to use and/or access the data. For an specific instance, if the root user needs to modify all the files in a directory to be world readable and or writable (r or w) use the chmod command with -R option to specify recursively all of the files in that directory.

chmod -R a+r /mnt/hda10/xxe-std-3_5_1

ls -l /mnt/hda10/xxe-std-3_5_1

total 28
dr--r--r-- 7 root root 256 2007-02-02 18:00 addon/
dr--r--r-- 7 root root 4096 2007-02-02 12:17 bin/
dr--r--r-- 2 root root 4096 2007-02-24 14:52 binHTML/
dr--r--r-- 9 root root 4096 2007-02-01 17:06 demo/
dr--r--r-- 17 root root 4096 2007-02-01 17:06 doc/
dr--r--r-- 2 root root 256 2007-02-24 12:44 Xiuhtecuhtli/
dr--r--r-- 2 root root 4096 2007-02-02 20:13 webstart/
-r--r--r-- 1 root root 6778 2007-02-24 12:33 XXE-STD-3_5_2.zip

Additionally please note that for an user in Linux to be able to use data s/he may need additional permissions such as being the owner and/or group member allowed to manipulate the data. Accordingly, the OS/2 admin turned to Linux admin (root user) should make use of the chown command to achieve her/his purpose.

As the OS/2 remains anchored in the past and with no supporting organization providing continued development -much less a clear road map for its future- OS/2 admins will be forced to migrate. Metztli Information Technology will be glad to provide migration and/or support services provided the target platform is resilient, secure, open source - open standards: GNU/Linux.


DISCLAIMER:P Please do not hold me or Metztli Information Technology responsible if the information provided here does not achieve the desired result. The information is provided AS IS and with the hope that it may be useful to the Internet community --especially OS/2 users and/or administrators considering GNU/Linux as their organizations' migration platform.

Notwithstanding, There is no implicit or explicit guarantee that the information presented here is accurate --even though due diligence was exercised during the procedure. Accordingly, if an user(s) decide to implement the procedure or shell commands described here she, he, or them, do so at her, his, or their own risk. You have been forewarned.

Metztli IT reserves the right to modify the content of the post or even to delete it altogether.

Jose   ,   Nov 5 / 05:27
Categories: Legacy

Bits of Metztli Information Technology: Genius.

Open human collaboration aggregates like sand.

Metztli Information Technology

...An [almost] infinite capacity for taking pains [engineering]1:

IT solutions based on free and open source software (FOSS) and select open standards proprietary alternatives.

1Jane Ellice Hopkins, Work Amongst Working Men, 1870
Camp's Unfamiliar Quotations From 2000 B.C. To The Present.