Installationsalternativen

From Gentoo Wiki
Jump to: navigation, search
This page is a translated version of the page Installation alternatives and the translation is 43% complete.

Other languages:
Deutsch • ‎English • ‎español • ‎italiano • ‎日本語 • ‎한국어 • ‎polski • ‎русский • ‎中文(中国大陆)‎

Diese Anleitung ist als Quelle für alternative Gentoo-Installationsmethoden gedacht, für jene mit speziellen Anforderungen, z.B. wenn keine CD-ROM verfügbar ist oder der Computer nicht von CDs booten kann.

Über diese Anleitung

Wenn die Standard-Installationsmethode Boote-von-der-CD nicht funktioniert (oder unmöglich zu benutzen ist, oder einfach nicht erwünscht ist), kann hier Hilfe gefunden werden. Diese Anleitung stellt eine Sammlung von alternativen Gentoo Linux-Installationsmethoden bereit für diejenigen welche sie benötigen. Oder diese dient, wenn bevorzugt, als Platz für schrullige Installationswege. Wenn es einen Installationsweg gibt, der als nützlich befunden wurde, oder der Leser einen amüsierenden Weg entwickelt hat Gentoo Linux zu installieren, bitte nicht zögern hier etwas zu schreiben, in diesem Artikel.

Die Installations-CD mit dem Smart BootManager booten

Den Smart BootManager, verfügbar unter http://btmgr.sourceforge.net/download.html, herunterladen. Linux-Quellcode, Binärformat und Windows .exe-Versionen sind verfügbar sowie viele Sprachpakete. Momentan wäre die präferierte Methode die Binaries zu benutzen, da sich der Quellcode nicht mit neueren Versionen von NASM kompilieren lässt.

Entweder das Paket kompilieren oder die Binär-Datei herunterladen. Es gibt verschiedene Optionen die während dem Erstellen einer Boot-Floppy benutzt werden können, siehe unten.

user $sbminst --help
sbminst [-t theme] [-d drv] [-b backup_file] [-u backup_file]
  
   -t theme       select the theme to be used, in which the theme could be:
                    us = English theme       de = German theme
                    hu = Hungarian theme     zh = Chinese theme
                    ru = Russian theme       cz = Czech theme
                    es = Spanish theme       fr = French theme
                    pt = Portuguese theme
  
   -d drv         set the drive that you want to install Smart BootManager on;
                  for Linux:
                    /dev/fd0 is the first floppy driver,
                    /dev/hda is the first IDE harddisk driver.
                    /dev/sda is the first SCSI harddisk driver.
                  for DOS:
                    0   is the first floppy drive
                    128 is the first hard drive;
  
   -c             disable CD-ROM booting feature;
  
   -b backup_file backup the data that will be overwritten for
                  future uninstallation;
  
   -u backup_file uninstall Smart BootManager, should be used alone;
  
   -y             do not ask any question or warning.

sbminst benutzen um die Boot-Floppy zu erstellen :

root #sbminst -t us -d /dev/fd0
Notiz
fd0 mit dem richtigen Disketten-Gerätenamen ersetzen.

Nun einfach die Diskette im Diskettenlaufwerk des Computers einlegen, genauso die CD in das CD-Laufwerk, und den Computer booten.

Der Smart BootManager-Dialog erscheint. Die CD-ROM auswählen und die Enter (Return) Taste drücken um die Installations-CD zu booten. Danach mit den Standard-Installationsinstruktionen fortfahren.

Weitere Informationen über den Smart BootManager können unter http://btmgr.sourceforge.net/ gefunden werden.

Installation von Non-Gentoo LiveCDs aus

Einleitung

Wichtig
Die Gentoo-Entwickler können keinen Support anbieten wenn etwas mit einer non-Gentoo LiveCD fehl schlägt, da es nicht möglich ist, jede Eigenart jeder LiveCD „da draußen“ zu dokumentieren oder ihre Probleme zu beheben. Nur die Gentoo LiveCDs sind offiziell unterstützt. Bitte die Gentoo Forums für Community-Hilfe bei Problemen mit alternativen Installationsmedien aufsuchen.

Benutzer können andere LiveCDs neben den von Gentoo bereitgestellten LiveCDs booten. Unabhängig davon stellen diese LiveCDs eine funktionierende Umgebung zum Benutzen während dem Kompilieren und Installieren von Gentoo. Die hier bereitgestellten Instruktionen sollten im Prinzip mit jeder anderen LiveCD funktionieren.

Es gibt zu viele LiveCDs um alle aufzulisten, aber eine Option ist Knoppix auszuprobieren. Es bietet einen kompletten graphischen Desktop, mit Büro-Applikationen, Web-Browsern und Spielen zur Beschäftigung. Knoppix ist nur für x86-Benutzer verfügbar, demnach wird den Anforderungen des Nutzers gemäß eine andere LiveCD oder Methode benötigt sein.

Warnung
Es sei gewarnt dass alles was während dem Warten auf die Installation des Gentoo-Systems im /home-Verzeichnis gespeichert wurde nicht mehr beim Neustarten in Gentoo verfügbar sein wird. Wichtige Dateien sind am besten auf der Festplatte oder einem anderen Computer zu sichern!

Installationsanweisungen

Von der LiveCD booten, dann ein Terminal öffnen und den Befehl su - ausführen damit das Passwort geändert werden kann. Dies erlaubt das Root-Passwort für die CD zu setzen. Der sshd-Daemon kann nun konfiguriert werden, sollte eine Remote-Anmeldung benötigt sein. Als nächstes muss der /mnt/gentoo-Mountpunkt erstellt werden.

root #mkdir /mnt/gentoo

Ab diesem Punkt kann die Standard-Installations-Dokumentation befolgt werden, unter Vorbereiten der Festplatte(n). Wenn nach dem Mounten des /proc-Dateisystems gefragt wird, stattdessen folgenden Befehl benutzen :

root #mount -o bind /proc /mnt/gentoo/proc

Beim Entpacken des stage tarball in Stage Tarball entpacken die folgenden tar-Optionen benutzen um sicher zu stellen dass beim entpackten Stage die richtigen Group IDs gesetzt werden :

root #tar --numeric-owner --xattrs -xvjpf stage3-*.tar.bz2 -C /mnt/gentoo

Wenn Ubuntu genutzt wird, ist zu beachten dass /dev/shm ein symbolischer Link zu /run/shm ist. Es muss bind-gemountet sein oder ein tmpfs-Mountpunkt muss an dieser Stelle (innerhalb des chroot-Pfades) gesetzt werden. Um diese Stelle zu bind-mounten, folgenden Befehl (vor dem Chrooten) benutzen :

root #mount --rbind /run/shm /mnt/gentoo/run/shm

Dies ist dafür um bug #496328 zu vermeiden, wo Python sem_open() als defekt (aufgrund des mangelnden /dev/shm) und Portage dies als Fehler ansieht (eigentlich würde die Python-Konfiguration weiterlaufen und gebaut werden, annehmend dass die POSIX_SEMAPHORES_NOT_ENABLED Variable aktiviert wurde, dies würde aber zu einer äußerst unerwünschten Python-Konfiguration führen).

Sobald es möglich ist in die entpackte Stage zu chrooten, siehe Installation des Gentoo Basissystems, muss eine andere chroot-Kommandosequenz benutzt werden. Dies ist dafür um sicherzustellen dass die Umgebungsvariablen richtig gesetzt sind.

Notiz
Manche LiveCDs benutzen ein seltsames Environment-Setup, deshalb die env -i Option um es auf einen vernünftigen Zustand zu setzen.
root #chroot /mnt/gentoo /bin/env -i TERM=$TERM /bin/bash
root #env-update
root #source /etc/profile
root #export PS1="(chroot) $PS1"

Zuletzt ist es wichtig zu wissen dass manche Portage FEATURES nicht mit der LiveCD funktionieren. Hingewiesen sei vor allem auf die userpriv und usersandbox Werte. Sollten Fehler auftauchen, kann die Deaktivierung mancher oder aller optionalen FEATURES die Lösung sein.

Festplattenlose Installation mittels PXE und dem Kernel/initrd/squashfs von der LiveCD

Diese Methode ist einfacher zu konfigurieren als PXE-Boot basierend auf iSCSI oder NFS. Mehrere Maschinen können von demselben Image-Set verteilt via TFTP booten und leicht darauf erweitert werden, über HTTP oder andere Protokolle zu funktionieren.

Manche anderen Distributionen, Fedora inklusive, vertreiben Images zum Erstellen von Live oder Installations-CDs. Bei Gentoo ist dies nicht der Fall. Stattdessen müssen Nutzer

  1. Den Kernel, die initrd und das squashfs von der LiveCD extrahieren.
  2. Den initrd-Inhalt patchen.
  3. Das SquashFS in die initrd einfügen.

Nur dann kann ein PXE-basierter Bootloader konfiguriert werden, welcher die Images lädt und in ein Live-System bootet.

Den folgenden Skript speichern, ausführbar machen und seinen Ordner-Wert in die PATH-Variable schreiben (oder die dokumentierten Schritte manuell befolgen).


CODE gentoo-pxe-boot
#!/bin/bash -xe

tftproot="$1"
image="$2"
tmp="./tmp"

test -z "$tftproot" -o -z "$image" && echo "Usage: $0 <tftproot> <gentoo-iso>" >&2 && exit 1
test -e "$tmp" && echo "Temporary path '$tmp' already exists." >&2 && exit 1

iso="$tmp/iso"
initrd="$tmp/initrd.dir"

# prepare directories
mkdir -p "$tmp" "$iso" "$initrd/mnt/cdrom"

# extract files from ISO image
mount -o ro,loop "$image" "$iso"
cp "$iso"/{image.squashfs,isolinux/gentoo,isolinux/gentoo.igz} "$tmp"
umount "$iso"

# rename kernel
mv "$tmp/gentoo" "$tmp/kernel"

# patch initramfs and add squashfs to it
xz -dc "$tmp/gentoo.igz" | ( cd "$initrd" && cpio -idv )
patch -d "$initrd" -p0 <<'EOF'
--- init.orig	2016-01-02 00:00:00.000000000 +0100
+++ init	2016-01-02 00:00:00.000000000 +0100
@@ -455,9 +455,9 @@
 		CHROOT=${NEW_ROOT}
 	fi
 
-	if [ /dev/nfs != "$REAL_ROOT" ] && [ sgimips != "$LOOPTYPE" ] && [ 1 != "$aufs" ]; then
-		bootstrapCD
-	fi
+#	if [ /dev/nfs != "$REAL_ROOT" ] && [ sgimips != "$LOOPTYPE" ] && [ 1 != "$aufs" ]; then
+#		bootstrapCD
+#	fi
 
 	if [ "${REAL_ROOT}" = '' ]
 	then
@@ -591,7 +591,7 @@
 		else
 			bad_msg "Block device ${REAL_ROOT} is not a valid root device..."
 			REAL_ROOT=""
-			got_good_root=0
+			got_good_root=1
 		fi
 	done
 
@@ -670,7 +670,7 @@
 	[ -z "${LOOP}" ] && find_loop
 	[ -z "${LOOPTYPE}" ] && find_looptype
 
-	cache_cd_contents
+	#cache_cd_contents
 
 	# If encrypted, find key and mount, otherwise mount as usual
 	if [ -n "${CRYPT_ROOT}" ]
EOF
cp "$tmp/image.squashfs" "$initrd/mnt/cdrom"
( cd "$initrd" && find . -print | cpio -o -H newc | gzip -9 -c - ) > "$tmp/initrd"

# prepare boot data
grub2-mknetdir -v --net-directory="$tftproot"
cat > "$tftproot/boot/grub/grub.cfg" <<'EOF'
menuentry "Gentoo Live" {
    linux /boot/kernel root=/dev/ram0 init=/linuxrc loop=/image.squashfs looptype=squashfs cdroot=1 real_root=/
    initrd /boot/initrd
}
EOF
cp "$tmp"/{kernel,initrd} "$tftproot/boot"

# cleanup
rm -rf "$tmp"


Die Minimal Installations-CD herunterladen, net-ftp/tftp-hpa installieren, sicherstellen dass es den Pfad /tftproot bereitstellt und es starten.

Den Skript mit den zutreffenden Parametern ausführen.

root #gentoo-pxe-boot /tftproot install-amd64-minimal-20170907.iso

Der TFTP-Bootdienst ist bereit, nun ist der nächste Schritt einen DHCP-Dienst zu konfigurieren. Einen DHCP-Server auf derselben Maschine aufzusetzen ist möglich - es ist nur sicherzustellen dass die zu bootenden Maschinen mit ihr verbunden sind. Oder einfach die Konfiguration eines existierenden Routers anpassen.

Eine Beispielkonfiguration für einen OpenWRT DHCP-Dienst folgt :

DATEI /etc/config/dhcp
config boot linux                   
        option filename boot/grub/i386-pc/core.0
        option servername boot
        option serveraddress 84.246.161.86

Disklose Installation mittels PXE Boot und NFS

Anforderungen

PXE (Preboot eXecution Environment) ist eine Methode um Computer über ein PXE-fähiges Netzwerkinterface zu booten (mit einem PXE-unterstützenden BIOS). Sollte das System ein Starten vom Netzwerkinterface oder BIOS nicht unterstützen, kann PXE auch als Bootmethode von Blockgeräten (wie CDs oder USB-Sticks) genutzt werden. In diesen Fällen kann eine minimale Boot-Umgebung eine PXE-unterstützende Netzwerkkarte nachahmen (siehe Etherboot/gPXE).

Server Grundsetup

Verzeichnisse erstellen : Das erste was zu tun ist, ist die Verzeichnisse zu erstellen wo das disklose System gespeichert wird. Das Verzeichnis /diskless erstellen welches ein Verzeichnis für jeden disklosen Klienten beheimatet. Für den Rest dieses Howto's wird der Klient an welchem gearbeitet wird, 'eta' genannt.

root #mkdir -p /diskless/eta

DHCP und TFTP-Setup : Der Klient erhält Boot-Informationen via DHCP und lädt alle benötigten Dateien mit TFTP runter.

For dhcpd, just run emerge dhcp (or any other DHCP server of choice). Make sure that the correct interface is selected in /etc/conf.d/dhcpd, and configure it accordingly. Then, add the following on /etc/dhcp/dhcpd.conf.

Notiz
This provides a static IP address for the client and the path of a PXE boot image, here pxegrub. The MAC address of the ethernet card of the client in the example has to be replaced with the correct MAC address, as well as the directory where the client files will be stored.
DATEI dhcpd.conf
option option-150 code 150 = text ;
ddns-update-style none ;
host eta {
hardware ethernet 00:00:00:00:00:00;
fixed-address ip.add.re.ss;
option option-150 "/eta/boot/grub.lst";
filename "/eta/boot/pxegrub";
}

Next configure the interface in /etc/conf.d/net so that it doesn't get cleared at bootup. See /usr/share/doc/openrc-*/net.example.bz2 for more information.

DATEI /etc/conf.d/netEnsure the interface (here eth0 as example) is not reconfigured at boot
config_eth0="noop"

For TFTP, emerge net-ftp/tftp-hpa. In /etc/conf.d/in.tftpd, put the following:

DATEI in.tftpd
INTFTPD_PATH="/diskless"
INTFTPD_USER="nobody"
INTFTPD_OPTS="-u ${INTFTPD_USER} -l -vvvvvv -p -c -s ${INTFTPD_PATH}"

Emerge GRUB:

root #emerge --ask sys-boot/grub

Once GRUB is compiled, create the diskless client's boot directory:

root #grub2-mknetdir --net-directory=/diskless/eta

Original way was to copy the PXE image to the diskless client but the path does not seem to exit anymore.

root #mkdir /diskless/eta/boot
root #cp /usr/lib/grub/pxegrub /diskless/eta/boot/pxegrub

Then edit its grub.lst config file.

root #nano -w /diskless/eta/boot/grub.lst
DATEI grub.lst
default 0
timeout 30
  
title=Diskless Gentoo
root (nd)
kernel /eta/bzImage ip=dhcp root=/dev/nfs nfsroot=ip.add.re.ss:/diskless/eta
  
# For the nfsroot option, the IP address is the one of the server and
the directory is the one where the diskless client files are located (on the server).

NFS is quite easy to configure. The only thing that has to be done is to add a line on the /etc/exports config file:

DATEI /etc/exports
/diskless/eta eta(rw,sync,no_root_squash)

One important thing to do now is to modify the /etc/hosts file to fit requirements.

DATEI /etc/hosts
127.0.0.1 localhost
192.168.1.10 eta.example.com eta
192.168.1.20 sigma.example.com sigma

Creating the system on the server

A next step is to reboot the server with a Gentoo installation CD (although experienced administrators can continue without if they are sufficiently versed in Gentoo installations). Follow the standard install procedure as explained in the Gentoo Handbook BUT with the following differences: when mounting the file system, execute the next step (where sdaX is the partition where the /diskless directory was created).

root #mount /dev/sdaX /mnt/gentoo

Mounting any other partition is not needed as all of the files will reside in the /diskless/eta directory.

This example uses a stage3 tarball. Mount /proc to the diskless directory and chroot into it to continue with the install. Then follow the installation manual until kernel configuration.

Warnung
Be very careful when extracting the stage tarball to its destination, so as to not end up extracting over an existing installation.
root #cd /mnt/gentoo/diskless/eta/
root #tar -xvjpf /mnt/cdrom/gentoo/stage3-*.tar.bz2
root #mount -t proc /proc /mnt/gentoo/diskless/eta/proc
root #cp /etc/resolv.conf /mnt/gentoo/diskless/eta/etc/resolv.conf
root #chroot /mnt/gentoo/diskless/eta/ /bin/bash
root #env-update
root #source /etc/profile

When doing the make menuconfig of the kernel configuration, don't forget to enable the following options with the others recommended into the install guide.

KERNEL Necessary options for diskless installations
- The network card device support
(In the kernel, *not* as a module!)
  
-*- Networking support --->  
  Networking options --->
    [*] TCP/IP networking
    [*] IP: kernel level autoconfiguration
    [*] IP: DHCP support
    [*] IP: BOOTP support
  
File systems --->
  [*] Network File Systems --->
    <*> NFS file system support
    [*] Provide NFSv3 client support
    [*] Root file system on NFS

Save the kernel in the chrooted / (not in /boot) according to the pxegrub setting defined earlier. Next configure the diskless client's /etc/fstab.

DATEI /etc/fstab
/dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0

Now to prevent the client from running a filesystem check:

root #touch /fastboot
root #echo "touch /fastboot" >> /etc/conf.d/local.start

Install net-fs/nfs-utils since the client will heavily depend on it:

root #emerge --ask net-fs/nfs-utils

Do not install another bootloader because there is already one - pxegrub. Simply finish the install and restart the server. Start the services that are needed to boot the new client: DHCP, TFTPD, and NFS.

root #service dhcp start
root #service in.tftpd start
root #service nfs start

Booting the new client

For the new client to boot properly, the BIOS and the network card need to be configured to use PXE as the first boot method - before CD-ROM or floppy. For help with this consult the hardware manuals or manufacturers website. The network card should get an IP address using DHCP and download the GRUB PXE image using TFTP. Then, a nice black and white GRUB bootmenu should be displayed from where users can select the kernel to boot and press the Enter (Return) key. If everything is okay the kernel should boot, mount the root filesystem using NFS and provide a login prompt. Enjoy.

Installing Gentoo from an existing Linux distribution

Requirements

In order to install Gentoo from an existing Linux distribution it needs to have the chroot command installed, and have a copy of the Gentoo installation or ISO that's desired to install. A network connection is highly recommended as otherwise the installation can only work with the files available in the installation media. By the way, a tarball is just a file ending in .tbz or .tar.gz. Let's get started!

Overview

First allocate a partition to Gentoo by resizing an existing Linux partition, mount the partition, untar the tarball to the partition that is mounted, chroot inside the pseudo-system and start building. Once the bootstrap process is done, do some final configuration on the system so as to make sure it boots, then reboot and use Gentoo.

How to make space for Gentoo?

The root partition is the filesystem mounted under /. The first example shows the output of mount on a system. The second example uses df (disk free) to see how much space there is left and how it will be resized. Note that resizing the root partition is not mandatory! Anything else supported by the resizer can be resized, but let's talk about that later.

root #mount
/dev/sdb2 on / type ext3 (rw)
none on /proc type proc (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
none on /dev/shm type tmpfs (rw,nodev,nosuid,noexec)
root #df -h
Filesystem           Size Used Avail Use% Mounted on
/dev/sdb2            4.0G 1.9G  2.4G  82% /
none                  38M    0   38M   0% /dev/shm

As can be seen, the partition mounted as / named /dev/sdb2 has 2.4 GB free. In this case, it was decided to be resized as to leave 400 MB of free space, therefore allocating 2 GB for Gentoo. Not bad, it could have quite some stuff installed. However, 1 GB is deemed enough for most users. So now partition this thing!

Building parted to resize partition

Warnung
This section is outdated and will be removed when the older parted versions have left the Gentoo Portage tree. The ability to resize partitions has been removed from parted, as explained here.

sys-block/parted is extremely useful for resizing partitions. It is included on the minimal installation CD.

Notiz
There are other tools for doing resize of partitions as well, but an elaborate description of these tools is outside the scope of this guide.

Look up on that page the type of file system to resize and see if parted can do it. If not: tough luck, some partitions might need to be destroyed to make space for Gentoo, and reinstall back. Go ahead by downloading the software and install it. In the next step, a problem arises. The Linux root partition needs to be resized, therefore a floppy disk with a minimal Linux system must be booted and to use a previously-compiled parted copied to a diskette in order to resize /. If the partition can be unmounted while still running in Linux then the following steps are not needed. Just compile parted and run it on a chosen unmounted partition to resize. Here's how it was done on this system.

Wichtig
Make sure that the operations that are required for partitioning are supported by parted!

Get the mininux boot/root disk (a 2.4-powered mini Linux distribution on a floppy - free of charge) from http://mininux.free.fr/uk/, create a floppy as suggested in the Documentation that accompanies the software package and insert a new floppy in the drive for the next step.

Notiz
Note again that Linux is synonym of "There's one more way to do it". The objective is to run parted on an unmounted partition so it can do its work. A boot/root diskset other than mininux can be used. This step might not even be needed to do at all: there may only be the need to umount the filesystem to repartition in the Linux session and run parted on it.
root #mkfs.minix /dev/fd0
480 inodes
1440 blocks
Firstdatazone=19 (19)
Zonesize=1024
Maxsize=268966912

Proceed with the build of parted. Download and untar the utility, and cd into the corresponding directory. Now run the following set of commands to build the utility and copy it to the floppy disk.

root #mkdir /floppy
root #mount -t minix /dev/fd0 /floppy
root #export CFLAGS="-O3 -pipe -fomit-frame-pointer -static"
root #./configure
root #make
root #cp parted/parted /floppy
root #umount /floppy

Time to reboot and resize the partition. Do this only after taking a quick look at the parted documentation on the GNU website. The resize should take under 30 minutes for the largest hard-drives, be patient. Reboot the system with the mininux boot disk (just pop it inside), and once logged in, switch the disk in the drive with the utility disk that was created above and type mount /dev/fd0 /floppy to have parted under /floppy. Run parted to be able to resize the partition. Once this lengthy process is done, continue with installing Gentoo. Reboot back into the old Linux system for now. The drive to operate on is the drive containing the partition that is going to be resized. For example, if the partition to be resized is /dev/sda3, the drive is /dev/sda.

root #mount /dev/fd0 /floppy
root #cd /floppy
root #./parted <drive>
(parted)print
Disk geometry for /dev/sdb: 0.000-9787.148 megabytes
Disk label type: msdos
Minor    Start       End     Type      Filesystem  Flags
1          0.031   2953.125  primary   ntfs
3       2953.125   3133.265  primary   linux-swap
2       3133.266   5633.085  primary   ext3
4       5633.086   9787.148  extended
5       5633.117   6633.210  logical
6       6633.242   9787.148  logical   ext3
(parted)help resize
(parted)  help resize 
  resize MINOR START END        resize filesystem on partition MINOR
  
        MINOR is the partition number used by Linux.  On msdos disk labels, the
        primary partitions number from 1-4, and logical partitions are 5
        onwards.
        START and END are in megabytes
(parted)resize 2 3133.266 4000.000
Wichtig
Be patient! The computer is working! Just look at the hard drive LED on the case to see its activity. This should take between 2 and 30 minutes.

Once the resize has finished, boot back into the old Linux as described. Then go to The Gentoo Handbook: Preparing the Disks and follow the instructions. When chrooting, use the following command to flush the environment:

root #env -i HOME=$HOME TERM=$TERM chroot /mnt/gentoo /bin/bash
root #/usr/sbin/env-update
root #source /etc/profile
Enjoy!
This article is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Gerald Normandin Jr., Travis Tilley, Oleg Raisky, Alex Garbutt, Alexandre Georges, Magnus Backanda, Faust A. Tanasescu, Daniel Ahlberg, Ken Nowack, Tiemo Kieft, Benny Chuang, Jonathan Smith, nightmorph
They are listed here as the Wiki history does not allow for any external attribution. If you edit the Wiki article, please do not add yourself here; your contributions are recorded on the history page.