The goal of these instructions is to provide Funtoo Linux users with a reliable, consistent set of instructions for upgrading Funtoo Linux from 1.3 to 1.4. Please assist in ensuring that these instructions are complete, make changes to the page that are needed to make these instructions 100% reliable, and if the instructions seem to not work properly, please consider opening a bug at https://bugs.funtoo.org or asking for assistance at https://forums.funtoo.org or #funtoo on freenode. Do not make major changes to this document without first opening a bug related to the issue so your changes can be reviewed. Thank you!
Set Release and Sync
Use your favorite editor in
/etc/ego.conf, set the release to 1.4:
[global] release = 1.4
root # ego sync
Set gfxcard mix-ins and VIDEO_CARDS
In Funtoo Linux 1.4, the
make.conf setting has been updated and mix-ins have been created to allow you to easily choose common configurations. It is strongly recommended that you select your video hardware using Funtoo mix-ins, not
VIDEO_CARDS directly, by choosing a mix-in from the following list:
Another important change for NVIDIA proprietary graphics users -- a new package
nvidia-kernel-modules is now used to install the NVIDIA kernel modules.
nvidia-drivers will only install the userland components. To emerge both, emerge
nvidia-kernel-modules which will in turn pull in
nvidia-drivers. This is set up this way because it is possible to set up an NVIDIA-accelerated container (see LXD/GPU Acceleration) that needs
nvidia-drivers but not kernel modules.
Here is an example of how to add a mix-in to your profile:
root # epro mix-ins +gfxcard-nvidia === Enabled Profiles: === arch: x86-64bit build: current subarch: intel64-westmere flavor: desktop mix-ins: mediaformat-gfx-common mix-ins: gfxcard-nvidia >>> Set mix-in gfxcard-nvidia. Updating profiles at /etc/portage/make.profile/parent...
gcc has been updated to 9.1.1 series by default, so lets take advantage of that, and also update
glibc. Note that multiple versions of
gcc, 9.1.1 and 7.4.1, may get pulled in in while upgrading
gcc. Only 9.1.1 is needed in Funtoo 1.4, so once 9.1.1 is installed, you may cancel the emerge of older versions of
gcc to save time.
root # emerge -u1 gcc root # emerge -u1 binutils root # binutils-config -l root # binutils-config 3 (or whatever number corresponds to version 2.32) root # source /etc/profile root # emerge -u1 glibc
At this point, you should be all set to perform a world update. We will exclude perl from upgrading now as we will do that near the end of the install.
root # emerge -auDN @world --jobs=3 --exclude dev-lang/perl
It seems that excluding perl can cause some issues with the dep graph currently.
It also appears you need to ensure your default python is 3.7
root # eselect python list root # eselect python set [number listed for python 3.7] root # eselect python show
The last command should give you python 3.7 as an answer, if not, retrace your steps. Python 3.7 is required for proper building of packages like mesa-19.1.4.
We've saved the perl upgrade for now, so we would have a complete but old perl installation for the world upgrade. Now that things are upgraded, we can take care of perl, and rebuild all perl modules and perl-dependent things against the new perl:
root # emerge -u1 dev-lang/perl root # perl-cleaner --all
Remove python-3.6 as it will no longer be used:
root # emerge -C =dev-lang/python-3.6* root # eselect python cleanup
If you are using
debian-sources-lts, it has now been updated to 4.19.37_p6. Edit
/etc/boot.conf as necessary and run
ego boot update to ensure the new kernel is booted upon next system startup.
root # ego boot update
etc-update and Reboot
Before rebooting, it is a good idea to run
etc-update to apply updates to any configuration files that require updating:
root # etc-update
Now, you should be able to reboot into Funtoo Linux 1.4:
root # reboot