Gentoo Wiki




The following are instructions on how to install Gentoo on a Fit PC using

A FitPC may be used as

Install knoppix on the USB stick

The FitPC has no CD-ROM drive, so the sole purpose of the USB stick is to be able to boot on it a system that let you install Gentoo.

Knoppix is my choice of system to boot on the USB stick, the later instructions are taken from HOWTO Knoppix on USB stick . The only change is that we use ext2 rather Fat16 for file system on the USB stick because the helper host runs Linux.

Prepare stick for Knoppix

The following instruction are run on the helper host. My USB stick device is /dev/sda.

You may need to unmount volumes of the stick if already formated

$ umount /dev/sda1
$ umount /dev/sda2

Clear disk partition table and boot sector

$ dd if=/dev/zero of=/dev/sda count=1024


$ fdisk /dev/sda

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        1966      985919+  83  Linux


$ mkfs.ext2 /dev/sda1

Put Knoppix on the stick

Fetch Knoppix

wget -S

Mount it as a loop device (Mount ISO and MDF Images)

mount -t iso9660 -o loop,user /root/knoppixUSB/KNOPPIX_V5.1.1CD-2007-01-04-EN.iso /root/knoppixUSB/cdrom

Mount the stick

$ mount -t ext2 /dev/sda1 /media/myusbkey/

Setup boot directory

$ cd /media/myusbkey/
$ rsync -av /root/knoppixUSB/cdrom/boot/isolinux/*  .     
$ mv isolinux.cfg extlinux.conf
$ rm -f isolinux.bin
$ extlinux --install /media/myusbkey/

Setup MBR

$ equery f sys-boot/syslinux | grep mbr
$ cat /usr/lib/syslinux/mbr.bin > /dev/sda

Copy the rest of the system without the boot directory

$ cd /media/myusbkey/
$ rsync -av /root/knoppixUSB/cdrom/* .
$ rm -rf ./boot

Close everything

$ sync
$ cd /
$ umount /media/sda1
$ sync

Boot Knoppix USB stick

You have to change FitPC BIOS configuration. You need to plug an USB keyboard for this.

Make sure you have


Install Gentoo

At this step you have a running Knoppix system, so you can continue with Gentoo installation using Knoppix but still keep an eye on the following advices to help you make the right decisions during the regular installation process.


In the Gentoo architecture classification FitPC is i586. Unfortunately there are stage3 tarball for x86 and i686 and AMD Geode is not part of i686 processor list

So at step Choosing a stage take the x86 tarball.

At step Configuring the compiler option you will find in /etc/make.conf CHOST="i486-pc-linux-gnu", change i486 to i586.

For CFLAGS refer to Safe CFLAGS.

Have an optimal compilation environment

Upgrade your compilation tools

Before step configuring the kernel run

$ emerge -av binutils gcc glibc distcc crossdev

Prepare for cross compilation

Refer to Distcc guide and Distcc cross compilation guide for details.

On helper host

$ emerge --sync
$ emerge -av gcc distcc crossdev 
$ crossdev -t i586
$ /etc/init.d/distcc start

On FitPC add distcc in variable FEATURES of /etc/make.conf

# nano -w /etc/make.conf
(Add distcc to the FEATURES
(Modify MAKEOPTS to include -jN, where N is twice the number of CPUs
+1 available)
$ distcc-config --set-hosts helperHostName

Move from i486 to i586

(inside make.conf from fitpc_root.tar.bz2 from rescue-7-Aug.iso : i686 is used)

On FitPC (refer to Change CHOST for details)

$ emerge -avDNu system

Continue with configuring the kernel from the Gentoo install book.

Configuring the kernel

In general x86 defconfig will work on FitPC. But there are some kernel configuration options which are essential. First of all, select GeodeLX processor in the processor family:

Linux Kernel Configuration: Processor family
Processor type and features  --->
  Processor family  --->
     ( ) Winchip-2A/Winchip-3
     ( ) GeodeGX1
     (X) Geode GX/LX
     ( ) CyrixIII/VIA-C3

Next important feature is IDE controller:

Linux Kernel Configuration: IDE controller
Device drivers --->
  <*> ATA/ATAPI/MFM/RLL support --->
      <*>   Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
      <*>     AMD and nVidia IDE support
      <*>     AMD CS5535 chipset support

FitPC is equipped with RealTek 8139 network interfaces so to utilize networking:

Linux Kernel Configuration: Network interfaces
Device drivers --->
  <*> Network device support  
      [*]   Ethernet (10 or 100Mbit)  --->
            [*]   EISA, VLB, PCI and on board controllers
            <*>   RealTek RTL-8129/8130/8139 PCI Fast Ethernet Adapter suppor
            [ ]     Use PIO instead of MMIO                                  
            [ ]     Support for uncommon RTL-8139 rev. K (automatic channel e
            [ ]     Support for older RTL-8129/8130 boards                   
            [ ]     Use older RX-reset method                                

And if you want Linux frame buffer device support (staring from Linux kernel 2.6.22):

Linux Kernel Configuration: Framebuffer
Graphics support --->
  <*> Support for frame buffer devices  --->
      [*]   AMD Geode family framebuffer support (EXPERIMENTAL)
      <*>     AMD Geode LX framebuffer support (EXPERIMENTAL)

Sound related config

Linux Kernel Configuration:
Device Drivers
    Advanced Linux Sound Architecture
      PCI devices
        <M> CS5535/CS5536 Audio

Some more Geode LX configuration hints :

Linux Kernel Configuration:
Bus options (PCI etc.)
     [*] Geode Multi-Function General Purpose Timer (MFGPT) events
Linux Kernel Configuration:
I2C Hardware Bus support
       <*> Geode ACCESS.bus support
Linux Kernel Configuration:
Device Drivers
   Character devices
        <M> AMD CS5535/CS5536 GPIO (Geode Companion Device)


ALSA config

Read Gentoo ALSA guide, the audio module to select in the kernel config is "CS5535/CS5536 Audio".

Xorg config

The driver name for Geode LX is amd

In /etc/make.conf set

VIDEO_CARDS="amd nsc fbdev v4l vesa vga"
USE="-opengl ..."
$ emerge -av x11-base/xorg-x11 xf86-video-amd

You may need to unmask package xf86-video-amd.

Retrieved from ""

Last modified: Sat, 11 Oct 2008 12:14:00 +0000 Hits: 4,163