OS (Operating System) Virtualization for older software
The entire impetus for what I’m describing (Virtualization) happened as I purchased one of them new fancy Apple M1 processor laptops only to have forgotten the basics that, as processor families change (in my case from Intel to M1) that they aren’t always code-compatible. My old Intel-based operating systems will not run on the M1 even under virtualization. Until a vendor builds an emulator on M1 that allows it, I’m stuck unless I do something else.
So the good thing about our Ham Radio gear is that it ages well. The bad thing about it aging well is the software doesn’t always keep up but the operating systems keep moving onwards. In my shack I solved that problem through Virtualization (Wikipedia link) of some of the operating systems I use. This article is meant as a guideline to give you an overview of what may be possible as you face this hurdle in your own shack. This is merely one approach to consider and there are others – but this one worked best for me.
Drivers for virtualization include not only software that doesn’t keep pace with Operating Systems as they roll forward but also microprocessor families as they change.
Virtualization is the technology that allows one operating system to run as a virtual computer inside your existing computer. Commonplace at the office for a decade or more, it is making its way into everyday computing. You’ll hear terms like VMWare Player, Parallels, VirtualBox, Windows Virtual PC, and so on as you research this. It gets more difficult with time to maintain older computers as, like radios, the parts get harder to find over time but virtualization allows you to run older operating systems on modern hardware taking this concern away. Note Vendors don’t maintain downloadable software forever and it will get more difficult to do what I’m describing as time marches on, so don’t delay if you are facing this issue!
Alternatives to virtualization include having multiple computers each with their own operating system and maintaining the hardware and software on all of them until you no longer need the one application they support – and of course older hardware gets hard to find as time goes on.
Vince’s approach to this problem
- Identify the software that is needed to live on ‘forever’ and the highest level operating system it requires
- Identify a virtualization platform (eg. Parallels, VirtualBox, etc) that will support those operating systems
- Identify hardware to base the Host OS upon (not all processor families support all virtualization platforms)
- Go back to step 1 and cross-examine the items above from all sides and move forward …
- Procure hardware
- Load Host OS just as you would for any computer
- Add virtualization platform
- Load Guest OS just as you would for any computer
- Load your required application, test, then if it all works (it won’t always in which case go back to step 7),
- Sit back and enjoy fruits of your labour 🙂
Note step 6 above – ensure your Host OS is fully patched and up-to-date as it can be before moving to step 7
Note step 9 above – this requires loading software and testing. It is an interative process that can be frustrating to some. I had to try two or three platforms to get one to work with my target application. It could be at this point that you realize you won’t get where you want to go and have to start over.
One last word – if your computer is beefy enough, you can have multiple Guest OSs configured to run. I run one at a time as they take up resources (RAM, CPU) needed by the Host OS to run and having too much RAM or CPU dedicated to the Guest OS means the Host OS will suffer with its performance.
How I did it
I’m a career I.T. Technology guy and run multiple operating systems around Chez VE6LK. My main system is MacOS but I’m far more fluent in Windows. There’s a bit of Raspberry PI here too and a bit of a couple other things. I virtualize on both MacOS and Windows 7.
I followed steps 1-5 above and settled on a Windows 7 Host OS and VirtualBox as my platforms to host the Windows XP OS I really needed. I have plenty of Windows 7 apps that can run on other platforms (MacOS, Ubuntu) but prefer to keep all my stuff in as few computers as possible. Still I had nothing to run Windows XP so this became the obvious choice.
While I won’t get too far into the choices of hardware as this is largely a personal choice, I settled upon a Panasonic Toughbook CF-53 as it still has support available -as of the time I’m writing this article- for Windows 7 and it also has support for Windows 10 and 11 should I wish to roll it forward at some point in time. I purchased this unit used, it was off-lease so about 5 years old. These days beyond opening computers up and cleaning out the system from dust accumulated over the years the only thing left to do was replace the hard disk. As long as I was swapping it out I put in a SSD for an improvement in performance as, after all, older computers aren’t as snappy as today’s. Trust me – for the slight cost increase plus the added durability, SSD is the way to go for a performance improvement on an older machine.
The Toughbook is loaded with Windows 7 64 bit and a variety of Ham Radio bits of software I would use to either do maintenance/programming on radios or to run my radios when operating portable at the picnic table with my Go-Kit or Winlink To-Go. I have the basics loaded on it – Ham Radio Deluxe, WSJT-X, JS8Call, FLDigi, N3FJP Logging software, etc. The screen on this laptop is designed to be used outdoors, ie. it isn’t a glossy finish as most ‘home’ laptops are, thus it can be easily read in the sun. A key feature of the Toughbook family is that most, not all, come with a 9-pin RS232C serial port and a lot of older radios require this for programming.
The added bonus, for me, is that I don’t have to worry about handling nearly as much as an inexpensive laptop or tablet as these are designed to be used in the field. The downside of course is it’s physical size. As I’m famous for saying every design consideration is a tradeoff 🙂