Remko Weijnen's Blog (Remko's Blog)

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

Archive for March, 2011

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.

 

(more…)

dUP2 Patcher update

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: http://diablo2oo2.di.funpic.de/stuff/dup2.beta.rar

image

  • 1 Comment
  • Filed under: General
  • Tips for using SysPrep with Altiris

    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 (deploy.cab) per selected OS.

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

    image

    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.

    (more…)

  • 0 Comments
  • Filed under: Altiris
  • Add VMXNET3 driver to Windows PE PXE Image

    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, VMXNET3.cab, 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:
    image

     

    (more…)

  • 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:

    (more…)

    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”:

    image

    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:

    image

     

    (more…)

  • 1 Comment
  • Filed under: Altiris, VMWare
  • STOP: 0x0000005D when booting Windows PE

    I was booting a new VMWare Virtual Machine with Windows PE through Altiris for initial deployment but Windows PE halted with a BSOD:

    image

    0x0000005D means UNSUPPORTED_PROCESSOR (defined in bugcodes.h) so I expected there was a x86 vs x64 problem.

    The VM was configured for a 32 bit OS:

    image

    The Altiris Job was configured to use Auto Select:

    image

    But instead of the x86 version of Windows PE, Altiris attempts to boot the x64 version and this explains the BSOD: VMWare prevents the CPU from going to x64 mode and thus Windows has no choice but to halt.

    Workaround is to change the Automation pre-boot environment in Altiris to x86:

    image

    Note that it’s no problem to deploy an x64 OS using the x86 version of Windows PE so I don’t see any real problems with this workaround.

    Windows 2003 align OS disk

    If you read one of VMWare’s Best Practices Guides (in my case this one) then you may have read that it’s important to align guest partitions.

    We can do this (for Windows OS) using the DiskPart tool that comes with the OS since Windows 2003 SP1 (there is a hotfix for earlier versions).

    On Windows 2008, and higher, all partitions are automatically aligned to a 1 MB boundary.

    But how to do this for the OS disk on Server 2003?

    My first thought was to open a command prompt during setup, right before creating the partitions and then use diskpart.

    However the OS partition is created during the Text portion of the install process and even though we can get a cmd prompt using SHIFT-F10 we get the recovery console (which has a builtin diskpart but cannot align).

    So I used a Windows PE bootdisk. Any version with Diskpart should do but I used a bootdisk from Symantec Backup Exec System Recovery that I’ve customized to my own needs.

    If you boot the original Symantec disk you can open a command prompt by accessing a hidden feature: move the mouse above the “S” from Symantec until you get a Hand icon and press the left mouse button:

    image

     

     

    (more…)

    Booting a Virtual Machine from USB Drive

    I wanted to boot a Virtual Machine from an USB Stick but even though you can Connect USB devices to VMWare you cannot boot from it.

    It can be done however using a boot manager that is able to perform a boot from USB media. I used Plop Boot Manager.

    Download one of the stable releases (I used 5.0.11-2) and extract plpbt.img from the archive and mount this (don’t forget to select the Connect at power on option) and when booting press Esc for the Boot Menu.

    image

    This would be a good time to Connect the USB device to the Virtual Machine, right click the USB device in the bottom bar:

    image

    And select the Connect option:

    image

    Click OK on the warning message:

    image

    (more…)

  • 0 Comments
  • Filed under: VMWare
  • AES-NI Benchmarks

    As you may know, recent Intel processors have an extension to the x86 instruction set called Advanced Encryption Standard Instruction Set (AES-NI).

    AES-NI is basically hardware support for AES based encryption and because I had a chance to run some benchmarks on differing systems I was curious what the impact of AES-NI would be.

    I used TrueCrypt for running the benchmarks because this is a real life application and it had support for AES-NI.

    I first ran the benchmark on a laptop with an Intel Core2 DUO (P9700 2,80 GHz):

    image

    clip_image002[5]

    The next system was an Intel Core i7 Q740 (Quad Core with Hyperthreading, so 8 in total) machine.

    image

    (more…)

  • 3 Comments
  • Filed under: General
  • Donate


    Blogroll


    Categories


    Archives