Windows Server 2008 IA64 guest on HP Integrity VM (HP-UX)

This is a guest post by Antoni Sawicki (aka Tenox)

This is a guide on how to install Windows Server 2008 guest on HP Integrity VM. Yes, Itanium and HP-UX involved. Unlike installing HP-UX or OpenVMS guests, this is not widely documented (or at all) and a rather obscure process. I suppose Windows on HP-UX was never popular in first place and only maybe saw some use in the enterprise.

Lets say you have a HP Integrity servers like rx1600, rx2600 or higher. You have HP-UX 11.31 installed on it and want to setup a Windows guest VM just for fun…

Firstly, if you have already installed Integrity VM from a recent Apps DVD, you will likely have 6.x version. This absolutely does not support Windows. You will need to downgrade to 4.x. To do that start by removing the packages. You will need to uninstall the main HP VM package, as well as several others: Guest/Host AVIO, VMGuest*, VMKernel and VMProvider. You will also need to delete folders /opt/hpvm and /var/opt/hpvm. Otherwise you will run in to remains of some 6.x configs and databases that are unreadable to the older version.

Then you will need to install earlier version, for example 4.2.5, which is the last version that officially supports Windows guests. However HP VM 4.3 also works pretty well and has an added benefit of a “Virtual iLO” (but don’t get your hopes for a graphical console. Virtual iLO or not, all you get is a serial console to the guest. ViLO only really provides telnet access to hpvmconsole) You can download earlier HP VM versions from here. The install is pretty straight forward, just unpack the tarball and point swinstall -s /path \* at it. I did encounter a small issue with 4.3 HPVM_1105. You need to create swlock file inside catalog directory of the extracted package to get past a lock error. Reboot and run this to verify:

hpvminfo
hpvmstatus

If all good, the next step is to create a virtual switch and boot it up:

hpvmnet -c -S switch1 -n 0
hpvmnet -S switch1 -b
hpvmnet -v 

In this case -n 0 indicates lan0 interface from ifconfig.

Then you create a blank disk image, like so:

hpvmdevmgmt -A -S 20G /vm/windows.fd

Finally you create a VM and attach all the goodies:

hpvmcreate -P win64 -O windows -c 1 -r 2048
hpvmmodify -P win64 -a disk:scsi::file:/vm/windows.fd
hpvmmodify -P win64 -a dvd:scsi::file:/vm/w2k8.iso
hpvmmodify -P win64 -a network:lan::vswitch:switch1
hpvmmodify -P win64 -K x.x.x.x -L 255.255.255.0

The last bit with -K and -L is virtual iLO, only available in 4.3 and above. If using earlier version skip that part. The IP address can be on the same segment as vswitch / lan0.

Before you boot it up, I will remind you again that THERE IS NO GRAPHICAL CONSOLE. You can’t boot to the setup and click through the options. HP offers 3 types of text only mode installation:

Option A.
Using something called HP Smart Setup Media from HP Integrity Essentials Foundation Pack for Windows. I miraculously found it on HP Support Website and archived here. Insert this .iso image instead of w2k8.iso above:

hpvmmodify -P win64 -a dvd:scsi::file:/vm/smartcd.iso

If you ever need to remove it, the command is:

hpvmdevmgmt -d gdev:/path/file.iso

Then boot it up:

hpvmstart -P win64
hpvmconsole -P win64
CO

If you have virtual iLO you can also telnet to the IP address configured earlier with -K.

In the EFI console you open shell, then navigate to fs0: and efi\boot folder then launch bootia64.efi file.

You will be presented with this lovely screen:

Pick Express Setup:

After few screens you will be see this:

You will be asked to swap the cdrom in to a Windows 2008 IA64 Install CD:

hpvmmodify -P win64 -m dvd:scsi:0,0,1:file:/vm/w2k8.iso

Once it loads up, you need to type some magic spells. Wait till you see a message that says “The CMD command is now available”, type cmd, enter, then press ESC+TAB to switch to it. Then navigate to drive C: and run install. This is the information screen for reference:

The install process takes quite a while. Fortunately you can play SimCity on HP-UX IA64 while you wait!

Eventually the VM will reboot and auto load to SAC prompt again. Repeat the process where you see cmd is available, launch it then switch using ESC+TAB. You will be able to login to Windows IA64 Guest VM!

Hurray we have Windows IA64 VM Running!

All you have to do is run ipconfig to get the IP address and RDP to it:

Windows 2008 IA64 VM running on HP Integrity VM on HP-UX 11.31

Option B
Using Windows RTM media + unattend.xml file. The HP VM admin guide provides a sample unattend.xml file in an appendix. I have extracted and archived it here.

This is the original instruction:

The above is complete bullshit as you need an existing VM to perform this. Starting from scratch this is no go. I have opted out to just adding the unattend.xml to the original iso image using PowerISO. Simple and easy.

The rest of the procedure is quite similar to option A.

hpvmstart -P win64
hpvmconsole -P win64
CO

If you have virtual iLO you can also telnet to the IP address configured earlier with -K.

In the EFI console you open shell, then navigate to fs0: and efi\boot folder then launch bootia64.efi file.

Then at some point you will get to the SAC prompt where you will have to type cmd then press ESC+TAB to switch to it. Then in cmd.exe prompt you launch setup /unattend:d:\unattend.xml. and wait for it to do it’s job.

Once the system reboots, you will have to do the cmd esc+tab thing again, but this time you will get a login prompt. Login as administrator with the password from unattend.xml.

You will need to enable remote desktop:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

and allow it through the firewall:

netsh advfirewall firewall set rule group="remote desktop" new enable=yes

The Smart Setup CD does this automatically.

Option C
PXE+RIS etc. Which is not covered here.

Post Install Steps

You basically get the IP address either from your DHCP server or by running ipconfig in cmd.exe. Then RDP to the VM. Login in as administrator with password you set either in unattend.xml or EFI install tool.

The Smart Setup CD has some drivers and components that can be installed on a VM.

What can you run on this?

Not much. From the “big apps” there’s MS SQL server, SAP and whatnot. 7zip and bunch of utilities from Sysinternals to C-Kermit. You can port more apps by installing Platform SDK and Visual Studio Tools. The latest known is Windows 7.1 SDK for IA64. It requires .NET 4.x to be installed. All archived here.

From lesser known items there’s Services For Unix, aka Interix, which has a cc wrapper around cl.exe and can be used to port more software:

Services For Unix on Windows 2008 VM on a HP-UX 11.31 IA64 host.

Have Fun with Virtualization!

Windows 2008 & Proxmox VE

Just a quick tip to people running Windows 2008 under Proxmox/VE (I know this applies to the amd64 x86_64 version probably i386 as well) sometimes when you reboot it’ll come up and crash saying that there is no available hard disks. Then it’ll go into recovery mode and … somehow claim you have no hard disks.

Turn the VM OFF.

Wait a few seconds.

Turn the VM ON.

I had this issue after installing antivirus software in the VM, but I guess there is other things that may set it off. Anyways after a shutdown, power cycle of the VM it’ll boot back up.

That’s it!

Qemu 0.10.5 for windows

Well I screwed up the Proxmox VE thing and I needed to test some x64 stuff… Sadly the VM I used to build the x64 stuff was the proxmox… And I need it now!

So I found this site, which has the new qemu stuff built!

Just unzip it with 7zip.

And you should be good to go..

However for Windows 2003 x64 R2 it seems that those binaries crash on ‘starting windows’, apparently they were compiled with GCC 4 while the ancient qemu 0.90 built with GCC 3 works…

I’ve also found a source ‘fix’ for why 0.91 crashes on vista…:

patch hw/ide.c:

just replace all ‘free(buf)’ in guess_disk_lchs function to ‘qemu_free(buf)’.

Sounds easy enough. I’ll have to get a working toolchian.

Hyper-V with Windows 2008 core

So I got a new Acer 5800 pc… CHEAP.. A quad core cpu, 4 gigs of ram and 600+ GB of diskspace for slightly over $500 CDN. Talk about POWER on the cheap!

So I wanted to load up the new Microsoft Hyper-V stuff, and check out the new “core” windows.

First this core thing is weird… And not very intuitive. I hope you are good with netsh!

Also, loading device drivers was a MAJOR pain. Let me say loading the marvel lan drivers was really strange until I came acrosss something about pnputil.

It would have been nice to have some kind of pop up help guild along with the CLI window so that us n00bs could have at least a guide as to what the hell is going on in server core.

Anyways for me the fun was:

pnputil -i -a yk60x64.inf

Then it worked like a champ. I know as time goes on, people will need this little tidbit on how to load device drivers on Windows 2008 core server. So I thought I’d put it out there.

Needless to say, i’m on the road, so I don’t have access to my Netware 3.12 CD, nor my Qemu VM so I can’t get into some kind of networking with Qemu thing like I want to. But I’ll do so soon. Honestly!

From what I hear about this Hyper-V is that it’s faster, and more feature filled then the prior versions of Virtual Server… I’ll have to see as now I’m loading the network drivers….

Oh, and another thing, is that all the services are IPv6 native, and Windows 2008 server, like Vista defaults to IPv6 then fails to IPv4. It seems like a good time for some 6to4 guides, or new DSL/WAP’ that do the 6to4 dance.