UTM frontend for QEMU for M1 Apple Silicon: Installing Windows 95

QEMU is an emulator for a wide range of machine architectures. I’ve played with QEMU on MacOS before to install and run Solaris on SPARC. It turns out there a QEMU build for Apple silicon M1, and there’s also a gui frontend to help with the configuration of various machines, called UTM.

Is there any CPU architecture that QEMU does not emulate? This is pretty amazing:

Let’s take a go at emulating an x86 32bit and install Windows 95. I added 3 drives, floppy (to boot from install disk image), a CD-ROM (for the install ISO) and a 4GB drive to install to:

Here’s where you add the disk images, and a summary of the other settings:

On first boot I got this error:

Doing some searching online it’s not immediately obvious if this is a configuration issue or a bug in UTM. One of the comments here does mention that the hdd disk image needs to be first (even though the dialog says the listed order is the boot order). I added the disks in this order and this seems to work:

While in the settings I also notice if you check the ‘advanced’ checkbox there’s options to turn of UEFI boot as that wouldn’t have been on PCs of this era, and changed the CPU to a 486:

Adding a blank 4GB disk image, a Windows 95 boot floppy image, the iso image for install cdrom, and then starting up, we can boot to a DOS prompt and start fdisk to format the blank disk image:

This works for the first time, but after you’ve formatted the blank disk image, booting a subsequent time fails with a ‘no operating system’ error. To get around this (because it won’t start unless the hd image is first), press Escape as soon as you get the BIOS screen and then you can select the boot device. In this case pick the floppy drive.

And now we’re away:

Select 1 for the NEC cdrom driver. At this point the cd iso should be on d: and c: should be your hdd disk image. If you try and run d:\setup.exe you’ll be reminded that fdisk doesn’t format your disk, you you need to format c: as well before you can install, otherwise you’ll see:

Rerun d:\setup.exe after format completes and now scandisk starts up:

Windows 95 setup is running – yes you can install x86 based OSes under UTM/QEMU on Apple Silicon!

Remember Active Desktop?

Using AWS Organizations for learning and personal projects

If you work on many projects deployed to AWS over time, it can become more difficult to track what resources are where and what relates to what. Tagging can help a lot, so can regions. For example I can deploy one project to us-west-1 and another to us-west-2.

Another idea is to take advantages of multiple AWS accounts and manage them as an Organization. There’s no additional cost for each account or setting up the Organization, the costs are still only for the resources you are using.

Now you have multiple accounts to segregate various projects or other things you’re working on, instead of logging off one account and logging on to the other and switching back a forth, you can assume a role within other accounts from the Account dropdown and ‘Switch Roles’. This option is only visible if you are signed on as an IAM user and not the root account user.

Before you get to this step, in the account you want to switch to, create a new IAM role with the permissions you need to use, and in the Trust section, add the account id for the other account where you want to assume the role from. The complete the fields above and insert the ARN id for the role.

After the first time you’ve used this switch role feature, you’ll see the role in the Account dropdown to reuse later.

Installing Maven tool support in vanilla Eclipse IDE

If you download an Eclipse bundle like the Eclipse IDE for Java EE developers, you’ll get Maven support built in, but if you download a vanilla Eclipse install (like from using from of the daily builds), you’ll need to install many pllugins yourself.

Eclipse support for Maven is provided via the m2Eclipse plugin, there are installation instructions here:

I’ve had luck using these installer buttons before, but on this daily build for M1 they don’t seem to do anything. Instead I used the manual approach by adding a new ‘site’ in ‘Add New Software, ‘ adding https://download.eclipse.org/technology/m2e/releases/latest/ and then selecting ‘Maven Integration for Eclipse’ :

Done!

Installing Eclipse IDE for Apple M1 Silicon

Update January 2022: Since writing this official release versions are now available with MacOS AArch64 builds for M1 Macs from the main downloads page: https://www.eclipse.org/downloads/packages/

From the official Eclipse downloads page as of 10/31/21 there aren’t any M1 builds ready for download. However, following the comments on this bug/feature request, there have been daily builds for M1 it looks like for some time. The daily builds are available here.

I downloaded the latest stable build from here:

Double-clicking the downloaded .dmg and then dragging the Eclipse app into Applications is all that was needed to install. Done!