1. Home
  2. Linux

How To Install Funtoo Linux

You’ve heard of Gentoo, but what about Funtoo? Funtoo is a modified version of the Gentoo Linux operating system that keeps the core goodness of Gentoo but heavily optimizes it by making “profiles” that make compiling programs from the source code much faster. It also has other enhancements that make it a very attractive alternative to traditional Gentoo Linux, like choosing to deliver software via a Git system, an automatic kernel building system that saves time, and more. So, how do you install Funtoo?

Install Funtoo – Live Disk

Given that Funtoo is essentially Gentoo Linux, everything is installed by hand. Yes, it is true that users will need a live disk (much like other Linux distributions) to install the software, but it’s not for the reason you might think. The reason a live disk is necessary is that it’ll be much easier to connect your PC to WiFi and use non-free drivers that probably won’t load up on their own.

Overall, Funtoo doesn’t really have a live disk. For advanced users looking to get this distribution working, you may find success with most Linux distributions as the tools are mostly the same. That said, if you are not a Linux pro, we recommend just downloading the Gentoo live disk. There are two main reasons for going this way:

  1. Gentoo and Funtoo are very, very similar so all of the chroot commands that you’ll need to run will always work inside of the Gentoo live disk
  2. The Gentoo kernel config on the live disk can be used to set up your own custom Linux kernel.

Grab the latest version of the Gentoo live disk here and get out a USB flash drive (at least 2.5 GB in size). Additionally, download the latest version of the Etcher image flashing tool. Once downloaded, insert the USB stick and flash the live disk to it. Keep in mind that this tool works on Windows, Mac, and Linux.

When the Gentoo live disk is finalized and ready to go, reboot your PC and load up the BIOS. Inside of the BIOS screen, change the boot order so that the Gentoo USB stick loads before anything else. What follows should be a screen similar to the image below.

Preparing Partitions

To install Funtoo you need to first make sure you are connected to the internet and then click on “Konsole” on the desktop. Then, use the lsblk command to reveal all hard drives and storage devices on the system you’ve loaded the live disk from. In this installation example, our hard drive is labeled /dev/sda and is exactly 18 GB. Yours may have a different label and size.

Note: the Gentoo live disk has a scrambled root password. To set it, open the terminal and run “sudo -s“. From there, run passwd to set a new root password.

Press the “windows” button on the keyboard, write “Gparted”, and open it up. Inside Gparted, look for the correct hard drive label (the one that you found in lsblk). Next, you’ll need to delete all of the active partitions on the hard drive with a new partition table.

To create a new table, click “device”, then “Create Partition Table”. Select “msdos” if you use BIOS boot, and “gpt” if you intend on using UEFI/secure boot.

After deleting all old partitions, it’s time to create new ones.

MS-DOS Partition Table

  • Click “new” to open the “Create new Partition” dialog.
  • Under “Partition name” write “SWAP”.
  • Under “file system”, select “linux-swap”.
  • Think about how large your physical RAM is, and make sure that your SWAP partition is the same. Do 1024 * GB. For example, 1024 x 2 can convert 2 GB to MB (2048 MB). Enter the size in MB in “New size”.
  • Click “add” to add the new swap partition, then click “new” again to make the root partition.
  • When all partitions are set up, click “Apply” to write the changes.

GPT Partition Instructions

  • Click “new” to open the “Create new Partition” dialog.
  • For this first partition, write “boot” under “Partition name”, and select “Fat32” for the file system. Make sure that it is no larger than 1GB. Ideally, 512 MB.
  • Create a second partition for swap. Be sure to select “linux-swap” as the file system, and write “SWAP” as the “Partition name”. Be sure to follow the conversion example in the MS-DOS instructions to get the right size.
  • Lastly, create the root partition by clicking “new” a third time. Keep in mind that there is no need to resize this partition, as it will use the rest of the drive by default.
  • When done, click “Apply” to write the changes.

Mounting File Systems

Now that everything is correctly partitioned, it’s time to mount the file systems and get everything ready.

First, make the Funtoo directory inside of /mnt. This is where every partition is going to mount to.

mkdir /mnt/funtoo

BIOS/MBR mount instructions

mount /dev/sdb2 /mnt/funtoo

GPT/UEFI mount instructions

mount /dev/sda3 /mnt/funtoo

mkdir /mnt/funtoo/boot

mount /dev/sda1 /mnt/funtoo/boot

Installing Base System

The base Funtoo system installs by downloading a Tar Gzip archive. Head over to this page here, and find which sub-arch fits your system. Choosing the right subarch is critical, and will vastly improve compile time, so be sure to get the right one. Not sure how to tell what Funtoo subarch you need? Enter this command:

gcc -march=native -Q --help=target | grep march

When you find it, right click on the link, select “copy link address” (or equivalent). Then, move to the terminal and download it to the /mnt/funtoo directory.

Be sure to select “funtoo-current”.

Note: in this example, we’ll be using the generic 64bit subarch.

cd /mnt/funtoo

wget http://build.funtoo.org/funtoo-current/x86-64bit/generic_64/2018-03-02/stage3-generic_64-funtoo-current-2018-03-02.tar.xz

When you’ve downloaded the subarch archive, install it to the system with:

tar xpf stage3-generic_64-funtoo-current-2018-03-02.tar.xz

Configuring System

When the base system is working, you’ll be able to Chroot into it. Use the following commands:

mount -t proc none proc
mount --rbind /sys sys

mount --rbind /dev dev

After mounting, it’s a good idea to also copy over resolve.conf. This will solve any DNS issues that may arise.

cp /etc/resolv.conf /mnt/funtoo/etc/

Log into the Chroot with:

env -i HOME=/root TERM=$TERM /bin/chroot . bash -l

Before making any further changes to your Funtoo system set the root password:



In order for the Funtoo Linux system to boot correctly, you’ll need to edit the fstab file:

nano -w /etc/fstab

Delete everything under # in the file, so that we can start fresh with mount points. DO NOT DELETE THE COMMENTS.

BIOS Instructions

Write out the following lines into the fstab file.

# Swap

/dev/sda1 none swap sw 0 0

# Root Funtoo file system

/dev/sda2 / ext4 noatime 0 1

Done editing? save your edits with Ctrl + O, and exit with Ctrl + X.

UEFI Instructions

# UEFI Boot partition

/dev/sda1 /boot vfat noatime 1 2

# Swap

/dev/sda2 none swap sw 0 0

# Root Funtoo file system

/dev/sda3 / ext4 noatime 0 1

When you’ve finished editing the /etc/fstab file, save it with Ctrl + O, and exit with Ctrl + X.

Download & Update Portage Tree

Even though you’ve just extracted the latest version of Funtoo, you’ll still need to install the latest version of the software tool. Syncing doesn’t take long for Funtoo, as everything is done via Git technology. Sync the tree with the ego command.

ego sync

Ego sync is done, which means that the new Funtoo system has an up to date portage tree. Now it’s time to compile any updates that are available. This will take at least 2 hours, so be very patient. If you’ve set up the correct sub-arch it may be a bit faster than 2 hours.

Note: weak performance PC users can expect a 4+ hour compile time.

emerge -auDN @world

Building A Kernel

Doing an emerge update should automatically prompt a kernel installation. Funtoo chooses to go with the “Debian sources” for kernel builds. This makes things faster and easier. Build the latest Debian-sourced kernel for Funtoo with:

emerge -s debian-sources

Like with the world update, building a kernel requires compilation. This will not take as long as updating the system but still can take about 20 minutes to an hour. Sit back and let Funtoo compile. When the terminal is usable again, the kernel is ready to use.

Installing The Bootloader

Funtoo’s core system is working, but the system itself won’t boot if it doesn’t have a bootloader. To fix this, you’ll need to compile and install Grub to your system. Follow the instructions based on the type of install you’ve chosen (BIOS or UEFI).

First, build the latest version of Grub from Portage:

emerge boot-update 

Note: always run boot-update when you install a new kernel or additional operating system.

BIOS Grub Instructions

grub-install --target=i386-pc --no-floppy /dev/sda


UEFI Grub Instructions

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id="Funtoo Linux [GRUB]" --recheck



Everything, for the most part, is installed and working. All that is left is to configure the network tools, install proprietary Linux firmware, go over “mix-ins”, and desktop environments.

Set Up The Network

emerge linux-firmware networkmanager --autounmask-write

Note: press u on the keyboard to continue through dispatch-conf

emerge linux-firmware networkmanager

Network manager and non-free Linux firmware are now installed on your new Funtoo Linux installation. This means that wireless, and Bluetooth now have the correct drivers. All that is left to do is enable the network to load at startup.

rc-update add NetworkManager default

Set A Hostname

Every Linux PC has what is known as a “hostname”. This is a unique identifier that allows other PC’s (Linux or otherwise) to recognize your computer on a network. To set a hostname, open the hostname file in Nano and change the part of the text inside of the quotations.

nano /etc/conf.d/hostname

Desktop Environment And Mix-ins

Funtoo is now up and running! Now all that’s left is to set your profile, add a mix-in and install your Linux desktop environment of choice.

First, you’ll need to tell the system that your Funtoo installation flavor is “desktop”.

Note: a mix-in tells Portage that it should let you install certain packages. In a lot of cases, you MUST select a mix-in before doing any installing.

epro flavor desktop

Then, list possible mix-ins to add to your system.

epro list

Follow this example to add a mix-in to your system:

epro mix-in +mixinname

Lastly, follow the links below to get a desktop environment running. Due to the fact that each desktop environment installation under Funtoo has it’s own walkthroughs, we’ll just be linking to the official documentation. Be sure to study them in detail to get them working correctly.

Leave a comment