Archive for the ‘emulation’ Category

Just about to give up on Parallels

Wednesday, July 18th, 2007

VMware CPU usage

Parallels is driving me nuts. If I try to run Vista, it maxes out the CPU constantly, even in the background. In contrast, I’ve had two VMware Fusion VMs (Vista and XP) running in the background all morning, and I forgot they were there.

What’s in the Mac OS X version of Silverlight 1.1 Alpha?

Tuesday, May 1st, 2007

I downloaded Silverlight 1.1 Alpha and poked around until I found out where the .NET stuff lives. Here’s what’s in the bundle:

$ cd /Library/Internet\ Plug-Ins/Silverlight.plugin/Contents/MacOS/
$ ls
  CoreCLR.bundle                          System.Core.dll
  IronPython.Modules.dll                  System.SilverLight.dll
  IronPython.dll                          System.Xml.Core.dll
  Microsoft.JScript.Compiler.dll          System.dll
  Microsoft.JScript.Runtime.dll           agclr.dll
  Microsoft.Scripting.SilverLight.dll     agcore
  Microsoft.Scripting.Vestigial.dll       slr.dll
  Microsoft.Scripting.dll                 slr.dll.managed_manifest
  Microsoft.VisualBasic.dll

And check out what those DLLs are made of:

$ file System.dll
  System.dll: MS Windows PE 32-bit Intel 80386 console DLL

But what’s this thing? Man, that’s big!

$ file agcore
  agcore: Mach-O universal binary with 2 architectures
  agcore (for architecture i386): Mach-O bundle i386
  agcore (for architecture ppc):  Mach-O bundle ppc
$ ls -l agcore
  -rwxr-xr-x   1 502  admin  16083600 Apr 26 03:16 agcore

So how much of those DLLs are managed code? Do they contain Win32 code, and does agcore have some magic in it for bootstrapping Win32 code?

Does the Vista EULA Really Prohibit Virtualization?

Monday, February 12th, 2007

I don’t think so, and here’s why. The EULA that this post refers to says (emphasis mine) “You may not use the software installed on the licensed device within a virtual (or otherwise emulated) hardware system.” I’m certainly not a lawyer, but it sounds like the scenario addressed is taking the copy of Vista that you’ve installed on your PC, and running that same copy under virtualization.

The EULA (yes, it’s titled Ultimate, but it includes terms for other editions) defines a licensed device:

Before you use the software under a license, you must assign that license to one device (physical hardware system). That device is the “licensed device.” A hardware partition or blade is considered to be a separate device.

And the prohibition against using Microsoft’s DRM within the virtual machine makes no sense unless you are talking about two identical copies (same activation key) of Vista running on top of each other.

So there’s some ambiguity here, and it would be great to get some clarity from the Vista team. But here’s the thought I keep coming back to: if you go out and buy a copy of Vista that you intend to run only under Parallels, the only thing that seems to remotely qualify as the licensed device is the virtual machine itself. Here’s how I think the legalese translates:

“You may not use the software installed on the licensed device within a virtual (or otherwise emulated) hardware system.”: You can’t take the copy of Vista you installed on your PC and run it under any kind of virtual or emulated system.

“You may use the software installed on the licensed device within a virtual (or otherwise emulated) hardware system on the licensed device.”: You can take the copy of Vista you installed on your PC and run it under virtualization or emulation, but only on the same PC.

Fedora Core 5 on Virtual PC 7 for Macintosh

Thursday, April 13th, 2006

I posted an entry a while back about getting this to work under an earlier beta of Fedora Core 5. I think these instructions are much more straightforward. You’ll need to go through the installation. I suggest using text mode if you can (I specified “text expert” when I was installing).

When installation is finished, and you are prompted to reboot, use Alt-F2 to switch to a virtual console (Ctrl-Alt-F2 if you are in X11). Then, mount the install media:

# cd /tmp
# mknod hdc b 22 0
# mkdir /mnt/cdrom
# mount /tmp/hdc /mnt/cdrom

Copy the i586 kernel over to root’s home directory on the new system:

# cp /mnt/cdrom/Fedora/RPMS/kernel-*i586* /mnt/sysimage/root

Unmount and eject the install media and chroot into the new system:

# umount /mnt/cdrom/
# eject /tmp/hdc
# chroot /mnt/sysimage/

Install the kernel and exit the chroot:

chroot# cd root/
chroot# rpm --force -Uvh kernel-*i586.rpm
chroot# exit

Use Alt-F1 (or Alt-F7 if you were in X11) to return to the installer, and
reboot as prompted.

Ubuntu Hacks @ LinuxWorld Boston

Wednesday, April 5th, 2006

I’ll be giving a short talk and demonstration on Ubuntu Hacks today (Wednesday, April 5 at 12:30) at the O’Reilly LinuxWorld booth. Drop by and learn about getting Ubuntu running under colinux, going online with a Bluetooth connection and a cell phone, and a few more things.

OpenSPARC

Wednesday, February 15th, 2006

OpenSPARC Goals: “To significantly increase participation in processor architecture development and application design by making cutting-edge hardware IP freely available.” Getting the obvious Bart Simpson reference out of the way quickly (how long do you figure before they reword that first bullet point?), I’m wondering how someone like me could hack this? I can’t fab chips in my basement… yet. But Qemu emulates a SPARC. Is there an opportunity for SunSource there? An emulator does not need to be full speed to be useful. (via Smart Mobs).

Fedora Core 5 Test 2 on Virtual PC

Saturday, February 4th, 2006

I tried loading up FC5 test 2 on Virtual PC on my Mac, and the install went well, but the smoke test (rebooting into my new Linux install) failed miserably with some weird errors:

bad: scheduling from the idle thread!
Unable to handle kernel NULL pointer derefence

This was followed by a dialog telling me “An unrecoverable processor error has been encountered. The PC will restart now.”

Per this post on macosx.com, I found a suggestion to use Pentium-MMX as the target architecture instead of Pentium Pro, but the instructions didn’t work perfectly for me. There is a 586 architecture RPM available, but the Fedora installer fails to choose this, and uses the 686 RPM instead.

To actually get the kernel on the target system, I used the Virtual Disk Assistant to create an empty FAT32 disk image, mounted it on my Mac, copied the kernel to it (look for kernel-version.i586.rpm in this directory), and unmounted it.

Then I configured the still-broken Fedora install to use that image as the second disk, put the install DVD into my machine, and booted into rescue mode. I figured I could just chroot to /mnt/sysimage, and rpm -ivh the file I needed. Unfortunately, I got a bunch of errors about the scriptlets, so I had to install it by hand.

First, I mounted /dev/hdb1 (the FAT32 image), copied the kernel over to the root of the boot partition, and then installed it with cpio.

sh-3.1# mkdir /mnt2
sh-3.1# mount /dev/hdb1 /mnt2
sh-3.1# cp /mnt2/kernel-2.6.15-1.1907_FC5.i586.rpm /mnt/sysimage/
sh-3.1# umount /mnt2
sh-3.1# chroot /mnt/sysimage/
sh-3.1# rpm2cpio kernel-2.6.15-1.1907_FC5.i586.rpm | cpio -u --extract

Don’t reboot just yet, because when I tried booting, I got lots of errors from ksign about unsigned modules. It turns out there was one more thing to do: run the post-install scriptlet (which you can find with the command rpm -qp –scripts kernel-2.6.15-1.1907_FC5.i586.rpm):

sh-3.1# /sbin/new-kernel-pkg --package kernel --mkinitrd --depmod --install 2.6.15-1.1907_FC5

Now you’re ready to exit the chroot environment, halt the Fedora virtual machine, eject the DVD, and reboot.