Virtualizing: Because I CAN…

Standard

Wait… ABEND!  ABEND!

To all of you who read the first of this series, Virtualizing: Because I CAN…, thank you very much for the feedback and shares.  During a weekend filled with family, I rushed to pump out a quick article that truly goes far back in my work with Tim & Trolle.  After a bit of a challenge of Twitter, I rushed into it.

I wanted to take a second to be a bit more clear about what I’ve done, what I do, and why I do it.  First, the ground rules:

  1. I get the stuff working as far as I can…
  2. I explain why I did it and how…
  3. Just because I do it doesn’t mean you should in production…
  4. Yes, where the environments I am dealing can be shared, I will setup XVA exports to share, share, share

The whole principle of this is to take work I’ve done (and still do) for utility operating systems and share how I got it running in XenServer… along with the outcome.  This includes fresh distros, as well, but for the next week, I’ll be focusing in on a true “ERA” (of sorts).

Lastly, as I’ve said…

Just because I do it doesn’t mean you should in production and these articles – for clients, partners, colleagues, and the XenServer community – are strictly science experiments.  Don’t ask for support on Xenix, etc.  That’s all I’m asking.

Oh, and I PROMISE, if you read all the way through you’ll find something that every XenServer user has seen after upgrading tools…

Alright.  I feel better.  Time for coffee and more writing.  #BritsAreAwesome #CambridgeMadeXen #UnionJack #GiveMeAnAmstrad


PCs, Clones, and Ports: Part 1

Depending on your level of disdain, love, or preference of utility – as we are returning to an age where two technological giants divorced and left us as the kids in the middle… with Personal Computers and software you didn’t have to rewind.

Ladies and Gentlemen, I present to you Mr. and Mrs. Ex….

ibm-old-logomicrosoft

Ah, yes.  The tragic lovers who completely continued their honeymoon so distastefully in and through poor Gary Kildall’s death, began the suffocation of CP/M and what CP/M could have become, but always kept the doors open to show us the fisticuffs.

Looking back now, I often wonder which one of them spot the setup?  I know it wasn’t Apple (despite the commonality betwixt these THREE companies being Mr. Bill Gates).

My bet is on Microsoft and for nothing more than the same reason they were able to date Apple…

“The hardware exists and we already have the ability to code on it… and code on the competition’s platform… and the compatibles… and we build a dynsasty of software every architecture must have for the consumer….”  Oh, the places you went, returned to, and tried to go into.


Fast Forward: XenServer, DOS, and … Amstrad?

I’m not heading in any chronological order due to the nature of IBM, IBM compatibles, and the reams of software that is avaialable.  Let’s take this quick example:

pcbasic

And if you hit F2, we get…

pcbasic2

… and no one could remeber to exit PC-BASIC by typing “system”.  And wouldn’t you know it?  Like fine wine, it has aged and can be used on Mac, Windows, and Linux.  Take a peek at https://sourceforge.net/projects/pcbasic/ or, start your own software archive like me by  visiting http://deger.republika.pl/Download_MS_Basic_versions.htm.

Not familiar enough?  What about this?

qb45

Well, even if you still don’t recognize these items, I welcome you to the world of IBM/PC/MS-DOS… from XenServer.  Yup, I dug out an old VM export for a “DOS Collection” project where my kids, friends, and especially ME could immerse ourselves in the glorious environment that is generally called “DOS”: code page 437, FAT, basic, and where many people first absorbed that which was Personal Computing.


The Environment Details…

With respect to XenServer, I’ve had this VM since the 6.0 days.  With each revision, it just runs more and more smoothly and while it looks and feels like MS-DOS 7.1, it existed first as MS-DOS 5.x.  During the XenServer 6.2 days, I did some finess work with the installer and it’s a hybrid MS-DOS 5/6/7 release with plenty of opensource utilities stacked on it.

The reasons I took such odd approach was based on four key reasons:

  1. Jim Hall’s FreeDos, which I spent a short time testing and contributing to (those guys are beyond intelligent, trust me)
  2. These later versions could handle my favorite games, still compile code in primitive forms of my favorite languages, BUT drivers… DRIVERS… were becoming more cohesive
  3. DOSBox exists, but is limited as an emulator/almost type-2 hypervisor
  4. I PAID FOR ALL THIS STUFF AND GREEDY PEOPLE ON EBAY TAUNT ME WITH BARE METAL MACHINES

Using the “Other” template, I set aside 1 vCPU and 256MB of RAM.  Considering the software I had, I looked back over pre-GUI OS/2, older versions of MS-DOS (pre 4.x) and IBM/PC-DOS that existed from the long lived IBM/Microsoft relationship and came to a single conclusion to work around my virtual hard disk needs:

I needed to master three ISOs.  One with MS-DOS 7.1.  One with MS-DOS 5 and 6.  And a final disk with a host of extender utilities, FAT improvement, code-fixed DOS utilities (format, fdisk, etc).  After all, this is a virtual machine and I don’t have to torture myself with the days before drivers became a bit more standardized, memory management wasn’t as manually intensive (ie, gaming versus word processing), and so forth.

After I mastered the ISOs and slapped them onto my local SR, I booted off of MS-DOS 7.1 and “broke” out of the installer.  That gave me the prompt I needed – with CD-ROM/Mouse support – do mount the utility ISO and it was there I was able to use updated versions of fdisk/format to achieve this:

partition

After the disk was formatted, I basically had all the individual compents I could have authored into my own installation ISO, but instead I hand picked the core of MS-DOS, installed DOS extenders, helper utilities, multiple device drivers (including many variants of mice, long/short filename, linkers, basic VGA drivers, etc).

I crossed my fingers, rebooted the VM, and oh me oh my.  I was in heaven as a packet driver could be installed later (or even Windows 3.x, 95, or 98), but I went about my DOS business… which included running AN AMSTRAD CPC EMULATOR WITHIN DOS WITHIN XENSERVER!

Yes, I need to get Wattcom installed, but for now — enjoy these shots from XenServer and if you have an Amstrad, feel free to let me know as in the states… SLIM.  EXPENSIVE.  NOT GUARANTEED TO WORK.  PICKINGS.


True Emulation in Virtualization…

Since I couldn’t get an Amstrad, let alone two, for my father and I to have our old school code battles on, I found NO$CPC — it does not disappoint, I promise.  The game/code you are seeing is my own improvements onto Conway’s Game of Life.

8

9

Indeed, I WAS READY…

12

And off we go despite not having time to add code for more than 10 generations…

conway

So, I took a few minutes to play a game.  Battle Chess, oh yes.  This thing won’t run for 10 minutes in DOSBox without crashing – which I can understand – but in XenServer… no issues!  I LOST!

bchess1

bchess2

Of course I went on and on to play Mechwarrior, Indianapolis 500, but then I decided to hack out a version of something we all see when tools are successfully installed and a VM is rebooted.  The IDE/Language was 80/20 Software’s “ASIC” (almost basic).  Powerful – especially with extended libraries for INT21 ops, Chipset Access, etc.  However… this is for all true XenServer fans…

xstools

Look familiar?

xstools1


Conclusion of Part 1

Yup, this was quite a long piece, but the fact I was running a mixed DOS environment, writing and compiling code, emulating a completely different architecture within the virtualized environment… well, I had to share.

Next up?  OS/2, PC-DOS?  eComStation and some Windows 3.11?  We shall see!

–jkbs | @xenfomation | XenServer.org | My Blog

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s