Qemu 0.15.0 released!

Here is the changelog.

I haven’t had that much time to review it myself, but I did manage to get some binaries built!

For 99% of the people out there this is the i386 & x86_64 emulators.

I’ve moved the default NE2000 to 0x320 IRQ 10 (as always), and included support for my quick control-alt-delete & reset via control-alt-d & control-alt-r. I’ve also included the adlib emulation to go along with the SoundBlaster support (why is this left off by default?).

And for those who need the other CPU types (ARM/PowerPC/MIPS/M68k/S390) you can download it here.

All of these were built with MinGW, and are all Win32 exe’s.

33 thoughts on “Qemu 0.15.0 released!

  1. Windows NT MIPS still works in QEMU?

    The last time that i heard news about QEMU, Andreas Färber was working in a true PReP system emulation, the IBM RS/6000 40p (with works with Windows NT PPC), and Richard Henderson was working in a true Alpha system emulation, the DEC CLIPPER system, but i don´t know if WinNT works on that one.

    Greetings

  2. Is it just me or has the ‘linuxboot.bin’ file been left out of ‘qemu-0.15.0-i386-x86_64.7z’?

    Anyway, I found it in ‘qemu-0.15.0.7z’ so I can now use “qemu -kernel …”.

  3. With this version, sending command
    qemu-system-x86_64.exe -L . -name “RMPrepUSB Emulation Session” -boot c -m 471 -hda //./PhysicalDrive1 -hdb harddisk.img

    to shell under 64-bit Win-7 just opens a QEMU window and hangs?

  4. Hmm I know for direct CD-ROM emulation your slashes need to go the other way…. \\.\d: for the d drive etc… I also assume that your 2nd disk is indeed bootable by an x86_64, Prep sounds too close to PowerPC…? But maybe it is me.

    Also make sure your instance of Qemu is running with elevated privileges as direct disk access isn’t something every program can have on Windows.

    • I am using a batch file to run the command so exactly same conditions. I run as Admin.
      If I use the old exe then it runs. Your new one does not (no BIOS POST messages at all – just a blank screen).

  5. I think it is an issue with the BIOS file path. stderr.txt says it cannot find ./bios.bin. When I moved the BIOS files to the same folder as the exe it works.

  6. is there a DLL or something else missing?
    The command:
    qemu-img.exe convert -O raw myfile.vdi zz.raw

    reports ‘error while writing’ both in 0.15.0 and Beta rc2
    v0.11.1 works fine on same file. myfile.vdi in this case is a 3.9GB made by VirtualBox.

    • maybe it’s the placement of -O raw …?

      C:\temp\qemu-0.15.0>qemu-img.exe create -f vdi test.vdi 32M
      Formatting ‘test.vdi’, fmt=vdi size=33554432 static=off
      C:\temp\qemu-0.15.0>qemu -L pc-bios -hda test.vdi -m 32 -fda Setup.img -boot a
      C:\temp\qemu-0.15.0>qemu-img.exe convert test.vdi -O raw test.raw
      C:\temp\qemu-0.15.0>qemu -L pc-bios -hda test.raw -m 32

      This sequence seems to have worked as I’d expected….

      C:\temp\qemu-0.15.0>dir test*
      Volume in drive C has no label.
      Volume Serial Number is 8C79-0098

      Directory of C:\temp\qemu-0.15.0

      08/15/2011 05:53 PM 33,554,432 test.raw
      08/15/2011 05:52 PM 1,049,600 test.vdi
      2 File(s) 34,604,032 bytes

      I’m not sure… As far as I know I don’t have any MinGW stuff in my default searchpath.

  7. Your test above works fine. But the vdi file I have is 3GB and that converts fine using the old version 0.11.1, but 0.15.0 gives the
    qemu-img: error while writing
    message immediately.

    I have several vdi’s which have OS’s in them (e.g. YLMF or Ubuntu) and they all fail with the same error with 0.15.0. The vdi’s are 8GB dynamic and contain approx. 3GB of data. With 0.11.1 it makes a 3.485GB raw file and takes several minutes.
    As far as I can tell there is a problem.

    • Yeah I just ran into it…

      C:\temp\qemu-0.15.0>qemu-img.exe convert test4g.vdi -O raw test4g.raw
      qemu-img.exe: error while writing

      It’s a 4GB VDI that I just formatted with NT 4.0 as FAT. Looks like somehow someone slipped in a signed 32bit integer in there somewhere…

      At least you do have the ‘fix’ of an older version of qemu-img to convert the image… I just compile the thing I’ve never torn apart the block device support for Qemu… 😐

    • I did another test, and converted a 4000MB qcow2 into raw without any issues, the issue is writing a RAW file greater then 4000MB or maybe just under the 4GB mark ..

  8. Did the qcow2 file actually have 4000MB of files in it? I think that the raw format supports sparse files, so unless it has 4000MB of random data/files in it, Windows actually makes a small file that just appears as a 4000MB file?
    I have a few vdi files and they all fail to convert, but if I create a new empty 4GB vdi with no files in it then it does not fail.

    • raw files are not spase that’s qcow/vdi/vhd … raw is 1:1 also check the filesize when it doesn’t “fail” it’s not 4GB it’s way too small.

  9. Apparently there is a patch for the qemu-img issue – could you add another download binary for i386 please so I can see if it works as I am unable to compile qemu under Cygwin or MinGW as I get errors. Thanks!

  10. If I try to compile under MinGW I get a ‘python not found’ error. How do I go about adding Python please so I can compile?

  11. I installed python (win32 version) then just passed it the path to the python.exe .. glib2 was the far more involve part after getting pyton installed.

  12. Managed to get it to compile qemu-img by telling it not to exit on error if no glib. Compiles OK and then used strip to cut down on size. It now works with large vdi files 🙂

  13. I have windows 2000 installed, and your package does not work. I keep getting “Entry Point Not Found” on the WS2_32.dll (procedure entry point freeaddrinfo not located). Is this because it will not run on/compile for Windows 2k, or because it was compiled for a different version of Windows?

    • That’s because the IPv6 related entry points, freeaddrinfo, getfreeaddr and getnameinfo only exist on Windows XP SP1 or later. I believe that these entry points first existed in MSVC++ 7.1.

      A hex editor would have to be used to replace the entry points with gethostname; otherwise, it won’t work and users would have to upgrade.

  14. I downloaded the latest version of Qemu (0.15.1) and I did a check of the files in Dependency Walker utility and I found that despite Qemu being complied with MSVC++ 2005, the entry point symbols “freeaddrinfo”, “getaddrinfo” and “getnameinfo” are actually related to IPv6 and they only exist in Windows XP Service Pack 1 and later.

    For me, the latest version of Qemu can still run on Win2K if I use a hex editor to edit out the entry points, “freeaddrinfo”, “getaddrinfo”, and “getnameinfo” with “gethostname”.

Leave a Reply to rainbow Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.