Preparing the Cygwin VM

  1. Install Oracle VirtualBox
  2. Create new virtual machine. Assign at least 120 Gb of virtual disk space and at least 4 Gb of virtual RAM to the newly created virtual machine.
  3. Install Windows (preferrably XP SP3) into the virtual machine and enter default username without non-English characters and spaces (preferrably "User"). Filesystem of disk C: should be NTFS.
  4. After installation of virtual OS, install Oracle Guest Additions and enable Shared Folder with a host system.
  5. Download setup-x86.exe from and install Cygwin (preferrably all packages) to the folder having name without spaces (preferrably "C:\Cygwin"). Downloading all packages from the Internet may take a long time.
  6. When done, shutdown the Cygwin VM and take snapshot "SNAP-1".

Important note: current version of Cygwin (as of 2016-04-21) seems non-functional, hanging forever in postinstallation scripts (this can be fixed by temporarily renaming bin\perl.exe) and yielding the following error during the very first binutils build:

Can't fork, trying again in 5 seconds at
/usr/share/texinfo/Texinfo/Convert/ line 123.
   3 [main] perl 3244 child_info_fork::abort:
unable to remap Normalize.dll to same address 
as parent (0x810000) - try running rebaseall

I was unable to resolve this error by running rebaseall, rebaseall -v, switching hypervisor and uninstalling guest/host integration tools, so I retracted to older version of Cygwin from my archives (2013-06-16). This error seems to be related to 32-bit address space exhaustion, so switching to 64-bit Cygwin running in 64-bit guest OS may be helpful, but I didn't try it.

>> Read next section or buy already prepared cross-compiler ($10) to save your time.