[prev in list] [next in list] [prev in thread] [next in thread] 

List:       vbox-dev
Subject:    [vbox-dev] ArcaOS (OS/2) Support
From:       Dustin Marquess <dmarquess () gmail ! com>
Date:       2019-06-04 5:30:20
Message-ID: CAJpsHY761brfB+KhuvqK1f4bQSH1Padpf5uh50ejYqooW0NUjw () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


All,

The newest OS/2 listed currently is eComstation, which is basically defunct
these days.

Arca Noae's ArcaOS is the newest flavor of OS/2.  It's support is basically
the same as eCs, except as it's designed to support "modern" hardware, it
currently works better using SATA/AHCI instead of IDE, and Intel GigE
instead of AMD PCnet.

Here is a rough patch (under the MIT license) to add ArcaOS support.  I
believe I got formatting and everything correct, but I'm sure there will be
some minor nits, as this is my first VBox patch.

Thanks for all of the hard work on this excellent product!

-Dustin

[Attachment #5 (text/html)]

<div dir="ltr"><div>All,</div><div><br></div>The newest OS/2 listed currently is \
eComstation, which is basically defunct these days.<div><br></div><div>Arca \
Noae&#39;s ArcaOS is the newest flavor of OS/2.   It&#39;s support is basically the \
same as eCs, except as it&#39;s designed to support &quot;modern&quot; hardware, it \
currently works better using SATA/AHCI instead of IDE, and Intel GigE instead of AMD \
PCnet.</div><div><br></div><div>Here is a rough patch (under the MIT license) to add \
ArcaOS support.   I believe I got formatting and everything correct, but I&#39;m sure \
there will be some minor nits, as this is my first VBox \
patch.</div><div><br></div><div>Thanks for all of the hard work on this excellent \
product!</div><div><br></div><div>-Dustin</div><div><br></div><div><br></div></div>

--0000000000008f9102058a78c75d--


["VBox-Arca.patch" (application/octet-stream)]

--- a/include/VBox/ostypes.h	2019-06-03 21:41:29.000000000 -0500
+++ b/include/VBox/ostypes.h	2019-06-04 00:11:22.000000000 -0500
@@ -79,10 +79,11 @@ typedef enum VBOXOSTYPE
     VBOXOSTYPE_OS2              = 0x40000,
     VBOXOSTYPE_OS2Warp3         = 0x41000,
     VBOXOSTYPE_OS2Warp4         = 0x42000,
     VBOXOSTYPE_OS2Warp45        = 0x43000,
     VBOXOSTYPE_ECS              = 0x44000,
+    VBOXOSTYPE_ArcaOS           = 0x45000,
     VBOXOSTYPE_OS21x            = 0x48000,
     VBOXOSTYPE_Linux            = 0x50000,
     VBOXOSTYPE_Linux_x64        = 0x50100,
     VBOXOSTYPE_Linux22          = 0x51000,
     VBOXOSTYPE_Linux24          = 0x52000,
--- a/src/VBox/Devices/VMMDev/VMMDev.cpp	2019-06-03 21:41:48.000000000 -0500
+++ b/src/VBox/Devices/VMMDev/VMMDev.cpp	2019-06-04 00:11:56.000000000 -0500
@@ -187,10 +187,11 @@ static void vmmdevLogGuestOsInfo(VBoxGue
         case VBOXOSTYPE_OS2:                              pszOs = "OS/2";           \
                break;
         case VBOXOSTYPE_OS2Warp3:                         pszOs = "OS/2 Warp 3";    \
                break;
         case VBOXOSTYPE_OS2Warp4:                         pszOs = "OS/2 Warp 4";    \
                break;
         case VBOXOSTYPE_OS2Warp45:                        pszOs = "OS/2 Warp 4.5";  \
                break;
         case VBOXOSTYPE_ECS:                              pszOs = "OS/2 ECS";       \
break; +        case VBOXOSTYPE_ArcaOS:                           pszOs = "OS/2 \
                ArcaOS";    break;
         case VBOXOSTYPE_OS21x:                            pszOs = "OS/2 2.1x";      \
                break;
         case VBOXOSTYPE_Linux:                            pszOs = "Linux";          \
                break;
         case VBOXOSTYPE_Linux22:                          pszOs = "Linux 2.2";      \
                break;
         case VBOXOSTYPE_Linux24:                          pszOs = "Linux 2.4";      \
                break;
         case VBOXOSTYPE_Linux26:                          pszOs = "Linux >= 2.6";   \
                break;
--- a/src/VBox/Frontends/VirtualBox/src/globals/UIIconPool.cpp	2019-06-03 \
                21:43:26.000000000 -0500
+++ b/src/VBox/Frontends/VirtualBox/src/globals/UIIconPool.cpp	2019-06-04 \
00:13:16.000000000 -0500 @@ -308,10 +308,11 @@ UIIconPoolGeneral::UIIconPoolGeneral()
     m_guestOSTypeIconNames.insert("OS2Warp4",        ":/os_os2warp4.png");
     m_guestOSTypeIconNames.insert("OS2Warp45",       ":/os_os2warp45.png");
     m_guestOSTypeIconNames.insert("OS2eCS",          ":/os_os2ecs.png");
     m_guestOSTypeIconNames.insert("OS21x",           ":/os_os2_other.png");
     m_guestOSTypeIconNames.insert("OS2",             ":/os_os2_other.png");
+    m_guestOSTypeIconNames.insert("OS2ArcaOS",       ":/os_os2ecs.png");
     m_guestOSTypeIconNames.insert("Linux22",         ":/os_linux22.png");
     m_guestOSTypeIconNames.insert("Linux24",         ":/os_linux24.png");
     m_guestOSTypeIconNames.insert("Linux24_64",      ":/os_linux24_64.png");
     m_guestOSTypeIconNames.insert("Linux26",         ":/os_linux26.png");
     m_guestOSTypeIconNames.insert("Linux26_64",      ":/os_linux26_64.png");
--- a/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic1.cpp	2019-06-03 \
                21:43:25.000000000 -0500
+++ b/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic1.cpp	2019-06-04 \
00:14:36.000000000 -0500 @@ -93,10 +93,12 @@ static const osTypePattern gs_OSTypePatt
     { QRegExp( "OS[/|!-]{,1}2.*W.*4",       Qt::CaseInsensitive), "OS2Warp4" },
     { QRegExp( "OS[/|!-]{,1}2.*W",          Qt::CaseInsensitive), "OS2Warp3" },
     { QRegExp("(OS[/|!-]{,1}2.*e)|(eCS.*)", Qt::CaseInsensitive), "OS2eCS" },
     { QRegExp( "OS[/|!-]{,1}2",             Qt::CaseInsensitive), "OS2" },
     { QRegExp( "eComS.*",                   Qt::CaseInsensitive), "OS2eCS" },
+    { QRegExp("(OS[/|!-]{,1}2.*a)|(Arca.*)", Qt::CaseInsensitive), "OS2ArcaOS" },
+    { QRegExp( "Arca.*",                    Qt::CaseInsensitive), "OS2ArcaOS" },
 
     /* Other: Must come before Ubuntu/Maverick and before Linux??? */
     { QRegExp("QN", Qt::CaseInsensitive), "QNX" },
 
     /* Mac OS X: Must come before Ubuntu/Maverick and before Linux: */
--- a/src/VBox/Main/include/ovfreader.h	2019-06-03 21:43:02.000000000 -0500
+++ b/src/VBox/Main/include/ovfreader.h	2019-06-03 21:57:06.000000000 -0500
@@ -176,12 +176,13 @@ enum CIMOSType_T
     CIMOSType_CIMOS_Windows7 = 105,
     CIMOSType_CIMOS_CentOS = 106,
     CIMOSType_CIMOS_CentOS_64 = 107,
     CIMOSType_CIMOS_OracleEnterpriseLinux = 108,
     CIMOSType_CIMOS_OracleEnterpriseLinux_64 = 109,
-    CIMOSType_CIMOS_eComStation = 110
+    CIMOSType_CIMOS_eComStation = 110,
     // no new types added with CIM 2.26.0
+    CIMOSType_CIMOS_ArcaOS = 111
 };
 
 enum OVFVersion_T
 {
     OVFVersion_unknown,
--- a/src/VBox/Main/src-all/Global.cpp	2019-06-03 21:43:03.000000000 -0500
+++ b/src/VBox/Main/src-all/Global.cpp	2019-06-04 00:10:14.000000000 -0500
@@ -416,10 +416,15 @@ const Global::OSType Global::sOSTypes[] 
     { "OS2",     "IBM OS/2",          "OS21x",              "OS/2 1.x",
       VBOXOSTYPE_OS21x,           VBOXOSHINT_FLOPPY | VBOXOSHINT_NOUSB | \
                VBOXOSHINT_TFRESET,
         8, 4, 500 * _1M, GraphicsControllerType_VBoxVGA, \
                NetworkAdapterType_Am79C973, 1, StorageControllerType_PIIX4, \
                StorageBus_IDE,
         StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, \
AudioControllerType_SB16, AudioCodecType_SB16  },  
+    { "OS2",     "IBM OS/2",          "OS2ArcaOS",          "ArcaOS",
+      VBOXOSTYPE_ArcaOS,          VBOXOSHINT_HWVIRTEX,
+        256,  4,  2 * _1G64, GraphicsControllerType_VBoxVGA, \
NetworkAdapterType_I82540EM, 1, StorageControllerType_IntelAhci, StorageBus_SATA, +   \
StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, \
AudioControllerType_AC97, AudioCodecType_STAC9700  }, +
     { "OS2",     "IBM OS/2",          "OS2",                "Other OS/2",
       VBOXOSTYPE_OS2,             VBOXOSHINT_HWVIRTEX | VBOXOSHINT_FLOPPY | \
                VBOXOSHINT_NOUSB,
         96,   4,  2 * _1G64, GraphicsControllerType_VBoxVGA, \
                NetworkAdapterType_Am79C973, 1, StorageControllerType_PIIX4, \
                StorageBus_IDE,
         StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, \
AudioControllerType_SB16, AudioCodecType_SB16  },  
--- a/src/VBox/Main/src-server/ApplianceImpl.cpp	2019-06-03 21:43:03.000000000 -0500
+++ b/src/VBox/Main/src-server/ApplianceImpl.cpp	2019-06-03 22:00:14.000000000 -0500
@@ -170,11 +170,12 @@ static struct
                                                                                      \
                // CIM 64-bit type for this
     { ovf::CIMOSType_CIMOS_CentOS,                               VBOXOSTYPE_RedHat \
                },
     { ovf::CIMOSType_CIMOS_CentOS_64,                            \
                VBOXOSTYPE_RedHat_x64 },
     { ovf::CIMOSType_CIMOS_OracleEnterpriseLinux,                VBOXOSTYPE_Oracle \
                },
     { ovf::CIMOSType_CIMOS_OracleEnterpriseLinux_64,             \
                VBOXOSTYPE_Oracle_x64 },
-    { ovf::CIMOSType_CIMOS_eComStation,                          VBOXOSTYPE_ECS }
+    { ovf::CIMOSType_CIMOS_eComStation,                          VBOXOSTYPE_ECS },
+    { ovf::CIMOSType_CIMOS_ArocaOS,                              VBOXOSTYPE_ArcaOS }
 
     // there are no CIM types for these, so these turn to "other" on export:
     //      VBOXOSTYPE_OpenBSD
     //      VBOXOSTYPE_OpenBSD_x64
     //      VBOXOSTYPE_NetBSD



_______________________________________________
vbox-dev mailing list
vbox-dev@virtualbox.org
https://www.virtualbox.org/mailman/listinfo/vbox-dev


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic