Remko Weijnen's Blog (Remko's Blog)

About Virtualization, VDI, SBC, Application Compatibility and anything else I feel like


I am currently deploying 64 Citrix XenApp servers with Altiris. The deployment consists of an OS Image, OS Configuration and finally Citrix XenApp and Applications.

In the OS Configuration part the IP configuration needs to be applied and I decided to do this with a database.

The database consists of 2 tables; one table with the per host settings and one table with the global settings (such as DNS).

In the Altiris job both tables are read from an embedded VBScript and assigned to the NIC.

Database configuration

I created a database (SQL Server) called IPManagement with 2 tables:



Read the rest of this entry »


I ran into an error when I was upgrading hardware on an HP BL460c G6 Blade.

After placing 2 new (larger) hard drives the Array Configuration would hang after saving the configuration (It just kept blinking “Saving Configuration.” forever.


After a reset the Smart Array Controller (P410) halted a very long time on Initializing and eventually failed.

I retried the whole procedure with the same result but this time the controller reported: “previous lockup code 0xAB”.

My next step would be a firmware update and this kb article from HP confirms that it was indeed a firmware issue: HP Serial Smart Array Controllers P410/411/212/712m/410i – May Hang with Lockup Error Code 0XAB Configured in Zero Memory Mode.

This kb article also tells me why I didn’t have this error on another blade: that one had the Battery Backed Write Cache module.

  • Filed under: General

    On my blog I offer visitors the options to rate the articles I write using either thumbs up/down or a 1-10 star rating.

    I am interested in what content my readers like so these ratings (and of course comments you leave) indicate what kind of articles you like and which you don’t.

    However some people feel the need to abuse this, take a look at this:



    Read the rest of this entry »


    My blog has been down for a short period, if you tried to open WordPress would redirect to wp-admin.install.php and you would see this message:


    I suspected it was a database problem so I went to phpMyAdmin and did a check on all tables:


    Even though MySQL reported all tables to be okay, I tried to repair the wp_options table since this is a common issue with WordPress and indeed this fixed the problem!


    So a few days ago I got new memory for a development box – an upgrade from 4 to 6 GiB (later on even 8 GiB). Much appreciated as you can imagine. After dismissing the BIOS warning about changed amount of memory (oh really? :mrgreen:), I booted into Ubuntu and happily looked at the memory stats. After that I booted into Windows (a Windows 2003 Server Standard, but I’ll just use Windows from here on) and was disappointed to see only 4 GiB available. This is apparently a limitation specific to the Standard edition.

    After some pouting, I decided to take action. Of course one of my first thoughts was to ask Remko, because he had done similar things for some other Windows versions. He pointed me to MmInitSystem, which was not an immediate hit, though. I loaded my kernel .exe into a disassembler to look at the details, but MmInitSystem was a lengthy and rather boring function. However, the advice was good and got me a good bit closer, especially when Remko also mentioned the use of ExVerifySuite in the logic that would set the limits. So I brought up the references to ExVerifySuite and – surprise surprise – only seven other functions used it and out of these only one was not recognized by name from the exports and debug symbols. And since the inspection of that function (at 0x00615FB0 in my kernel) proved that it was being called from MmInitSystem, this was an immediate hit.


    Read the rest of this entry »


    A missing feature in the dUP2 Patch Generator has always been to correct the PE Checksum.

    After all if you write a clever search&replace patch but have to include the PE Checksum it doesn’t make any sense.

    But then I saw there’s a beta version of dUP2 that supports ome new features one of them being a fix checksum option!

    The beta (v2.22) can be found on diablo2oo2’s site:


  • 1 Comment
  • Filed under: General

    Altiris has built in support for Sysprep when creating or distributing images.

    The documentation doesn’t mention some things that are worth knowing so I will try to address them in this post.

    Sysprep support can be added to Altiris during the install where it will ask you for the Sysprep install files ( per selected OS.

    If you didn’t add Sysprep during install you can copy to one of subfolders in the Sysprep folder. Eg for 32 bit Windows 2003 goes to Sysprep\DotNet\x86:


    As I wrote earlier in this post it’s very important to use the correct Sysprep version as each OS has it’s own version.

    Read the rest of this entry »

  • Filed under: Altiris

    After compiling the VMWare VMXNET3 Driver for Linux I needed a driver for the Windows PE Image as well.

    Compared to what I needed to do for Linux this was a breeze!

    First we need the VMWare tools again so I grabbed windows.iso from /vmimages/tools-isomages.

    The driver files are in a cab file,, extract this cab file somewhere and open the Altiris PXE Configuration tool.

    Select the Windows PE Entry and click Edit:image

    Then click Edit Boot Image:


    Read the rest of this entry »

  • 1 Comment
  • Filed under: Altiris, VMWare

    In the previous part we have already setup the Ubuntu Virtual Machine and we did a build of the kernel image.

    So now we can finally compile the driver, in my case I needed a driver for VMWare’s VMXNET3 Network Card.

    VMXNET3 is VMWare’s paravirtualized network driver and offers better performance with less host processing power compared to the default e1000 driver.

    First we need the source for the driver, we can obtain this from the VMWare Tools either from a running Linux VM or like I did by transferring the file linux.iso from /vmimages/tools-isomages from the vSphere server.

    In the iso file is a single file, VMWARETO.TGZ and after unpacking we get a folder called vmware-tools-distrib.

    In vmware-tools-distrib/lib/modules/source we find the vmxnet3.tar file that contains our sources. Copy the tar to the Virtual Machine and unpack it, then start a Terminal and cd to the directory where you unpacked the tar.

    The first time I attempted a compile I received an error indicating that the file autoconf.h could not be found. After I found this bug report I was able to fix this by creating a link:

    We can compile the driver with the make command, referencing the kernel image we created earlier:

    Read the rest of this entry »

  • Filed under: Altiris, VMWare

    First we need to setup a Linux Virtual Machine with a distro of choice (I recommend a 32 bit version). I will be using Ubuntu here and the first step is to download the iso.

    At the time of writing Ubuntu 10.10 was the Latest version so I used that one.

    Create a new Virtual Machine and use the iso as install media, I am using VMWare Workstation and it recognises Ubuntu and performs an “easy install”:


    The install is unattended (when VMWare Tools are installed you need to perform a login) and took only 6 minutes on my laptop!

    Now we need to install gcc (the compiler), open the Ubuntu Software Center:



    Read the rest of this entry »

  • 1 Comment
  • Filed under: Altiris, VMWare
  • Blogroll