Become root and follow these steps:

  1. As root, Run:

    cd /usr
    mv portage portage.old
    git clone portage
  2. Make these changes to /etc/portage/make.conf:

    # These were suddenly needed when migrating to Funtoo.
    # You can pick any version of python that's available in the portage tree.
    # Once portage is upgraded, /etc/portage/make.profile/parent should take care of these.
    USE="$USE python_abis_2.7 python_abis_3.3"
    PYTHON_ABIS="2.7 3.3"
  3. Upgrade portage:

    emerge -1 portage
  4. Edit selected profiles in /etc/portage/make.profile/parent . This is normally done using eselect profile, but that's not possible at this stage of the process.

  5. Upgrade everything else. This will likely intially fail, unless the installed packages haven't been upgraded in some time.

    emerge -auND --autounmask-write @world
  6. If the above fails because of conflicts, look at them and asses whether they're unlikely to cause problems, since they're very close (version-wise) or non-essential. If so, just add --nodeps to the above command and rerun.

  7. If that also fails, re-edit /etc/portage/make.profile/parent and try using "current" or "experimental" instead of "stable", then retry the subsequent steps.

Here be Dragons

The preceding is a simplistic rendition of the process I actually underwent. If you want to attempt it, be prepared for the horror of the dependency-hell you're about to enter. If you manage to endure the experience, I can assure you that by the end, you'll have a much better understanding of emerge/portage.