Last year I built a bespoke system in order that a customer could run Win98! My solution was to build a modern desktop running Ubuntu and virtualize the legacy system using Virtualbox. Despite my business having long since failed, I've remained on friendly terms with my erstwhile customer and was happy to help him upgrade Ubuntu 12.04 to 14.04LTS.
I've always preferred clean installs rather than the in-place upgrades and I partition my drives accordingly (and did so on this build also): so, I decided that I would do a fresh install on the Win98 host machine and didn't anticipate any difficulties getting Win98 up & running. How wrong I was!
Installing the latest version of VirtualBox & the extension pack was simple enough, but whilst Windows ran inside VirtualBox without any drama, it positively refused to communicate with any of the hardware: this meant that there was no USB support so neither the dot matrix printer (a deal breaker) nor USB pen drives would work. It turns out that I'd missed a couple of key (but simple) steps to getting the virtual machine operating effectively.
The first was to add the user's account to the vboxusers group. This is straightforward in Ubuntu & its derivatives, simply add the gnome-system-tools package from the Software Center. You can access the utility from the Administration menu (Mint) or search via Unity (Ubuntu).
The second is to make sure that the USB controller is selected in the virtual machine's settings but that the USB 2.0 (EHCI) controller is deselected.
Once these two issues were rectified, Win98 was once more doing its thing!
Sources & References: