Yesterday, I ran into a few problems when trying to update my SGS2 (SGH-T989) to Android 4.0.3 ICS. The problems were indeed related to having Window$ installed in a virtual machine. Both Windows 7 and Windows XP exhibited problems, though different ones, respectively. Today at work, I used my laptop (which has Windows 7 as the host OS) to install the updates via Samsung’s Kies application, and it went through without any major issues. The only problem that I had was that my work’s firewall wouldn’t allow for the download of the firmware. Luckily, I just used another phone as a mobile hotspot, and the upgrade was successful!
After I gave the problems of last evening some thought, it occurred to me that they were likely caused by the USB passthrough functionality of the Type II hypervisor. The operation could have required special privileges in terms of direct USB access on the host machine. As such, the sandboxed environment would likely reject such requests. However, it would have been nice for VirtualBox to have logged some type of error. However, I would imagine that the problem I experienced with the firmware upgrade is similar in nature to 1) not being able to directly access a GPU from within a guest OS, and 2) not being able to burn an audio CD from within a guest OS. Maybe one day these two operations will work, but until then, at least my SGS2 is running ICS.
As for ICS, I do like it compared to Gingerbread, but I still don’t like the Samsung proprietary skin of TouchWiz (although it is better than HTC’s mess that is Sense UI). I greatly prefer AOSP ROMs, and especially CyanogenMod (although there is likely a personal bias involved). I’m sure that we’ll have CM9 sometime in the future; at least a completely functional “unofficial” port. Until then, I haven’t found an AOSP ROM of which I’m particularly fond, so the Samsung official 4.0.3 shall do. 🙂