Windows setup

Tuesday, March 21, 2017

I received a MSDN subscription, so today I will setup a Windows VM to be able to work on the QXL-DOD driver.

Sharing my blogmax changes

I'm reportedly the only user of blogmax, so I shared my changes with Bill Sinclair.

Windows XP

Setting up Windows XP, just because I failed to convert my earlier VMs and I like having a small easily copied VM. I know it's not supported.

The first attempt to install it using a system session failed with a strange error message about the ISO file not being accessible. It's on a NFS server, and I checked I can access it as user root, qemu or myself. I also had run the setseboolcommand on this system:

setsebool -P virt_use_nfs 1

If I insist, it tells me that the domain has already been started. Strange. Installing as a session guest works OK, and I think this is preferable for XP to be somewhat protected from the network.

Downloading. Please wait...

Setting up MSDN was a bit surprising. You receive an e-mail saying that your subscription has been actived, with your e-mail address. But you actually still need to create the account for it to be "connected" to your subscription. A bit unusual.

Downloading Windows 10 in its 4.6GB glory. I suspect I will not really be working on the driver today at this pace...

VM Setup

The Windows 10 VM setup is quite lengthy. A lot of data to copy, my NFS link probably shows here.

Had a few disconnects of the QEMU/KVM user / system sessions while the installation was in progress. I suspect it's because there were other VMs running (I was trying to restore the Fedora and Ubuntu VMs I had on the older Muse disk). So I was short on memory. Is it possible that would explain the sessions going away?

Something with keyboards

The login screen for Big no longer allows me to login. The annoying thing is that I have a running VM in there with an editor open which I would like to preserve (a lot of state). I can access the VM remotely, but it's annoying not to have access to the host console anymore.

I wonder why this happens. I initially suspected it was an issue with suspend/resume, so I disabled it. The problem is still there.

QXL DOD

Scrutinizing the QXL DOD driver for memory leaks in case of improper exit. I found a few. There are also some oddities with how memory is allocated. I asked a question to Vadim Rozenfeld. Maybe he can tell me why he used things like:

ptr = reinterpret_cast new BYTE[sizeof(FOO) * count];

RtlZeroMemory(ptr, sizeof(FOO) * count); delete [] reinterpet_cast (ptr);

instead of something more standard like:

ptr = new FOO[count]();

delete[] ptr;

There may be a good reason, but I'm not aware of it.

Recorder

In december, I updated the flight recorder in ELFE. This is a tool that would prove useful for some of the ongoing investigations and efforts.

So I'm going to make it a separate library as a git submodule that can easily be used in other products.

The original is in C++, but I had also prototyped a C version.

Coders in Black

A discussion with an old friend sent me to the site of Coders in Black. I had not looked them up in a long time. The site is a bit of a showcase of what they do. Pretty cool.