This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.
Please visit our production wiki at https://wiki.gentoo.org
Gentoo Linux x86 Handbuch: Gentoo installieren
Einleitung
Willkommen
Herzlich willkommen bei Gentoo. Sie sind dabei, in die Welt der Wahlmöglichkeiten und Performance einzusteigen. Bei Gentoo dreht sich vieles um Auswahlmöglichkeiten. Während der Installation von Gentoo wird Ihnen das mehrfach bewusst werden - Sie haben die Wahl, wie viele Pakete Sie selbst kompilieren, wie Sie Gentoo installieren, welchen Systemlogger Sie benutzen und vieles mehr.
Gentoo ist eine schnelle, moderne Metadistribution mit einem klaren und flexiblen Design. Gentoo ist auf einem Ökosystem freier Software gebaut und versteckt das, was unter der Haube steckt, nicht vor seinen Benutzern. Portage, das von Gentoo benutzte Paketmanagementsystem, ist in Python geschrieben, was bedeutet, dass Sie sich die Quelltexte einfach anschauen und nach Belieben verändern können. Gentoos Paketsystem benutzt den Quelltext (obwohl auch Unterstützung für vorkompilierte Pakete vorhanden ist) und die Konfiguration von Gentoo findet in normalen Textdateien statt. Mit anderen Worten: Offenheit überall.
Es ist sehr wichtig, das jeder versteht, dass Auswahlmöglichkeiten das sind, was Gentoo ausmacht. Wir zwingen Sie nicht, irgendetwas zu tun, was Sie nicht möchten. Sollte das doch mal vorkommen, sagen Sie uns Bescheid.
Wie ist die Installation strukturiert
Die Installation von Gentoo kann als eine Prozedur von 10 Schritten gesehen werden, was den Kapiteln 2 bis 11 entspricht. Jeder Schritt führt zu einem bestimmten Ergebnis:
Schritt | Ergebnis |
---|---|
1 | Der Anwender befindet sich in einer funktionierenden Umgebung aus der Gentoo installiert werden kann. |
2 | Die Internetverbindung ist für die Gentoo-Installation vorbereitet. |
3 | Die Festplatten sind für die Gentoo-Installation vorbereitet. |
4 | Die Installationsumgebung ist vorbereitet und der Anwender ist bereit zum "Chroot" in die neue Umgebung. |
5 | Die Kernpakete, die in allen Gentoo-Installationen gleich sind, sind installiert. |
6 | Der Linux-Kernel ist installiert. |
7 | Der Anwender hat die meisten Gentoo-Systemkonfigurationsdateien konfiguriert. |
8 | Die notwendigen System-Tools sind installiert. |
9 | Der gewählte Bootloader ist installiert und konfiguriert. |
10 | Die neu installierte Gentoo Linux Umgebung ist bereit entdeckt zu werden. |
Wenn Ihnen verschiedene Auswahlmöglichkeiten vorgestellt werden, geben wir unser Bestes, Ihnen die jeweiligen Vor- und Nachteile vorzustellen. Im weiteren Text wird zunächst eine Standardauswahl beschrieben (die im Titel durch "Standard:" gekennzeichnet ist), und anschließend die anderen Wahlmöglichkeiten (markiert durch "Alternativ:"). Die Standardauswahl ist nicht unbedingt das, was wir empfehlen. Es ist der Weg, von dem wir denken, dass ihn die meisten Gentoo-Benutzer nehmen werden.
Manchmal können Sie optionalen Schritten folgen. Solche Schritte sind als "Optional:" gekennzeichnet und nicht unbedingt notwendig, um Gentoo zu installieren. Dennoch können optionale Schritte von vorherigen Entscheidungen abhängen. Wir informieren Sie, wenn das passiert. Sowohl wenn Sie die Entscheidung treffen, als auch wenn der optionale Schritt beschrieben wird.
Installationsoptionen von Gentoo
Gentoo kann auf vielen verschiedenen Wegen installiert werden. Sie können ein offizielles Gentoo Installationsmedium wie die Images für unsere CDs und DVDs herunterladen. Dieses Image kann auf einen USB-Stick kopiert oder aus dem Netzwerk gebootet werden. Alternativ können Sie Gentoo von einem nicht offiziellem Medium, wie zum Beispiel aus einer bereits installierten Distribution heraus oder von einem anderen, nicht von Gentoo herausgegebem, bootbaren Datenträger (wie z.B. Knoppix) installieren.
Dieses Dokument beschreibt die Installation mit einem offiziellen Gentoo Installations-Datenträger, oder, in bestimmten Fällen, Netboot. Wir gehen davon aus, dass Sie die aktuellste Version eines jeden Pakets installieren wollen.
Für weitere Hilfe zu den anderen Installationsmöglichkeiten, einschließlich der Nutzung von nicht-Gentoo CDs, lesen Sie bitte unseren Leitfaden über alternative Installationsmöglichkeiten.
Wir bieten ebenfalls ein Gentoo Installation Tipps & Tricks-Dokument, das weitere nützliche Informationen enthält.
Probleme?
Wenn Sie ein Problem während der Installation (oder in der Dokumentation) entdecken, schauen Sie bitte in unserem Bug-Tracking-System, ob der Fehler bereits bekannt ist. Wenn nicht erstellen Sie bitte einen Fehlerbericht, damit wir uns der Sache annehmen können. Haben Sie keine Angst vor den Entwicklern, denen Ihr Fehlerbericht zugeteilt wird -- für gewöhnlich essen sie keine Menschen.
Beachten Sie aber, dass dieses Dokument, welches Sie gerade lesen, architekturspezifisch ist, auch wenn es Referenzen zu anderen Architekturen enthält. Dies liegt daran, dass große Teile des Gentoo Handbuchs Textquellen verwenden, welche für alle Architekturen gleichermaßen verwendet werden (um doppelten Arbeitsaufwand und die Verschwendung von Entwicklungsressourcen zu verhindern). Wir werden versuchen dies auf ein Minimum zu beschränken um Missverständnisse zu vermeiden.
Wenn Sie sich nicht sicher sind, ob ein Problem ein Benutzerproblem ist (ein Fehler, den Sie trotz sorgfältiger Lektüre dieser Dokumentation machen) oder ein Softwareproblem (ein Fehler, den wir trotz sorgfältigen Tests der Installation/Dokumentation begangen haben) sollten Sie den Channel #gentoo-de im irc.freenode.net Netz besuchen, ansonsten sind Sie natürlich auch so willkommen, da unser Chat-Channel alle Gentoo-Themen abdeckt.
Apropos, wenn Sie eine weitere Frage hinsichtlich Gentoo haben, werfen Sie zunächst einen Blick in den Artikel häufig gestellten Fragen (FAQ) hier im Wiki. Sie können auch die FAQs in unserem Forum lesen.
Hardwareanforderungen
Before we start, we first list what hardware requirements are needed to successfully install Gentoo on a x86 box.
Minimal CD | LiveDVD | |
---|---|---|
CPU | i486 or later | i686 or later |
Memory | 256 MB | 512 MB |
Disk space | 2.5 GB (excluding swap space) | |
Swap space | At least 256 MB |
The X86 project is a good place to be for more information about Gentoo's x86 support.
Gentoo Linux installation media
Minimal Installations-CD
As of August 23, 2018 the official Minimal CDs are capable of booting in UEFI mode. Previous versions boot in BIOS (MBR) mode only. Readers looking to make their system UEFI bootable must download the latest ISO.
The Gentoo minimal installation CD is a bootable image which contains a self-sustained Gentoo environment. It allows the user to boot Linux from the CD or other installation media. During the boot process the hardware is detected and the appropriate drivers are loaded. The image is maintained by Gentoo developers and allows anyone to install Gentoo if an active Internet connection is available.
The Minimal Installation CD is called install-x86-minimal-<release>.iso.
Die gelegentlich erscheinende Gentoo LiveDVD
Gelegentlich stellt das Gentoo Ten Projekt eine spezielle DVD zusammen, die auch zur Installation von Gentoo benutzt werden kann. Die weiteren Anweisungen in diesem Kapitel beziehen sich auf die Minimal-Installations-CD und könnten deshalb etwas abweichen. Auf der LiveDVD (oder jeder anderen bootbaren Linux-Umgebung) können Sie einen Root-Prompt durch Ausführen von sudo su - oder sudo -i in einem Terminal erhalten.
Was sind bitte Stages?
A stage3 tarball is an archive containing a minimal Gentoo environment, suitable to continue the Gentoo installation using the instructions in this manual. Previously, the Gentoo Handbook described the installation using one of three stage tarballs. While Gentoo still offers stage1 and stage2 tarballs, the official installation method uses the stage3 tarball. If you are interested in performing a Gentoo installation using a stage1 or stage2 tarball, please read the Gentoo FAQ on How do I install Gentoo using a stage1 or stage2 tarball?
Stage3 tarballs can be downloaded from releases/x86/autobuilds/ on any of the official Gentoo mirrors. Stage files update frequently and are not included on the installation images.
Downloading
Obtain the media
The default installation media that Gentoo Linux uses are the minimal installation CDs, which host a bootable, very small Gentoo Linux environment. This environment contains all the right tools to install Gentoo. The CD images themselves can be downloaded from the downloads page (recommended) or by manually browsing to the ISO location on one of the many available mirrors.
If downloading from a mirror, the minimal installation CDs can be found as follows:
- Go to the releases/ directory.
- Select the directory for the relevant target architecture (such as x86/).
- Select the autobuilds/ directory.
- For amd64 and x86 architectures select either the current-install-amd64-minimal/ or current-install-x86-minimal/ directory (respectively). For all other architectures navigate to the current-iso/ directory.
Some target architectures such as arm, mips, and s390 will not have minimal install CDs. At this time the Gentoo Release Engineering project does not support building .iso files for these targets.
Inside this location, the installation media file is the file with the .iso suffix. For instance, take a look at the following listing:
[DIR] hardened/ 05-Dec-2014 01:42 - [ ] install-x86-minimal-20141204.iso 04-Dec-2014 21:04 208M [ ] install-x86-minimal-20141204.iso.CONTENTS 04-Dec-2014 21:04 3.0K [ ] install-x86-minimal-20141204.iso.DIGESTS 04-Dec-2014 21:04 740 [TXT] install-x86-minimal-20141204.iso.DIGESTS.asc 05-Dec-2014 01:42 1.6K [ ] stage3-x86-20141204.tar.bz2 04-Dec-2014 21:04 198M [ ] stage3-x86-20141204.tar.bz2.CONTENTS 04-Dec-2014 21:04 4.6M [ ] stage3-x86-20141204.tar.bz2.DIGESTS 04-Dec-2014 21:04 720 [TXT] stage3-x86-20141204.tar.bz2.DIGESTS.asc 05-Dec-2014 01:42 1.5K
In the above example, the install-x86-minimal-20141204.iso file is the minimal installation CD itself. But as can be seen, other related files exist as well:
- A .CONTENTS file which is a text file listing all files available on the installation media. This file can be useful to verify if particular firmware or drivers are available on the installation media before downloading it.
- A .DIGESTS file which contains the hash of the ISO file itself, in various hashing formats/algorithms. This file can be used to verify if the downloaded ISO file is corrupt or not.
- A .DIGESTS.asc file which not only contains the hash of the ISO file (like the .DIGESTS file), but also a cryptographic signature of that file. This can be used to both verify if the downloaded ISO file is corrupt or not, as well as verify that the download is indeed provided by the Gentoo Release Engineering team and has not been tampered with.
Ignore the other files available at this location for now - those will come back when the installation has proceeded further. Download the .iso file and, if verification of the download is wanted, download the .DIGESTS.asc file for the .iso file as well. The .CONTENTS file does not need to be downloaded as the installation instructions will not refer to this file anymore, and the .DIGESTS file should contain the same information as the .DIGESTS.asc file, except that the latter also contains a signature on top of it.
Verifikation der heruntergeladenen Dateien
Dies ist ein optionaler Schritt, der für die Installation von Gentoo Linux nicht notwendig ist. Er ist aber empfohlen, um sicherzustellen, dass die heruntergeladene Datei nicht korrupt ist und tatsächlich vom Gentoo Infrastruktur-Team stammt.
Mit den .DIGESTS- und .DIGESTS.asc-Dateien können Sie die Validität der ISO-Datei mit den richtigen Tools prüfen. Diese Überprüfung geschieht üblicherweise in zwei Schritten:
- Zunächst wird die kryptografische Signatur validiert, um sicherzustellen, dass die Installationsdatei vom Gentoo-Release-Engineering-Team bereitgestellt wurde.
- Falls dem so ist, wird dann die Prüfsumme verifiziert, um sicherzustellen, dass die heruntergeladene Datei selbst nicht korrupt ist.
Microsoft Windows basierte Verifikation
Auf einem Microsoft Windows-System liegen die richtigen Tools zur Verifikation von Prüfsummen und kryptografischen Signaturen sehr wahrscheinlich noch nicht vor.
Um die kryptografische Signatur zu verifizieren, können Sie Tools wie GPG4Win verwenden. Nach dessen Installation müssen Sie die öffentlichen Schlüssel des Gentoo Release-Engineering-Teams importieren. Die Liste der Schlüssel finden Sie auf der Signaturen-Seite. Sind diese importiert, können Sie die Signatur der Datei .DIGESTS.asc verifizieren.
Dies verifiziert nicht, dass die Datei .DIGESTS korrekt ist, sondern nur dass die Datei .DIGESTS.asc korrekt ist. Das bedeutet auch, dass die Prüfsumme gegen die Werte aus der Datei .DIGESTS.asc verifiziert werden sollte; aus diesem Grund wurde oben auch nur die Datei .DIGESTS.asc heruntergeladen.
Die Prüfsumme selbst kann dann mit der Anwendung Hashcalc verifiziert werden, aber es gibt auch viele weitere Tools dafür. Die meisten dieser Tools zeigen einfach die berechnete Prüfsumme an und der Anwender wird dann aufgefordert, diese mit dem Wert aus der Datei .DIGESTS.asc zu vergleichen.
Linux basierte Verifikation
Auf einem Linux-System ist die verbreiteteste Methode zur Verifikation von kryptografischen Signaturen die Verwendung der Software app-crypt/gnupg. Wenn dieses Paket installiert ist, können Sie die folgenden Befehle verwenden, um die kryptografische Signatur der Datei .DIGESTS.asc zu prüfen.
Laden Sie zunächst die richtigen Schlüssel von der Signaturen-Seite herunter:
user $
gpg --keyserver hkp://keys.gnupg.net --recv-keys 0xBB572E0E2D182910
gpg: requesting key 0xBB572E0E2D182910 from hkp server pool.sks-keyservers.net gpg: key 0xBB572E0E2D182910: "Gentoo Linux Release Engineering (Automated Weekly Release Key) <releng@gentoo.org>" 1 new signature gpg: 3 marginal(s) needed, 1 complete(s) needed, classic trust model gpg: depth: 0 valid: 3 signed: 20 trust: 0-, 0q, 0n, 0m, 0f, 3u gpg: depth: 1 valid: 20 signed: 12 trust: 9-, 0q, 0n, 9m, 2f, 0u gpg: next trustdb check due at 2018-09-15 gpg: Total number processed: 1 gpg: new signatures: 1
Verifizieren Sie dann die kryptografische Signatur der Datei .DIGESTS.asc:
user $
gpg --verify install-x86-minimal-20141204.iso.DIGESTS.asc
gpg: Signature made Fri 05 Dec 2014 02:42:44 AM CET gpg: using RSA key 0xBB572E0E2D182910 gpg: Good signature from "Gentoo Linux Release Engineering (Automated Weekly Release Key) <releng@gentoo.org>" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: 13EB BDBE DE7A 1277 5DFD B1BA BB57 2E0E 2D18 2910
Um absolut sicher zu sein, dass alles richtig ist, verifizieren Sie den angezeigten Fingerabdruck gegen den Fingerabdruck auf der Gentoo-Signaturen-Seite.
Nun da die kryptografische Signatur validiert wurde, verifizieren Sie die Prüfsumme, um sicherzustellen, dass die heruntergeladene ISO-Datei nicht korrupt ist. Die Datei .DIGESTS.asc enthält mehrere Hash-Algorithmen; betrachten Sie zunächst die Prüfsumme die in der Datei .DIGESTS.asc aufgezeichnet wurde. Um beispielsweise die SHA512-Prüfsumme zu erhalten:
user $
grep -A 1 -i sha512 install-x86-minimal-20141204.iso.DIGESTS.asc
# SHA512 HASH 364d32c4f8420605f8a9fa3a0fc55864d5b0d1af11aa62b7a4d4699a427e5144b2d918225dfb7c5dec8d3f0fe2cddb7cc306da6f0cef4f01abec33eec74f3024 install-x86-minimal-20141204.iso -- # SHA512 HASH 0719a8954dc7432750de2e3076c8b843a2c79f5e60defe43fcca8c32ab26681dfb9898b102e211174a895ff4c8c41ddd9e9a00ad6434d36c68d74bd02f19b57f install-x86-minimal-20141204.iso.CONTENTS
In the above output, two SHA512 checksums are shown - one for the install-x86-minimal-20141204.iso file and one for its accompanying .CONTENTS file. Only the first checksum is of interest, as it needs to be compared with the calculated SHA512 checksum which can be generated as follows:
user $
sha512sum install-x86-minimal-20141204.iso
364d32c4f8420605f8a9fa3a0fc55864d5b0d1af11aa62b7a4d4699a427e5144b2d918225dfb7c5dec8d3f0fe2cddb7cc306da6f0cef4f01abec33eec74f3024 install-x86-minimal-20141204.iso
Da beide Prüfsummen übereinstimmen, ist die Datei nicht korrupt und wir können mit der Installation weitermachen.
Burning a disk
Da die ISO-Datei bisher nur heruntergeladen wurde, können wir damit die Gentoo Linux-Installation noch nicht beginnen. Die ISO-Datei muss noch auf eine CD gebrannt werden, von der dann gestartet wird. Dabei muss der Inhalt der ISO auf die CD gebrannt werden, nicht die Datei selbst. Im Folgenden werden einige verbreitete Methoden beschrieben, ausführlichere Anweisungen finden Sie in unserer FAQ zum Brennen einer ISO-Datei.
Brennen mit Microsoft Windows
Unter Microsoft Windows gibt es eine Reihe von Tools, die das Brennen von ISOs auf CDs unterstützen.
- In EasyCD Creator wählen Sie Datei, CD von CD-Abbild erstellen. Ändern Sie dann die Dateitypen auf ISO-Image-Datei. Suchen Sie dann die ISO-Datei und klicken Sie Öffnen. Wenn Sie auf Brennen starten klicken, wird die ISO-Datei korrekt auf die CD-R gebrannt.
- In Nero Burning ROM, beenden Sie zunächst den Wizard, der automatisch gestartet wird, und wählen Sie dann Image brennen im Datei-Menü. Wählen Sie das Image aus und klicken Sie Öffnen. Klicken Sie nun auf den Brennen-Button und schauen Sie zu, wie die neue CD gebrannt wird.
Brennen mit Linux
Unter Linux kann die ISO-Datei auf eine CD gebrannt werden mit dem Befehl cdrecord, welches Teil des Pakets app-cdr/cdrtools ist.
Um bspw. die ISO-Datei auf die CD, die sich im Laufwerk /dev/sr0 (dies ist das erste CD-Laufwerk im System - ersetzen Sie dieses mit dem richtigen Gerät bei Ihnen) befindet, zu brennen:
user $
cdrecord dev=/dev/sr0 install-x86-minimal-20141204.iso
Users that prefer a graphical user interface can use K3B, part of the kde-apps/k3b package. In K3B, go to Tools and use Burn CD Image. Then follow the instructions provided by K3B.
Booting
Booting the installation media
Once the installation media is ready, it is time to boot it. Insert the media in the system, reboot, and enter the motherboard's firmware user interface. This is usually performed by pressing a keyboard key such as DEL, F1, F10, or ESC during the Power-On Self-test (POST) process. The 'trigger' key varies depending on the system and motherboard. If it is not obvious use an internet search engine and do some research using the motherboard's model name as the search keyword. Results should be easy to determine. Once inside the motherboard's firmware menu, change the boot order so that the external bootable media (CD/DVD disks or USB drives) are tried before the internal disk devices. Without this change, the system will most likely reboot to the internal disk device, ignoring the external boot media.
Wenn Sie beabsichtigen, UEFI anstatt des klassischen BIOS zu verwenden, sollten Sie umgehend mit UEFI booten. Falls nicht, müssen Sie vor Abschluss der Gentoo Linux-Installation eventuell einmalig einen bootfähigen UEFI-USB-Stick (oder ein anderes Medium) erstellen.
If not yet done, ensure that the installation media is inserted or plugged into the system, and reboot. A boot prompt should be shown. At this screen, Enter will begin the boot process with the default boot options. To boot the installation media with custom boot options, specify a kernel followed by boot options and then hit Enter.
At the boot prompt, users get the option of displaying the available kernels (F1) and boot options (F2). If no choice is made within 15 seconds (either displaying information or using a kernel) then the installation media will fall back to booting from disk. This allows installations to reboot and try out their installed environment without the need to remove the CD from the tray (something well appreciated for remote installations).
Specifying a kernel was mentioned. On the Minimal installation media, only two predefined kernel boot options are provided. The default option is called gentoo. The other being the -nofb variant; this disables kernel framebuffer support.
The next section displays a short overview of the available kernels and their descriptions:
Kernel choices
- gentoo
- Default kernel with support for K8 CPUs (including NUMA support) and EM64T CPUs.
- gentoo-nofb
- Same as gentoo but without framebuffer support.
- memtest86
- Test the local RAM for errors.
Neben dem Kernel können Sie auch noch einige Boot-Optionen mitgeben, die den Bootvorgang weiter anpassen.
Hardware options
- acpi=on
- This loads support for ACPI and also causes the acpid daemon to be started by the CD on boot. This is only needed if the system requires ACPI to function properly. This is not required for Hyperthreading support.
- acpi=off
- Completely disables ACPI. This is useful on some older systems and is also a requirement for using APM. This will disable any Hyperthreading support of your processor.
- console=X
- This sets up serial console access for the CD. The first option is the device, usually ttyS0 on x86, followed by any connection options, which are comma separated. The default options are 9600,8,n,1.
- dmraid=X
- This allows for passing options to the device-mapper RAID subsystem. Options should be encapsulated in quotes.
- doapm
- This loads APM driver support. This also requires that
acpi=off
. - dopcmcia
- This loads support for PCMCIA and Cardbus hardware and also causes the pcmcia cardmgr to be started by the CD on boot. This is only required when booting from PCMCIA/Cardbus devices.
- doscsi
- This loads support for most SCSI controllers. This is also a requirement for booting most USB devices, as they use the SCSI subsystem of the kernel.
- sda=stroke
- This allows the user to partition the whole hard disk even when the BIOS is unable to handle large disks. This option is only used on machines with an older BIOS. Replace sda with the device that requires this option.
- ide=nodma
- This forces the disabling of DMA in the kernel and is required by some IDE chipsets and also by some CDROM drives. If the system is having trouble reading from the IDE CDROM, try this option. This also disables the default hdparm settings from being executed.
- noapic
- This disables the Advanced Programmable Interrupt Controller that is present on newer motherboards. It has been known to cause some problems on older hardware.
- nodetect
- This disables all of the autodetection done by the CD, including device autodetection and DHCP probing. This is useful for doing debugging of a failing CD or driver.
- nodhcp
- This disables DHCP probing on detected network cards. This is useful on networks with only static addresses.
- nodmraid
- Disables support for device-mapper RAID, such as that used for on-board IDE/SATA RAID controllers.
- nofirewire
- This disables the loading of Firewire modules. This should only be necessary if your Firewire hardware is causing a problem with booting the CD.
- nogpm
- This disables gpm console mouse support.
- nohotplug
- This disables the loading of the hotplug and coldplug init scripts at boot. This is useful for doing debugging of a failing CD or driver.
- nokeymap
- This disables the keymap selection used to select non-US keyboard layouts.
- nolapic
- This disables the local APIC on Uniprocessor kernels.
- nosata
- This disables the loading of Serial ATA modules. This is used if the system is having problems with the SATA subsystem.
- nosmp
- This disables SMP, or Symmetric Multiprocessing, on SMP-enabled kernels. This is useful for debugging SMP-related issues with certain drivers and motherboards.
- nosound
- This disables sound support and volume setting. This is useful for systems where sound support causes problems.
- nousb
- This disables the autoloading of USB modules. This is useful for debugging USB issues.
- slowusb
- This adds some extra pauses into the boot process for slow USB CDROMs, like in the IBM BladeCenter.
Logical volume/device management
- dolvm
- This enables support for Linux's Logical Volume Management.
Other options
- debug
- Enables debugging code. This might get messy, as it displays a lot of data to the screen.
- docache
- This caches the entire runtime portion of the CD into RAM, which allows the user to umount /mnt/cdrom and mount another CDROM. This option requires that there is at least twice as much available RAM as the size of the CD.
- doload=X
- This causes the initial ramdisk to load any module listed, as well as dependencies. Replace X with the module name. Multiple modules can be specified by a comma-separated list.
- dosshd
- Starts sshd on boot, which is useful for unattended installs.
- passwd=foo
- Sets whatever follows the equals as the root password, which is required for dosshd since the root password is by default scrambled.
- noload=X
- This causes the initial ramdisk to skip the loading of a specific module that may be causing a problem. Syntax matches that of doload.
- nonfs
- Disables the starting of portmap/nfsmount on boot.
- nox
- This causes an X-enabled LiveCD to not automatically start X, but rather, to drop to the command line instead.
- scandelay
- This causes the CD to pause for 10 seconds during certain portions the boot process to allow for devices that are slow to initialize to be ready for use.
- scandelay=X
- This allows the user to specify a given delay, in seconds, to be added to certain portions of the boot process to allow for devices that are slow to initialize to be ready for use. Replace X with the number of seconds to pause.
The bootable media will check for
no*
options before do*
options, so that options can be overridden in the exact order specified.Now boot the media, select a kernel (if the default gentoo kernel does not suffice) and boot options. As an example, we boot the gentoo kernel, with dopcmcia
as a kernel parameter:
boot:
gentoo dopcmcia
Next the user will be greeted with a boot screen and progress bar. If the installation is done on a system with a non-US keyboard, make sure to immediately press Alt+F1 to switch to verbose mode and follow the prompt. If no selection is made in 10 seconds the default (US keyboard) will be accepted and the boot process will continue. Once the boot process completes, the user is automatically logged in to the "Live" Gentoo Linux environment as the root user, the super user. A root prompt is displayed on the current console, and one can switch to other consoles by pressing Alt+F2, Alt+F3 and Alt+F4. Get back to the one started on by pressing Alt+F1.
Erweiterte Hardwarekonfiguration
When the Installation medium boots, it tries to detect all the hardware devices and loads the appropriate kernel modules to support the hardware. In the vast majority of cases, it does a very good job. However, in some cases it may not auto-load the kernel modules needed by the system. If the PCI auto-detection missed some of the system's hardware, the appropriate kernel modules have to be loaded manually.
Im nächsten Beispiel versuchen wir das 8139too-Modul zu laden (Unterstützung für verschiedene Arten von Netzwerkkarten):
root #
modprobe 8139too
Optional: Benutzerkonten
If other people need access to the installation environment, or there is need to run commands as a non-root user on the installation medium (such as to chat using irssi without root privileges for security reasons), then an additional user account needs to be created and the root password set to a strong password.
Um das root-Passwort zu ändern benutzen Sie das passwd-Tool:
root #
passwd
New password: (Geben Sie das neue Passwort ein) Re-enter password: (Geben Sie das Passwort erneut ein)
Um ein Benutzerkonto zu erstellen, geben wir zunächst die Details zur Person ein, gefolgt vom zugehörigen Passwort. Wir benutzen useradd und passwd für diese Aufgaben.
Im nächsten Beispiel erstellen wir einen Benutzer namens john:
root #
useradd -m -G users john
root #
passwd john
New password: (Geben Sie das Passwort von john ein) Re-enter password: (Geben Sie erneut das Passwort von john ein)
Sie können vom (aktuellen) Benutzer root zum neu erstellten Benutzer mit su wechseln:
root #
su - john
Optional: Lesen der Dokumentation während der Installation
TTYs
Wenn Sie das Gentoo Handbuch während der Installation lesen wollen, stellen Sie sicher, dass Sie einen Benutzeraccount angelegt haben (siehe Optional: Benutzerkonten). Drücken Sie dann Alt+F2, um auf ein neues Terminal zu wechseln.
Sie können das Gentoo-Handbuch während der Installation mit links anschauen - natürlich erst, sobald Ihre Internetverbindung aufgesetzt ist.
user $
links https://wiki.gentoo.org/wiki/Handbook:X86
Sie können auf Ihr Ausgangsterminal mittels Alt+F1 zurückwechseln.
GNU Screen
The GNU Screen utility is installed by default on official Gentoo installation media. It may be more efficient for the seasoned Linux enthusiast to use screen to view installation instructions via split panes rather than the multiple TTY method mentioned above.
Optional: Starten des SSH-Daemons
Wenn Sie anderen Benutzern während der Installation von Gentoo Zugriff auf Ihren Rechner geben wollen (vielleicht weil diese Sie bei der Installation von Gentoo unterstützen oder diese für Sie durchführen), müssen Sie ein Benutzerkonto für diese Person erstellen (wie zuvor beschrieben) und den SSH-Daemon starten.
Um den SSH-Daemon zu starten führen Sie folgenden Befehl aus:
root #
rc-service sshd start
If users log on to the system, they will see a message that the host key for this system needs to be confirmed (through what is called a fingerprint). This behavior is typical and can be expected for initial connections to an SSH server. However, later when the system is set up and someone logs on to the newly created system, the SSH client will warn that the host key has been changed. This is because the user now logs on to - for SSH - a different server (namely the freshly installed Gentoo system rather than the live environment that the installation is currently using). Follow the instructions given on the screen then to replace the host key on the client system.
Um sshd nutzen zu können, müssen Sie zunächst das Netzwerk einrichten. Setzen Sie die Installation mit der Konfiguration des Netzwerks fort.
Automatische Netzwerkerkennung
Vielleicht funktioniert es einfach?
If the system is plugged into an Ethernet network with a DHCP server, it is very likely that the networking configuration has already been set up automatically. If so, then the many included network-aware commands on the installation CD such as ssh, scp, ping, irssi, wget, and links, among others, will work immediately.
Determine interface names
ifconfig command
If networking has been configured, the ifconfig command should list one or more network interfaces (besides lo). In the example below eth0 shows up:
root #
ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:BA:8F:61:7A inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::50:ba8f:617a/10 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1498792 errors:0 dropped:0 overruns:0 frame:0 TX packets:1284980 errors:0 dropped:0 overruns:0 carrier:0 collisions:1984 txqueuelen:100 RX bytes:485691215 (463.1 Mb) TX bytes:123951388 (118.2 Mb) Interrupt:11 Base address:0xe800
As a result of the shift towards predictable network interface names, the interface name on the system can be quite different from the old eth0 naming convention. Recent installation media might show regular network interfaces names like eno0, ens1, or enp5s0. Look for the interface in the ifconfig output that has an IP address related to the local network.
If no interfaces are displayed when the standard ifconfig command is used, try using the same command with the
-a
option. This option forces the utility to show all network interfaces detected by the system whether they be in an up or down state. If ifconfig -a produces no results then the hardware is faulty or the driver for the interface has not been loaded into the kernel. Both situations reach beyond the scope of this Handbook. Contact #gentoo for support.ip command
As an alternative to ifconfig, the ip command can be used to determine interface names. The following example shows the output of ip addr (of another system so the information shown is different from the previous example):
root #
ip addr
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether e8:40:f2:ac:25:7a brd ff:ff:ff:ff:ff:ff inet 10.0.20.77/22 brd 10.0.23.255 scope global eno1 valid_lft forever preferred_lft forever inet6 fe80::ea40:f2ff:feac:257a/64 scope link valid_lft forever preferred_lft forever
The output above may be a bit more complicated to read than alternative. The interface name in the above example directly follows the number; it is eno1.
In the remainder of this document, the handbook will assume that the operating network interface is called eth0.
Optional: Konfiguration eines Proxies
Wenn Sie auf das Internet nur über einen Proxy-Server zugreifen können, müssen Sie während der Installation das System für die Verwendung des Proxy-Servers vorbereiten. Das ist aber recht einfach. Sie müssen dazu lediglich eine Variable mit den Informationen über den Proxy-Server setzen.
In den meisten Fällen können Sie den Hostnamen des Proxy-Servers in die Variable schreiben. Nehmen wir an, der Server ist proxy.gentoo.org und der Port ist 8080.
Zur Einrichtung eines HTTP-Proxies (für HTTP- und HTTPS-Traffic):
root #
export http_proxy="http://proxy.gentoo.org:8080"
Zur Einrichtung eines FTP-Proxies:
root #
export ftp_proxy="ftp://proxy.gentoo.org:8080"
Zur Einrichtung eines RSYNC-Proxies:
root #
export RSYNC_PROXY="proxy.gentoo.org:8080"
Wenn der Proxy-Server einen Benutzernamen und Passwort erfordert, sollten Sie die folgende Syntax in der Variable verwenden:
http://username:password@proxy.gentoo.org:8080
Das Netzwerk testen
Dazu können Sie beispielsweise den DNS-Server Ihres Internetanbieters "anpingen". Die Adresse dieses Servers finden Sie in /etc/resolv.conf. Außerdem sollten Sie eine Webseite Ihrer Wahl "pingen". So stellen Sie sicher, dass Sie sowohl mit dem Internet verbunden sind, als auch, dass Ihre Namensauflösung korrekt funktioniert.
root #
ping -c 3 www.gentoo.org
Wenn Sie nun in der Lage sind, Ihr Netzwerk zu verwenden, dann können Sie den Rest dieses Kapitels überspringen und mit dem Vorbereiten der Festplatte(n) fortfahren. Wenn nicht, lesen Sie bitte weiter.
Automatische Netzwerkkonfiguration
If the network doesn't work immediately, some installation media allow the user to use net-setup (for regular or wireless networks), pppoe-setup (for ADSL users) or pptp (for PPTP users).
Wenn Ihr Installationsmedium das entsprechende Tool nicht enthält oder Ihre Netzwerkverbindung noch nicht funktioniert, so fahren Sie bitte mit folgendem Abschnitt fort: Manuelle Netzwerkkonfiguration.
- Nutzer von normalem Ethernet sollten hier fortfahren: Standard: Verwendung von net-setup
- ADSL-Benutzer sollten hier fortfahren: Alternativ: Verwendung von PPP
- PPTP-Benutzer sollten hier fortfahren: Alternativ: Verwendung von PPTP
Standard: Verwendung von net-setup
The simplest way to set up networking if it didn't get configured automatically is to run the net-setup script:
root #
net-setup eth0
net-setup will ask some questions about the network environment. When all is done, the network connection should work. Test the network connection as stated before. If the tests are positive, congratulations! Skip the rest of this section and continue with Preparing the disks.
Sollte Ihr Netzwerk nun immer noch nicht funktionieren, fahren Sie bitte mit Manuelle Netzwerkkonfiguration fort.
Alternativ: Verwendung von PPP
Assuming PPPoE is needed to connect to the Internet, the installation CD (any version) has made things easier by including ppp. Use the provided pppoe-setup script to configure the connection. During the setup the Ethernet device that is connected to your ADSL modem, the username and password, the IPs of the DNS servers and if a basic firewall is needed or not will be asked.
root #
pppoe-setup
root #
pppoe-start
If something goes wrong, double-check that the username and password are correct by looking at etc/ppp/pap-secrets or /etc/ppp/chap-secrets and make sure to use the right Ethernet device. If the Ethernet device does not exist, the appropriate network modules need to be loaded. In that case continue with Manual network configuration as it will explain how to load the appropriate network modules there.
Wenn alles funktioniert hat, dann fahren Sie mit dem nächsten Kapitel, Vorbereiten der Festplatte(n), fort.
Alternativ: Verwendung von PPTP
If PPTP support is needed, use pptpclient which is provided by the installation CDs. But first make sure that the configuration is correct. Edit /etc/ppp/pap-secrets or /etc/ppp/chap-secrets so it contains the correct username/password combination:
root #
nano -w /etc/ppp/chap-secrets
Wenn nötig, sollten Sie nun noch /etc/ppp/options.pptp anpassen:
root #
nano -w /etc/ppp/options.pptp
When all that is done, run pptp (along with the options that couldn't be set in options.pptp) to connect the server:
root #
pptp <server ip>
Wenn alles funktioniert hat, dann fahren Sie mit dem Vorbereiten der Festplatte(n) fort.
Manuelle Netzwerkkonfiguration
Die richtigen Kernelmodule laden
Wenn die Installations-CD bootet, versucht sie alle Ihre Hardwaregeräte zu erkennen und lädt automatisch die entsprechenden Kernelmodule (Treiber). In den allermeisten Fällen funktioniert dies sehr gut. Allerdings kann es vorkommen, dass ein Kernelmodul nicht automatisch geladen wird.
If net-setup or pppoe-setup failed, then it is possible that the network card wasn't found immediately. This means users may have to load the appropriate kernel modules manually.
To find out what kernel modules are provided for networking, use the ls command:
root #
ls /lib/modules/`uname -r`/kernel/drivers/net
If a driver is found for the network device, use modprobe to load the kernel module. For instance, to load the pcnet32 module:
root #
modprobe pcnet32
To check if the network card is now detected, use ifconfig. A detected network card would result in something like this (again, eth0 here is just an example):
root #
ifconfig eth0
eth0 Link encap:Ethernet HWaddr FE:FD:00:00:00:00 BROADCAST NOARP MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Wenn Sie stattdessen diesen Fehler erhalten, dann wurde Ihre Karte nicht erkannt.
root #
ifconfig eth0
eth0: error fetching interface information: Device not found
Die verfügbaren Netzwerkkarten in Ihrem System können über das /sys-Dateisystem aufgelistet werden:
root #
ls /sys/class/net
dummy0 eth0 lo sit0 tap0 wlan0
In the above example, 6 interfaces are found. The eth0 one is most likely the (wired) Ethernet adapter whereas wlan0 is the wireless one.
Assuming that the network card is now detected, retry net-setup or pppoe-setup again (which should work now), but for the hardcore people we explain how to configure the network manually as well.
Select one of the following sections based on your network setup:
- Using DHCP for automatic IP retrieval
- Preparing for wireless access if a wireless network is used
- Understanding network terminology explains the basics about networking
- Using ifconfig and route explains how to set up networking manually
Verwendung von DHCP
DHCP (Dynamic Host Configuration Protocol) makes it possible to automatically receive networking information (IP address, netmask, broadcast address, gateway, nameservers etc.). This only works if a DHCP server is in the network (or if the ISP provider provides a DHCP service). To have a network interface receive this information automatically, use dhcpcd:
root #
dhcpcd eth0
Einige Netzwerkadministratoren erfordern es, dass der Host- und Domainname, die vom DHCP-Server angeboten werdden, vom System genutzt werden. In diesem Fall verwenden Sie:
root #
dhcpcd -HD eth0
Wenn das funktioniert (versuchen Sie einen Internet-Server zu pingen, z.B. Google), dann sind Sie fertig mit der Konfiguration des Netzwerks und können mit dem Vorbereiten der Festplatte(n) fortfahren.
Vorbereitung für drahtlosen Zugriff
Support for the iw command might be architecture-specific. If the command is not available see if the net-wireless/iw package is available for the current architecture. The iw command will be unavailable unless the net-wireless/iw package has been installed.
When using a wireless (802.11) card, the wireless settings need to be configured before going any further. To see the current wireless settings on the card, one can use iw. Running iw might show something like:
root #
iw dev wlp9s0 info
Interface wlp9s0 ifindex 3 wdev 0x1 addr 00:00:00:00:00:00 type managed wiphy 0 channel 11 (2462 MHz), width: 20 MHz (no HT), center1: 2462 MHz txpower 30.00 dBm
To check for a current connection:
root #
iw dev wlp9s0 link
Not connected.
or
root #
iw dev wlp9s0 link
Connected to 00:00:00:00:00:00 (on wlp9s0) SSID: GentooNode freq: 2462 RX: 3279 bytes (25 packets) TX: 1049 bytes (7 packets) signal: -23 dBm tx bitrate: 1.0 MBit/s
Some wireless cards may have a device name of wlan0 or ra0 instead of wlp9s0. Run ip link to determine the correct device name.
For most users, there are only two settings needed to connect, the ESSID (aka wireless network name) and, optionally, the WEP key.
- First, ensure the interface is active:
root #
ip link set dev wlp9s0 up
- To connect to an open network with the name GentooNode:
root #
iw dev wlp9s0 connect -w GentooNode
- To connect with a hex WEP key, prefix the key with
d:
:
root #
iw dev wlp9s0 connect -w GentooNode key 0:d:1234123412341234abcd
- To connect with an ASCII WEP key:
root #
iw dev wlp9s0 connect -w GentooNode key 0:some-password
If the wireless network is set up with WPA or WPA2, then wpa_supplicant needs to be used. For more information on configuring wireless networking in Gentoo Linux, please read the Wireless networking chapter in the Gentoo Handbook.
Confirm the wireless settings by using iw dev wlp9s0 link. Once wireless is working, continue configuring the IP level networking options as described in the next section (Understanding network terminology) or use the net-setup tool as described previously.
Verstehen der Netzwerk-Terminologie
If the IP address, broadcast address, netmask and nameservers are known, then skip this subsection and continue with Using ifconfig and route.
Wenn alles obige fehlschlägt, müssen Sie Ihr Netzwerk manuell einrichten. Dies ist überhaupt nicht schwierig. Jedoch müssen Sie mit einiger Netzwerkterminologie vertraut sein, denn Sie werden diese benötigen, um Ihr Netzwerk zu Ihrer Zufriedenheit konfigurieren zu können. Nachdem Sie dies gelesen haben, werden Sie wissen, was ein Gateway ist, wozu eine Netzmaske dient, wie eine Broadcast-Adresse aufgebaut ist und warum Sie Nameserver benötigen.
In einem Netzwerk werden die Computer über Ihre IP-Adresse (Internet Protocol Address) identifiziert. Diese Adresse ist eine Kombination aus vier Nummern zwischen 0 und 255. Jedenfalls nehmen wir das so wahr. In Wirklichkeit ist eine IP-Adresse eine 32-Bit-Folge (Nullen und Einsen). Hier ein Beispiel:
IP Address (numbers): 192.168.0.2 IP Address (bits): 11000000 10101000 00000000 00000010 -------- -------- -------- -------- 192 168 0 2
Der Nachfolger von IPv4, IPv6, verwendet 128 Bit (Nullen und Einsen). In diesem Abschnitt betrachten wir aber nur IPv4-Adressen.
Solch eine IP-Adresse ist einmalig für einen Host (Computer) in allen angrenzenden Netzwerken (d.h. jeder Host, den Sie erreichen können, muss eine einzigartige IP-Adresse besitzen). Um zwischen Hosts innerhalb eines Netzwerkes und außerhalb eines Netzwerkes unterscheiden zu können, ist die IP-Adresse in zwei Teile eingeteilt: Einen Network-Abschnitt und einen Host-Abschnitt.
Diese Unterteilung wird mittels der Netzmaske beschrieben. Die Netzmaske ist eine Reihe von Einsen, gefolgt von einer Reihe von Nullen. Der Teil der IP-Adresse der den Einsen entspricht, ist der Netzwerkteil. Die Netzmaske kann wie eine IP-Adresse aufgeschrieben werden.
IP address: 192 168 0 2 11000000 10101000 00000000 00000010 Netmask: 11111111 11111111 11111111 00000000 255 255 255 0 +--------------------------+--------+ Network Host
In other words, 192.168.0.14 is part of the example network, but 192.168.1.2 is not.
Die Broadcast-Adresse ist eine IP-Adresse, die den gleichen Netzwerkteil wie unser Netzwerk hat, allerdings nur Einsen im Hostteil hat. Alle Computer in dem Teilnetz hören auf diese IP-Adresse. Diese Adresse ist zum Broadcasting eines Paketes an alle Computer gedacht, d.h. ein Paket wird an alle Computer im Netzwerk gleichzeitig geschickt.
IP address: 192 168 0 2 11000000 10101000 00000000 00000010 Broadcast: 11000000 10101000 00000000 11111111 192 168 0 255 +--------------------------+--------+ Network Host
Um im Internet surfen zu können, müssen Sie wissen, welcher Host die Internetverbindung herstellt. Dieser Host wird Gateway genannt. Da dieser ein normaler Host ist, besitzt auch das Gateway eine normale IP-Adresse (z.B. 192.168.0.1).
Zuvor haben wir schon erwähnt, dass jeder Host eine eigene IP-Adresse besitzt. Um diesen Host aber mit einem Namen ansprechen zu können (anstatt einer IP-Adresse) benötigen Sie einen Dienst, der Namen (wie dev.gentoo.org) in IP-Adressen (wie 64.5.62.82) umwandelt. Dieser Dienst wird nameservice genannt. Um diesen Dienst nutzen zu können, müssen Sie die entsprechenden name server kennen. Diese werden in der Datei /etc/resolv.conf festgehalten.
In manchen Fällen trägt das Gateway ebenfalls die Rolle des Nameservers. Sonst müssen Sie den Nameserver des Providers angeben.
In der Zusammenfassung benötigen Sie also folgende Daten bevor Sie fortfahren:
Network item | Example |
---|---|
The system IP address | 192.168.0.2 |
Netmask | 255.255.255.0 |
Broadcast | 192.168.0.255 |
Gateway | 192.168.0.1 |
Nameserver(s) | 195.130.130.5, 195.130.130.133 |
Verwendung von ifconfig und route
Setting up the network consists of three steps:
- Assign an IP address using ifconfig
- Set up routing to the gateway using route
- Finish up by placing the nameserver IPs in /etc/resolv.conf
To assign an IP address, the IP address, broadcast address and netmask are needed. Then execute the following command, substituting ${IP_ADDR} with the right IP address, ${BROADCAST} with the right broadcast address and ${NETMASK} with the right netmask:
root #
ifconfig eth0 ${IP_ADDR} broadcast ${BROADCAST} netmask ${NETMASK} up
Set up routing using route. Substitute ${GATEWAY} with the right gateway IP address:
root #
route add default gw ${GATEWAY}
Nun öffnen Sie /etc/resolv.conf:
root #
nano -w /etc/resolv.conf
Fill in the nameserver(s) using the following as a template. Make sure to substitute ${NAMESERVER1} and ${NAMESERVER2} with the appropriate nameserver addresses:
nameserver ${NAMESERVER1} nameserver ${NAMESERVER2}
Das war es schon. Nun sollten Sie Ihre Internetverbindung testen. Dazu "pingen" Sie einfach einen Internetserver (wie Google). Funktioniert es, sind Sie nun endlich bereit, Gentoo zu installieren. Fahren Sie mit dem Vorbereiten der Festplatte(n) fort.
Einführung in blockorientierte Geräte
Blockorientierte Geräte
Let's take a good look at disk-oriented aspects of Gentoo Linux and Linux in general, including Linux filesystems, partitions, and block devices. Once the ins and outs of disks and filesystems are understood, partitions and filesystems can be established for the Gentoo Linux installation.
To begin, let's look at block devices. The most famous block device is probably the one that represents the first drive in a Linux system, namely /dev/sda. SCSI and Serial ATA drives are both labeled /dev/sd*; even IDE drives are labeled /dev/sd* with the libata framework in the kernel. When using the old device framework, then the first IDE drive is /dev/hda.
The block devices above represent an abstract interface to the disk. User programs can use these block devices to interact with the disk without worrying about whether the drives are IDE, SCSI, or something else. The program can simply address the storage on the disk as a bunch of contiguous, randomly-accessible 512-byte blocks.
Partition tables
Although it is theoretically possible to use a raw, unpartitioned disk to house a Linux system (when creating a btrfs RAID for example), this is almost never done in practice. Instead, disk block devices are split up into smaller, more manageable block devices. On x86 systems, these are called partitions. There are currently two standard partitioning technologies in use: MBR and GPT.
MBR
Das MBR (Master Boot Record) Setup verwendet 32-Bit Kennzeichner für den Start der Sektoren und die Länge der Partitionen. Drei Partitionstypen werden unterstützt: primär, erweitert und logisch. Primäre Partitionen speichern ihre Informationen im Master Boot Record selbst - ein sehr kleiner Bereich (meist 512 Bytes) ganz am Anfang der Festplatte. Aufgrund des geringen Platzes werden nur vier Primäre Partitionen unterstützt (beispielsweise /dev/sda1 bis /dev/sda4).
Um mehr Partitionen zu unterstützen, kennzeichnen Sie eine der primären Partitionen als erweitert. Diese Partition kann dann logische Partitionen beinhalten (Partitionen in einer Partition).
Although still supported by most motherboard manufacturers partition tables are considered legacy. Unless working with hardware that is pre-2010, it best to partition a disk using a GUID Partition Table. Readers who must proceed with MBR should acknowledge the following information:
- Most post-2010 motherboards consider MBR a legacy (supported, but not ideal) boot mode.
- Due to using 32-bit identifiers, master boot record partitioning tables cannot handle disks that are greater than 2 TiBs in size.
- Unless a extended partition is created, MBR supports a maximum of four partitions.
- The MBR setup does not provide any backup-MBR, so if an application or user overwrites the MBR, all partition information is lost.
The Handbook authors suggest using GPT whenever possible for Gentoo installations.
GPT
The GPT (GUID Partition Table) setup uses 64-bit identifiers for the partitions. The location in which it stores the partition information is much bigger than the 512 bytes of an MBR, which means there is practically no limit on the amount of partitions for a GPT disk. Also the size of a partition is bounded by a much greater limit (almost 8 ZiB - yes, zettabytes).
When a system's software interface between the operating system and firmware is UEFI (instead of BIOS), GPT is almost mandatory as compatibility issues will arise with MBR.
GPT also takes advantage of checksumming and redundancy. It carries CRC32 checksums to detect errors in the header and partition tables and has a backup GPT at the end of the disk. This backup table can be used to recover damage of the primary GPT near the beginning of the disk.
GPT oder MBR
From the description above, one might think that using GPT should always be the recommended approach, however there are a few caveats.
Using GPT on a BIOS-based computer works, but then one cannot dual-boot with a Microsoft Windows operating system. The reason is that Microsoft Windows will boot in UEFI mode if it detects a GPT partition label.
Some buggy motherboard firmware configured to boot in BIOS/CSM/legacy mode might also have problems with booting from GPT labeled disks. If that is the case, it might be possible to work around the problem by adding the boot/active flag on the protective MBR partition which has to be done through fdisk with the -t dos
option to force it to read the partition table using the MBR format.
In this case, launch fdisk and toggle the flag using the a key. Press 1 to select the first partition, then press the w key to write the changes to the disk and exit the fdisk application:
user $
fdisk -t dos /dev/sda
Welcome to fdisk (util-linux 2.24.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): a Partition number (1-4): 1 Command (m for help): w
Using UEFI
When installing Gentoo on a system that uses UEFI to boot the operating system (instead of BIOS), then it is important that an EFI System Partition (ESP) is created. The instructions for parted below contain the necessary pointers to correctly handle this operation.
The ESP must be a FAT variant (sometimes shown as vfat on Linux systems). The official UEFI specification denotes FAT12, 16, or 32 filesystems will be recognized by the UEFI firmware, although FAT32 is recommended for the ESP. Proceed in formatting the ESP as FAT32:
root #
mkfs.fat -F 32 /dev/sda2
If a FAT variant is not used for the ESP, the system's UEFI firmware is not guaranteed to find the bootloader (or Linux kernel) and most likely be unable to boot the system!
Erweiterte Speichermöglichkeit
Btrfs RAID
As noted above, btrfs has the ability to create filesystems across multiple devices. Btrfs filesystems generated in this way can act in the following modes: raid0, raid1, raid10, raid5, and raid6. RAID modes 5 and 6 have improved considerably, but are still considered unstable. After a multiple device filesystem has been created, new devices can be added and old devices removed in a few commands. Btrfs takes more involvement than other filesystems making it not as friendly to beginners.
ext4 filesytems can be converted into btrfs filesystems, which may be useful for those who'd like to install Gentoo with a stable, well tested filesystem and gradually increase their knowledge about newer filesystems such as btrfs by experimentation.
LVM
The x86 Installation CDs provide support for Logical Volume Manager (LVM). LVM increases the flexibility offered by the partitioning setup. The installation instructions below will focus on "regular" partitions, but it is good to know LVM is supported if that route is desired. Visit the LVM article for more details. Newcomers beware: although fully supported LVM is outside the scope of this guide.
Standard-Partitionsschema
Throughout the remainder of the handbook, the following partitioning scheme will be used as a simple example layout:
Partition | Filesystem | Size | Description |
---|---|---|---|
/dev/sda1 | (bootloader) | 2M | BIOS boot partition |
/dev/sda2 | ext2 (or fat32 if UEFI is being used) | 128M | Boot/EFI system partition |
/dev/sda3 | (swap) | 512M or higher | Swap partition |
/dev/sda4 | ext4 | Rest of the disk | Root partition |
If this suffices and the reader going the GPT route they can immediately jump to Default: Using parted to partition the disk. Those who are still interested in MBR (hey - it happens!) and using the example layout can jump to Alternative: Using fdisk to partition the disk.
Both fdisk and parted are partitioning utilities. fdisk is well known, stable, and recommended for the MBR partition layout while parted was one of the first Linux block device management utilities to support GPT partitions. Those who like the user interface of fdisk can use gdisk (GPT fdisk) as an alternative to parted.
Before going to the creation instructions, the first set of sections will describe in more detail how partitioning schemes can be created and mention some common pitfalls.
Entwurf Partitionsschema
How many partitions and how big?
The number of partitions is highly dependent on the environment. For instance, if there are lots of users, then it is advised to have /home/ separate as it increases security and makes backups easier. If Gentoo is being installed to perform as a mail server, then /var/ should be separate as all mails are stored inside /var/. A good choice of filesystem will then maximize the performance. Game servers will have a separate /opt/ as most gaming servers are installed there. The reason is similar for the /home/ directory: security and backups. In most situations, /usr/ is to be kept big: not only will it contain the majority of applications, it typically also hosts the Gentoo ebuild repository (by default located at /usr/portage) which already takes around 650 MiB. This disk space estimate excludes the packages/ and distfiles/ directories that are generally stored within this ebuild repository.
It very much depends on what the administrator wants to achieve. Separate partitions or volumes have the following advantages:
- Choose the best performing filesystem for each partition or volume.
- The entire system cannot run out of free space if one defunct tool is continuously writing files to a partition or volume.
- If necessary, file system checks are reduced in time, as multiple checks can be done in parallel (although this advantage is more with multiple disks than it is with multiple partitions).
- Security can be enhanced by mounting some partitions or volumes read-only,
nosuid
(setuid bits are ignored),noexec
(executable bits are ignored) etc.
Jedoch haben viele Partitionen auch Nachteile. Wenn diese schlecht auf das System angepasst sind, hat dieses viel freien Speicherplatz auf einer Partition und keinen auf einer Anderen mehr übrig. Ein weiterer Nachteil besteht darin, dass separate Partitionen - vor allem für wichtige Mount-Pfade wie /usr/ oder /var/ - es notwendig ein initramfs während des Bootens zu benutzen, welches diese Partitionen vor der Ausführung anderer Bootskripte mountet.
Weiterhin gibt es ein Limit von maximal 15 Partitionen für SCSI und SATA Datenträger, es sei denn der Datenträger nutzt GPT-labels.
What about swap space?
Die perfekte Größe für eine Swap-Partition gibt es nicht. Der Zweck von Swap-Speicher es ist Festplattenspeicherplatz für den Kernel bereitzuhalten, wenn der interne Speicher (RAM) knapp wird. Der Swap-Speicher erlaubt dem Kernel Speicherseiten auf die vermutlich nicht bald zugegriffen wird auf die Platte auszulagern (Swap oder Page-Out) um Arbeitsspeicher freizumachen. Wird der Speicherinhalt plötzlich benötigt, müssen diese Speicherseiten (Pages) wieder zurück in den Arbeitsspeicher geladen werden (Page-In), dies dauert eine Weile (da Festplatten verglichen mit Arbeitsspeicher sehr langsam sind).
When the system is not going to run memory intensive applications or the system has lots of memory available, then it probably does not need much swap space. However, swap space is also used to store the entire memory in case of hibernation. If the system is going to need hibernation, then a bigger swap space is necessary, often at least the amount of memory installed in the system.
What is the BIOS boot partition?
Eine BIOS Bootpartition ist eine sehr kleine Partition (1 bis 2 MB) in welcher Bootloader wie GRUB2 zusätzliche Daten ablegen können, die nicht in den zugeordneten Speicher passen (einige hundert Bytes im Fall des MBR) und die nirgendwo anders platziert werden können.
Solche Partitionen sind nicht immer notwendig, aber in Anbetracht des geringen Platzverbrauchs und der Schwierigkeiten die wir ansonsten mit der Dokumentation einer Fülle unterschiedlicher Partitionierungen hätten, ist es in jedem Fall empfehlenswert sie zu erstellen.
Der Vollständigkeit wegen: Die BIOS Boot Partition ist erforderlich, wenn ein GPT Partitions-Layout mit GRUB2 verwendet wird, oder wenn das MBP Partitions-Layout mit GRUB2 verwendet wird und die erste Partiton vor der 1 MB Marke auf der Festplatte beginnt.
Standard: parted
In diesem Kapitel verwenden wird das Patitions-Layout, das bereits in der Anleitung erwähnt wurde:
Partition | Description |
---|---|
/dev/sda1 | BIOS boot partition |
/dev/sda2 | Boot partition |
/dev/sda3 | Swap partition |
/dev/sda4 | Root partition |
Ändern Sie das Partitions-Layout Ihren persönlichen Vorstellungen entsprechend.
Anzeigen des Partitions-Layouts
The parted application offers a simple interface for partitioning the disks and supports very large partitions (more than 2 TB). Fire up parted against the disk (in our example, we use /dev/sda). It is recommended to ask parted to use optimal partition alignment:
root #
parted -a optimal /dev/sda
GNU Parted 2.3 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands.
Ausrichtung bedeutet, dass Partitionen an bekannten Grenzen innerhalb der Festplatte beginnen. Dies soll sicherstellen dass Vorgänge auf der Festplatte von der Betriebssystemebene (Abruf von Speicherseiten von der Festplatte) die geringste Anzahl an internen Festplatten-Operationen verwenden. Falsch ausgerichtete Partitionen könnten es erfordern, dass die Festplatte zwei anstelle von einer Speicherseite abrufen muss, obwohl das Betriebssystem nur eine Speicherseite anfordert.
To find out about all options supported by parted, type help and press return.
GPT Label einstellen
Most disks on the x86 or amd64 architectures are prepared using an msdos label. Using parted, the command to put a GPT label on the disk is mklabel gpt:
Eine Änderung des Partitions-Typs löscht alle Partitionen von der Festplatte. Alle Daten auf der Festplatte gehen dabei verloren.
(parted)
mklabel gpt
To have the disk with MBR layout, use mklabel msdos.
Löschen aller Partitionen
If this isn't done yet (for instance through the mklabel operation earlier, or because the disk is a freshly formatted one), first remove all existing partitions from the disk. Type print to view the current partitions, and rm <N> where <N>
is the number of the partition to remove.
(parted)
rm 2
Do the same for all other partitions that aren't needed. However, make sure to not make any mistakes here - parted executes the changes immediately (unlike fdisk which stages them, allowing a user to "undo" his changes before saving or exiting fdisk).
Partition erstellen
Now parted will be used to create the partitions with the following settings:
- Den zu verwendenden Partitionstyp. Dieser ist in der Regel primär. Wenn das msdos Partitions-Label verwendet wird denken Sie daran, dass es nicht mehr als 4 primäre Partitionen geben kann. Wenn mehr als 4 Partitionen benötigt werden, muss eine der ersten vier Partitionen erweitert sein. In dieser lassen sich weite Partitionen anlegen, die vom Typ logisch sind.
- Der Startpunkt einer Partition (kann ausgedrückt werden in MB, GB, ...)
- Der Endpunkt der Partition (kann ausgedrückt werden in MB, GB, ...)
Zuerst sagen Sie parted, dass die Größeneinheit in der wir arbeiten Megabyte ist (eigentlich Mebibyte, abgekürzt mit MiB das die "Standard"-Notation ist, aber wir werden im Text dennoch durchgängig MB verwenden da es viel gebräuchlicher ist):
(parted)
unit mib
Now create a 2 MB partition that will be used by the GRUB2 boot loader later. Use the mkpart command for this, and inform parted to start from 1 MB and end at 3 MB (creating a partition of 2 MB in size).
(parted)
mkpart primary 1 3
(parted)
name 1 grub
(parted)
set 1 bios_grub on
(parted)
print
Model: Virtio Block Device (virtblk) Disk /dev/sda: 20480MiB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 1.00MiB 3.00MiB 2.00MiB grub bios_grub
Machen Sie das Gleiche für die Boot Partition (128 MB), Swap Partition (im Beispiel 512 MB) und der Root Partition, die die verbleibende Festplatte umspannt (für das die Endmarke als -1 anzugeben ist; Dies bedeutet das Ende der Festplatte minus ein MB, was das Weiteste ist bis wohin eine Partition gehen kann).
(parted)
mkpart primary 3 131
(parted)
name 2 boot
(parted)
mkpart primary 131 643
(parted)
name 3 swap
(parted)
mkpart primary 643 -1
(parted)
name 4 rootfs
Wenn Sie das UEFI Interface zum Booten des Systems nutzen (anstelle des BIOS), kennzeichnen Sie die Boot Partition als EFI System-Partition. Parted macht das automatisch, wenn die boot Option auf eine Partition angewendet wird:
(parted)
set 2 boot on
Das Endergebnis sieht so aus:
(parted)
print
Model: Virtio Block Device (virtblk) Disk /dev/sda: 20480MiB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 1.00MiB 3.00MiB 2.00MiB grub bios_grub 2 3.00MiB 131MiB 128MiB boot boot 3 131MiB 643MiB 512MiB swap 4 643MiB 20479MiB 19836MiB rootfs
On an UEFI installation, the boot and esp flags will show up on the boot partition.
Use the quit command to exit parted.
Alternative: fdisk
Although recent fdisk should support GPT, it has still shown to have some issues with it. The instructions given below assume that the partition layout being used is MBR.
The following parts explain how to create the example partition layout using fdisk. The example partition layout was mentioned earlier:
Partition | Description |
---|---|
/dev/sda1 | BIOS boot partition |
/dev/sda2 | Boot partition |
/dev/sda3 | Swap partition |
/dev/sda4 | Root partition |
Ändern Sie das Partitions-Layout Ihren Vorstellungen entsprechen ab.
Anzeigen des Partitions-Layouts
fdisk is a popular and powerful tool to split a disk into partitions. Fire up fdisk against the disk (in our example, we use /dev/sda):
root #
fdisk /dev/sda
To use GPT support, add
-t gpt
. It is recommended to closely investigate the fdisk output in case more recent developments in fdisk change its default behavior of defaulting to MBR. The remainder of the instructions assume an MBR layout.Use the p key to display the disk's current partition configuration:
Command (m for help):
p
Disk /dev/sda: 240 heads, 63 sectors, 2184 cylinders Units = cylinders of 15120 * 512 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 14 105808+ 83 Linux /dev/sda2 15 49 264600 82 Linux swap /dev/sda3 50 70 158760 83 Linux /dev/sda4 71 2184 15981840 5 Extended /dev/sda5 71 209 1050808+ 83 Linux /dev/sda6 210 348 1050808+ 83 Linux /dev/sda7 349 626 2101648+ 83 Linux /dev/sda8 627 904 2101648+ 83 Linux /dev/sda9 905 2184 9676768+ 83 Linux
This particular disk was configured to house seven Linux filesystems (each with a corresponding partition listed as "Linux") as well as a swap partition (listed as "Linux swap").
Löschen aller Partitionen
Löschen Sie zuerst alle existierenden Partitionen von der Festplatte. Drücken Sie d um eine Partition zu löschen. Zum Löschen einer vorhandenen Partition /dev/sda1:
Command (m for help):
d
Partition number (1-4): 1
The partition has now been scheduled for deletion. It will no longer show up when printing the list of partitions (p, but it will not be erased until the changes have been saved. This allows users to abort the operation if a mistake was made - in that case, type q immediately and hit Enter and the partition will not be deleted.
Drücken Sie wiederholt p um die Partitionsliste anzuzeigen gefolgt von d und der Nummer der zu löschenden Patrition. Schließlich wird die Partitionstabelle leer sein:
Command (m for help):
p
Disk /dev/sda: 30.0 GB, 30005821440 bytes 240 heads, 63 sectors/track, 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot Start End Blocks Id System
Jetzt, da die Partitionstabelle im Speicher leer ist, sind wir bereit die Partitionen zu erstellen.
BIOS Boot Partition erstellen
First create a very small BIOS boot partition. Type n to create a new partition, then p to select a primary partition, followed by 1 to select the first primary partition. When prompted for the first sector, make sure it starts from 2048 (which is needed for the boot loader) and hit Enter. When prompted for the last sector, type +2M to create a partition 2 Mbyte in size:
Der Beginn bei Sektor 2048 ist eine Absicherung im Falle, dass der Bootloader diese Partition nicht für deren Nutzung erkennt.
Command (m for help):
n
Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First sector (64-10486533532, default 64): 2048 Last sector, +sectors +size{M,K,G} (4096-10486533532, default 10486533532): +2M
Mark the partition for UEFI purposes:
Command (m for help):
t
Selected partition 1 Hex code (type L to list codes): 4 Changed system type of partition 1 to 4 (BIOS boot)
Using UEFI with MBR partition layout is discouraged. If an UEFI capable system is used, please use GPT layout.
Boot Partition erstellen
Erstellen Sie nun eine kleine Boot Partition. Drücken Sie n für neue Partition, dann p für primäre Partition, gefolgt von 2 um die zweite Primäre Partition zu erstellen. Wenn Sie aufgefordert werden den ersten Sektor einzugeben, bestätigen Sie die Voreinstellung durch Enter. Wenn Sie nach dem letzten Sektor gefragt werden geben Sie +128M ein, um eine 128 MB große Partition zu erstellen:
Command (m for help):
n
Command action e extended p primary partition (1-4) p Partition number (1-4): 2 First sector (5198-10486533532, default 5198): (Hit enter) Last sector, +sectors +size{M,K,G} (4096-10486533532, default 10486533532): +128M
Wenn Sie nun p drücken, wird die folgende Partitionstabelle angezeigt:
Command (m for help):
p
Disk /dev/sda: 30.0 GB, 30005821440 bytes 240 heads, 63 sectors/track, 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot Start End Blocks Id System /dev/sda1 1 3 5198+ ef EFI (FAT-12/16/32) /dev/sda2 3 14 105808+ 83 Linux
Drücken Sie a um das Boot-Flag der Partition zu aktivieren und wählen Sie 2. Achten Sie darauf, dass nach dem nochmaligen Drücken von p ein * in der "Boot"-Spalte platziert ist.
Swap Partition erstellen
Um die Swap Partition zu erstellen, drücken Sie n für neue Partition, dann p für primäre Partition und schließlich 3 um die dritte primäre Partition /dev/sda3 zu erstellen. Wenn Sie aufgefordert werden den ersten Sektor einzugeben, bestätigen Sie die Voreinstellung durch Enter. Wenn Sie nach dem letzten Sektor gefragt werden geben Sie +512M ein (oder jede andere Größe die Sie als Swap-Speicherplatz benötigen), um eine 512 MB große Partition zu erstellen.
Nachdem dies erledigt ist, drücken Sie t um den Partitionstyp einzustellen, 3 um die gerade erzeugte Partition auszuwählen und geben Sie 82 ein um den Partitionstyp auf "Linux Swap" zu setzen.
Root Partition erstellen
Finally, to create the root partition, type n to create a new partition, then p to tell fdisk to create a primary partition. Then type 4 to create the fourth primary partition, /dev/sda4. When prompted for the first sector, hit Enter. When prompted for the last sector, hit Enter to create a partition that takes up the rest of the remaining space on the disk. After completing these steps, typing p should display a partition table that looks similar to this:
Command (m for help):
p
Disk /dev/sda: 30.0 GB, 30005821440 bytes 240 heads, 63 sectors/track, 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot Start End Blocks Id System /dev/sda1 1 3 5198+ ef EFI (FAT-12/16/32) /dev/sda2 * 3 14 105808+ 83 Linux /dev/sda3 15 81 506520 82 Linux swap /dev/sda4 82 3876 28690200 83 Linux
Partitions-Layout speichern
To save the partition layout and exit fdisk, type w.
Command (m for help):
w
Mit den erstellten Partitionen, ist es jetzt an der Zeit Dateisysteme darauf anzulegen.
Erstellung von Dateisystemen
Einleitung
Now that the partitions are created, it is time to place a filesystem on them. In the next section the various file systems that Linux supports are described. Readers that already know which filesystem to use can continue with Applying a filesystem to a partition. The others should read on to learn about the available filesystems...
Dateisysteme
Several filesystems are available. Some of them are found stable on the x86 architecture - it is advised to read up on the filesystems and their support state before selecting a more experimental one for important partitions.
- btrfs
- A next generation filesystem that provides many advanced features such as snapshotting, self-healing through checksums, transparent compression, subvolumes and integrated RAID. A few distributions have begun to ship it as an out-of-the-box option, but it is not production ready. Reports of filesystem corruption are common. Its developers urge people to run the latest kernel version for safety because the older ones have known problems. This has been the case for years and it is too early to tell if things have changed. Fixes for corruption issues are rarely backported to older kernels. Proceed with caution when using this filesystem!
- ext2
- This is the tried and true Linux filesystem but doesn't have metadata journaling, which means that routine ext2 filesystem checks at startup time can be quite time-consuming. There is now quite a selection of newer-generation journaled filesystems that can be checked for consistency very quickly and are thus generally preferred over their non-journaled counterparts. Journaled filesystems prevent long delays when the system is booted and the filesystem happens to be in an inconsistent state.
- ext3
- The journaled version of the ext2 filesystem, providing metadata journaling for fast recovery in addition to other enhanced journaling modes like full data and ordered data journaling. It uses an HTree index that enables high performance in almost all situations. In short, ext3 is a very good and reliable filesystem.
- ext4
- Initially created as a fork of ext3, ext4 brings new features, performance improvements, and removal of size limits with moderate changes to the on-disk format. It can span volumes up to 1 EB and with maximum file size of 16TB. Instead of the classic ext2/3 bitmap block allocation ext4 uses extents, which improve large file performance and reduce fragmentation. Ext4 also provides more sophisticated block allocation algorithms (delayed allocation and multiblock allocation) giving the filesystem driver more ways to optimize the layout of data on the disk. Ext4 is the recommended all-purpose all-platform filesystem.
- f2fs
- The Flash-Friendly File System was originally created by Samsung for the use with NAND flash memory. As of Q2, 2016, this filesystem is still considered immature, but it is a decent choice when installing Gentoo to microSD cards, USB drives, or other flash-based storage devices.
- JFS
- IBM's high-performance journaling filesystem. JFS is a light, fast and reliable B+tree-based filesystem with good performance in various conditions.
- ReiserFS
- A B+tree-based journaled filesystem that has good overall performance, especially when dealing with many tiny files at the cost of more CPU cycles. ReiserFS appears to be less maintained than other filesystems.
- XFS
- A filesystem with metadata journaling which comes with a robust feature-set and is optimized for scalability. XFS seems to be less forgiving to various hardware problems.
- vfat
- Also known as FAT32, is supported by Linux but does not support any permission settings. It is mostly used for interoperability with other operating systems (mainly Microsoft Windows) but is also a necessity for some system firmware (like UEFI).
- NTFS
- This "New Technology" filesystem is the flagship filesystem of Microsoft Windows. Similar to vfat above it does not store permission settings or extended attributes necessary for BSD or Linux to function properly, therefore it cannot be used as a root filesystem. It should only be used for interoperability with Microsoft Windows systems (note the emphasis on only).
When using ext2, ext3, or ext4 on a small partition (less than 8GB), then the file system must be created with the proper options to reserve enough inodes. The mke2fs (mkfs.ext2) application uses the "bytes-per-inode" setting to calculate how many inodes a file system should have. On smaller partitions, it is advised to increase the calculated number of inodes.
Bei ext2 kann dies mit dem folgenden Befehl erfolgen:
root #
mkfs.ext2 -T small /dev/<device>
Bei ext3 und ext4 fügen Sie die Option -j
hinzu um Journaling zu aktivieren:
root #
mkfs.ext2 -j -T small /dev/<device>
Dies vervierfacht die Zahl der Inodes für ein angegebenes Dateisystem in der Regel, da es dessen "bytes-per-inode" (Bytes pro Inode) von 16 kB auf 4 kB pro Inode reduziert. Durch die Angabe des Verhältnisses kann dies sogar weiter optimiert werden:
root #
mkfs.ext2 -i <ratio> /dev/<device>
Dateisystem auf Partition anlegen
To create a filesystem on a partition or volume, there are user space utilities available for each possible filesystem. Click the filesystem's name in the table below for additional information on each filesystem:
Filesystem | Creation command | On minimal CD? | Package |
---|---|---|---|
btrfs | mkfs.btrfs | Yes | sys-fs/btrfs-progs |
ext2 | mkfs.ext2 | Yes | sys-fs/e2fsprogs |
ext3 | mkfs.ext3 | Yes | sys-fs/e2fsprogs |
ext4 | mkfs.ext4 | Yes | sys-fs/e2fsprogs |
f2fs | mkfs.f2fs | Yes | sys-fs/f2fs-tools |
jfs | mkfs.jfs | Yes | sys-fs/jfsutils |
reiserfs | mkfs.reiserfs | Yes | sys-fs/reiserfsprogs |
xfs | mkfs.xfs | Yes | sys-fs/xfsprogs |
vfat | mkfs.vfat | Yes | sys-fs/dosfstools |
NTFS | mkfs.ntfs | Yes | sys-fs/ntfs3g |
For instance, to have the boot partition (/dev/sda2) in ext2 and the root partition (/dev/sda4) in ext4 as used in the example partition structure, the following commands would be used:
root #
mkfs.ext2 /dev/sda2
root #
mkfs.ext4 /dev/sda4
Erzeugen Sie nun die Dateisysteme auf den zuvor erzeugten Partitionen (oder logischen Laufwerken).
Activating the swap partition
mkswap is the command that is used to initialize swap partitions:
root #
mkswap /dev/sda3
To activate the swap partition, use swapon:
root #
swapon /dev/sda3
Erzeugen und aktivieren Sie jetzt die Swap-Partition mit den oben genannten Befehlen.
Einhängen
Now that the partitions are initialized and are housing a filesystem, it is time to mount those partitions. Use the mount command, but don't forget to create the necessary mount directories for every partition created. As an example we mount the root partition:
root #
mount /dev/sda4 /mnt/gentoo
Wenn sich /tmp/ auf einer separaten Partition befinden muss, ändern Sie die Berechtigungen nach dem Einhängen folgendermaßen:
root #
chmod 1777 /mnt/gentoo/tmp
In der Anleitung wird später das Dateisystem proc (eine virtuelle Schnittstelle zum Kernel) zusammen mit anderen Kernel-Pseudodateisystemen eingehängt. Zunächst installieren wir jedoch die Gentoo Installationsdateien.
Installation eines Stage-Tarballs
Datum und Uhrzeit einstellen
Before installing Gentoo, it is a good idea to be sure the date and time are set correctly. A mis-configured clock may lead to strange results: base system files should be extracted with accurate time stamps. In fact, due to several websites and services using encrypted communications (SSL/TLS), it might not be possible to download the installation files at all if the system clock is too far skewed!
Verify the current date and time by running the date command:
root #
date
Mon Oct 3 13:16:22 PDT 2016
If the date/time displayed is wrong, update it using one of the methods below.
Motherboards that do not include a Real-Time Clock (RTC) should be configured to automatically sync the system clock with a time server. This is also true for systems that do include a RTC, but have a failed battery.
Automatic
Official Gentoo installation media includes the ntpd command (available through the net-misc/ntp package). Official media includes a configuration file pointing to ntp.org time servers. It can be used to automatically sync the system clock to UTC time using a time server. Using this method requires a working network configuration and may not be available on all architectures.
Automatic time sync comes at a price. It will reveal the system's IP address and related network information to a time server (in the case of the example below ntp.org). Users with privacy concerns should be aware of this before setting the system clock using the below method.
root #
ntpd -q -g
Manual
The date command can also be used to perform a manual set on the system clock. Use the MMDDhhmmYYYY
syntax (Month, Day, hour, minute and Year).
UTC time is recommended for all Linux systems. Later on during the installation a timezone will be defined. This will modify the display of the clock to local time.
For instance, to set the date to October 3rd, 13:16 in the year 2016:
root #
date 100313162016
Choosing a stage tarball
Multilib (32 and 64-bit)
Choosing a base tarball for the system can save a considerable amount of time later on in the installation process, specifically when it is time to choose a system profile. The selection of a stage tarball will directly impact future system configuration and can save a headache or two later on down the line. The multilib tarball uses 64-bit libraries when possible, and only falls back to the 32-bit versions when necessary for compatibility. This is an excellent option for the majority of installations because it provides a great amount of flexibility for customization in the future. Those who desire their systems to be capable of easily switching profiles should download the multilib tarball option for their respective processor architecture.
Most users should not use the 'advanced' tarballs options; they are for specific software or hardware configurations.
No-multilib (pure 64-bit)
Selecting a no-multilib tarball to be the base of the system provides a complete 64-bit operating system environment. This effectively renders the ability to switch to multilib profiles improbable, but possible. Those who are just starting out with Gentoo should not choose a no-multilib tarball unless it is absolutely necessary.
Be aware, migrating from a no-multilib to a multilib system requires an extremely well-working knowledge of Gentoo and the lower-level toolchain (it may even cause our Toolchain developers to shudder a little). It is not for the faint of heart and is beyond the scope of this guide.
Stage-Tarball herunterladen
Go to the Gentoo mount point where the root file system is mounted (most likely /mnt/gentoo):
root #
cd /mnt/gentoo
Depending on the installation medium, the only tool necessary to download a stage tarball is a web browser.
Graphical browsers
Those using environments with fully graphical web browsers will have no problem copying a stage file URL from the main website's download section. Simply select the appropriate tab, right click the link to the stage file, then Copy link address (Firefox) or Copy link location (Chromium) to copy the link to the clipboard, then paste the link to the wget utility on the command-line to download the stage tarball:
root #
wget <PASTED_STAGE_URL>
Command-line browsers
More traditional readers or 'old timer' Gentoo users, working exclusively from command-line may prefer using links, a non-graphical, menu-driven browser. To download a stage, surf to the Gentoo mirror list like so:
root #
links https://www.gentoo.org/downloads/mirrors/
To use an HTTP proxy with links, pass on the URL with the -http-proxy
option:
root #
links -http-proxy proxy.server.com:8080 https://www.gentoo.org/downloads/mirrors/
Next to links there is also the lynx browser. Like links it is a non-graphical browser but it is not menu-driven.
root #
lynx https://www.gentoo.org/downloads/mirrors/
If a proxy needs to be defined, export the http_proxy and/or ftp_proxy variables:
root #
export http_proxy="http://proxy.server.com:port"
root #
export ftp_proxy="http://proxy.server.com:port"
On the mirror list, select a mirror close by. Usually HTTP mirrors suffice, but other protocols are available as well. Move to the releases/x86/autobuilds/ directory. There all available stage files are displayed (they might be stored within subdirectories named after the individual sub-architectures). Select one and press d to download.
After the stage file download completes, it is possible to verify the integrity and validate the contents of the stage tarball. Those interested should proceed to the next section.
Those not interested in verifying and validating the stage file can close the command-line browser by pressing q and can move directly to the Unpacking the stage tarball section.
Verifying and validating
Some tarballs are being delivered via xz compression. When downloading a tarball ending in .tar.xz, be sure to adjust the tarball filename from .tar.bz2 in the following commands.
Like with the minimal installation CDs, additional downloads to verify and validate the stage file are available. Although these steps may be skipped, these files are provided for users who care about the legitimacy of the file(s) they just downloaded.
- A .CONTENTS file that contains a list of all files inside the stage tarball.
- A .DIGESTS file that contains checksums of the stage file in different algorithms.
- A .DIGESTS.asc file that, like the .DIGESTS file, contains checksums of the stage file in different algorithms, but is also cryptographically signed to ensure it is provided by the Gentoo project.
Use openssl and compare the output with the checksums provided by the .DIGESTS or .DIGESTS.asc files.
Zur Überprüfung der SHA512 Prüfsumme zum Beispiel:
root #
openssl dgst -r -sha512 stage3-x86-<release>.tar.bz2
Another way is to use the sha512sum command:
root #
sha512sum stage3-x86-<release>.tar.bz2
Zur Validierung der Whirlpool Prüfsumme:
root #
openssl dgst -r -whirlpool stage3-x86-<release>.tar.bz2
Vergleichen Sie die Ausgabe dieser Befehle mit dem Wert der in den .DIGESTS(.asc) Dateien eingetragen ist. Die Werte müssen übereinstimmen, andernfalls ist möglicherweise die heruntergeladene Datei beschädigt (oder die DIGEST-Datei ist es).
Just like with the ISO file, it is also possible to verify the cryptographic signature of the .DIGESTS.asc file using gpg to make sure the checksums have not been tampered with:
root #
gpg --verify stage3-x86-<release>.tar.bz2,.DIGESTS.asc
Stage-Tarball entpacken
Now unpack the downloaded stage onto the system. We use tar to proceed:
root #
tar xpvf stage3-*.tar.bz2 --xattrs-include='*.*' --numeric-owner
Make sure that the same options (xpf
and --xattrs-include='*.*'
) are used. The x
stands for extract, the p
for preserve permissions and the f
to denote that we want to extract a file (not standard input). --xattrs-include='*.*'
is to include preservation of the the extended attributes in all namespaces stored in the archive. Finally, --numeric-owner
is used to ensure that the user and group IDs of the files being extracted from the tarball will remain the same as Gentoo's release engineering team intended (even if adventurous users are not using official Gentoo installation media).
Now that the stage file is unpacked, proceed with Configuring the compile options.
Compiler-Optionen konfigurieren
Einleitung
To optimize Gentoo, it is possible to set a couple of variables which impacts the behavior of Portage, Gentoo's officially supported package manager. All those variables can be set as environment variables (using export) but that isn't permanent. To keep the settings, Portage reads in the /etc/portage/make.conf file, a configuration file for Portage.
A commented listing of all possible variables can be found in /mnt/gentoo/usr/share/portage/config/make.conf.example. For a successful Gentoo installation only the variables that are mentioned below need to be set.
Fire up an editor (in this guide we use nano) to alter the optimization variables we will discuss hereafter.
root #
nano -w /mnt/gentoo/etc/portage/make.conf
From the make.conf.example file it is obvious how the file should be structured: commented lines start with "#", other lines define variables using the VARIABLE="content" syntax. Several of those variables are discussed next.
CFLAGS und CXXFLAGS
The CFLAGS and CXXFLAGS variables define the optimization flags for GCC C and C++ compilers respectively. Although those are defined generally here, for maximum performance one would need to optimize these flags for each program separately. The reason for this is because every program is different. However, this is not manageable, hence the definition of these flags in the make.conf file.
In make.conf one should define the optimization flags that will make the system the most responsive generally. Don't place experimental settings in this variable; too much optimization can make programs behave bad (crash, or even worse, malfunction).
We will not explain all possible optimization options. To understand them all, read the GNU Online Manual(s) or the gcc info page (info gcc - only works on a working Linux system). The make.conf.example file itself also contains lots of examples and information; don't forget to read it too.
A first setting is the -march=
or -mtune=
flag, which specifies the name of the target architecture. Possible options are described in the make.conf.example file (as comments). A commonly used value is native as that tells the compiler to select the target architecture of the current system (the one users are installing Gentoo on).
A second one is the -O
flag (that is a capital O, not a zero), which specifies the gcc optimization class flag. Possible classes are s (for size-optimized), 0 (zero - for no optimizations), 1, 2 or even 3 for more speed-optimization flags (every class has the same flags as the one before, plus some extras). -O2
is the recommended default. -O3
is known to cause problems when used system-wide, so we recommend to stick to -O2
.
Another popular optimization flag is -pipe
(use pipes rather than temporary files for communication between the various stages of compilation). It has no impact on the generated code, but uses more memory. On systems with low memory, gcc might get killed. In that case, do not use this flag.
Using -fomit-frame-pointer
(which doesn't keep the frame pointer in a register for functions that don't need one) might have serious repercussions on the debugging of applications.
When the CFLAGS and CXXFLAGS variables are defined, combine the several optimization flags in one string. The default values contained in the stage3 archive that is unpacked should be good enough. The following one is just an example:
CFLAGS="-O2 -march=i686 -pipe" # Use the same settings for both variables CXXFLAGS="${CFLAGS}"
Although the GCC optimization article has more information on how the various compilation options can affect a system, the Safe CFLAGS article may be a more practical place for beginners to start optimizing their systems.
MAKEOPTS
The MAKEOPTS variable defines how many parallel compilations should occur when installing a package. A good choice is the number of CPUs (or CPU cores) in the system plus one, but this guideline isn't always perfect.
MAKEOPTS="-j2"
Ready, set, go!
Update the /mnt/gentoo/etc/portage/make.conf file to match personal preference and save (nano users would hit Ctrl+X).
Then continue with Installing the Gentoo base system.
Chrooten
Optional: Spiegelserver wählen
Distributionsdateien
Um den Quellcode zügig herunterzuladen wird empfohlen einen schnellen Spiegel auszuwählen. Portage schaut in die Datei make.conf nach der Variable GENTOO_MIRRORS und verwendet darin aufgelistete Spiegel. Es ist möglich zur Gentoo Mirror Liste zu surfen und nach einem Spiegel (oder mehreren Spiegeln) zu suchen, die nahe dem Systemstandort liegen (da diese meistens die schnellsten sind). Allerdings bieten wir ein nettes Tool namens mirrorselect, das den Benutzern ein schönes Interface zur Auswahl der benötigten Spiegel bietet. Gehen Sie einfach zu den Spiegeln der Wahl und drücken Sie die Leertaste um einen oder mehrere Spiegel auszuwählen.
root #
mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf
Gentoo ebuild repository
A second important step in selecting mirrors is to configure the Gentoo ebuild repository via the /etc/portage/repos.conf/gentoo.conf file. This file contains the sync information needed to update the package repository (the collection of ebuilds and related files containing all the information Portage needs to download and install software packages).
Configuring the repository can be done in a few simple steps. First, if it does not exist, create the repos.conf directory:
root #
mkdir /mnt/gentoo/etc/portage/repos.conf
Dann kopieren Sie die von Portage bereitgestellte Gentoo-Repository-Konfigurationsdatei in das (neu erstellte) Verzeichnis repos.conf:
root #
cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf
Schauen Sie sich ruhig die Datei mit einem Texteditor oder mit dem cat-Befehl an. Die Datei sollte ein .ini-Format haben und ungefähr so aussehen:
/mnt/gentoo/etc/portage/repos.conf/gentoo.conf
[gentoo] location = /usr/portage sync-type = rsync sync-uri = rsync://rsync.gentoo.org/gentoo-portage auto-sync = yes
[gentoo] location = /usr/portage sync-type = rsync sync-uri = rsync://rsync.gentoo.org/gentoo-portage auto-sync = yes sync-rsync-verify-jobs = 1 sync-rsync-verify-metamanifest = yes sync-rsync-verify-max-age = 24 sync-openpgp-key-path = /usr/share/openpgp-keys/gentoo-release.asc sync-openpgp-key-refresh-retry-count = 40 sync-openpgp-key-refresh-retry-overall-timeout = 1200 sync-openpgp-key-refresh-retry-delay-exp-base = 2 sync-openpgp-key-refresh-retry-delay-max = 60 sync-openpgp-key-refresh-retry-delay-mult = 4
- for daily squashfs snapshots
- sync-type = squashdelta
- sync-uri = mirror://gentoo/../snapshots/squashfs
}}
The default sync-uri variable value listed above will determine a mirror location based on a rotation. This will aid in easing bandwidth stress on Gentoo's infrastructure and will provide a fail-safe in case a specific mirror is offline. It is recommended the default URI is retained unless a local, private Portage mirror will be used.
Falls Sie an Details interessiert sind, finden Sie die offizielle Spezifikation der Portage Sync-Plugin-API in einem Artikel des Portage-Projekts.
DNS-Info kopieren
Eine Sache bleibt noch zu tun bevor Sie die neue Umgebung betreten und das ist das Kopieren der DNS-Informationen in die Datei /etc/resolv.conf. Dies ist notwendig um sicherzustellen, dass das Netzwerk auch nach dem Betreten der neuen Umgebung immer noch funktioniert. /etc/resolv.conf beinhaltet die Namensserver des Netzwerks.
Zum Kopieren dieser Information ist es empfehlenswert beim Befehl cp die Option -L
zu verwenden. Wenn /etc/resolv.conf ein symbolischer Link ist stellt dies sicher, dass die Zieldatei anstelle des symbolischen Links selbst kopiert wird. Andernfalls würde der symbolische Link auf eine nicht existierende Datei zeigen (weil das Link-Ziel höchstwahrscheinlich in der neuen Umgebung nicht verfügbar ist).
root #
cp -L /etc/resolv.conf /mnt/gentoo/etc/
Notwendige Dateisysteme einhängen
In wenigen Augenblicken wird Linux root (/) auf den neuen Ort geändert werden. Um Sicherzustellen dass die neue Umgebung richtig arbeitet, müssen bestimmte Dateisysteme dort ebenfalls verfügbar gemacht werden.
Die Dateisysteme, die verfügbar gemacht werden müssen, sind:
- /proc/ ist ein ein Pseudo-Dateisystem (Die beinhalteten Dateien sehen aus wie gewöhnliche Dateien, sie werden jedoch im laufenden Betrieb generiert). Der Kernel stellt hier der Umgebung Informationen zur Verfügung.
- /sys/ ist ein Pseudo-Dateisystem wie /proc/ ist. Einst war es dafür gedacht, dieses zu ersetzen, und es ist besser strukturiert als /proc/.
- /dev/ ist ein gewöhnliches Dateisystem, teilweise vom Linux Device Manager (normalerweise udev) verwaltet, das alle Gerätedateien enthält.
/proc/ wird an /mnt/gentoo/proc/ eingehängt (mount
), wohingegen die anderen zwei über mount --rbind
eingebunden werden. Das letztere bedeutet beispielsweise dass /mnt/gentoo/sys/ in Wirklichkeit /sys/ ist (es ist lediglich ein zweiter Einstiegspunkt zum selben Dateisystem), wohingegen /mnt/gentoo/proc/ ein neuer Einhängepunkt (sozusagen eine neue Instanz) des Dateisystems ist.
root #
mount --types proc /proc /mnt/gentoo/proc
root #
mount --rbind /sys /mnt/gentoo/sys
root #
mount --make-rslave /mnt/gentoo/sys
root #
mount --rbind /dev /mnt/gentoo/dev
root #
mount --make-rslave /mnt/gentoo/dev
Die
--make-rslave
Operationen werden für die spätere systemd Unterstützung bei der Installation benötigt.When using non-Gentoo installation media, this might not be sufficient. Some distributions make /dev/shm a symbolic link to /run/shm/ which, after the chroot, becomes invalid. Making /dev/shm/ a proper tmpfs mount up front can fix this:
root #
test -L /dev/shm && rm /dev/shm && mkdir /dev/shm
root #
mount --types tmpfs --options nosuid,nodev,noexec shm /dev/shm
Also ensure that mode 1777 is set:
root #
chmod 1777 /dev/shm
Betreten der neuen Umgebung
Nun da alle Partitionen initialisiert sind und die Basis-Umgebung installiert ist, wird es Zeit die neue Installationsumgebung durch chroot zu betreten. Das bedeutet, dass die Sitzung ihr Wurzelverzeichnis (/) von der aktuellen Installationsumgebung (Installations-CD oder anderes Installationsmedium) zum Installationssystem (nämlich die initialisierten Partitionen) ändert. Daher der Name change root oder chroot.
Dieses Chrooten erfolgt in drei Schritten:
- Das Wurzelverzeichnis wird mit Hilfe von chroot von / (auf dem Installationsmedium) auf /mnt/gentoo/ (auf den Partitionen) geändert.
- Einige Einstellungen (jene in /etc/profile) werden über den Befehl source neu in den Speicher geladen.
- Die primäre Eingabeaufforderung wird geändert, damit wir nicht vergessen, dass diese Sitzung innerhalb einer chroot-Umgebung läuft.
root #
chroot /mnt/gentoo /bin/bash
root #
source /etc/profile
root #
export PS1="(chroot) $PS1"
From this point, all actions performed are immediately on the new Gentoo Linux environment. Of course it is far from finished, which is why the installation still has some sections left!
If the Gentoo installation is interrupted anywhere after this point, it should be possible to 'resume' the installation at this step. There is no need to repartition the disks again! Simply mount the root partition and run the steps above starting with copying the DNS info to re-enter the working environment. This is also useful for fixing bootloader issues. More information can be found in the chroot article.
Mounting the boot partition
Now that the new environment has been entered, it is necessary to create and mount the /boot partition. This will be important when it is time to compile the kernel and install the bootloader:
root #
mkdir /boot
root #
mount /dev/sda2 /boot
Portage konfigurieren
Installing an ebuild repository snapshot from the web
Next step is to install a snapshot of the main ebuild repository. This snapshot contains a collection of files that informs Portage about available software titles (for installation), which profiles the system administrator can select, package or profile specific news items, etc.
The use of emerge-webrsync is recommended for those who are behind restrictive firewalls (because it uses HTTP/FTP protocols for downloading the snapshot) and saves network bandwidth. Readers who have no network or bandwidth restrictions can happily skip down to the next section.
This will fetch the latest snapshot (which is released on a daily basis) from one of Gentoo's mirrors and install it onto the system:
root #
emerge-webrsync
Während dieser Operation könnte sich emerge-webrsync über das Fehlen von /usr/portage/ beschweren. Dies ist zu erwarten und kein Grund zur Sorge - das Tool wird das Verzeichnis anlegen.
From this point onward, Portage might mention that certain updates are recommended to be executed. This is because system packages installed through the stage file might have newer versions available; Portage is now aware of new packages because of the repository snapshot. Package updates can be safely ignored for now; updates can be delayed after the Gentoo installation has finished.
Optional: Updating the Gentoo ebuild repository
It is possible to update the Gentoo ebuild repository to the latest version. The previous emerge-webrsync command will have installed a very recent snapshot (usually recent up to 24h) so this step is definitely optional.
Suppose there is a need for the last package updates (up to 1 hour), then use emerge --sync. This command will use the rsync protocol to update the Gentoo ebuild repository (which was fetched earlier on through emerge-webrsync) to the latest state.
root #
emerge --sync
Auf langsamen Terminals, wie einigen Framebuffer- oder seriellen Konsolen, ist es empfehlenswert die Option --quiet
zu nutzen, um den Vorgang zu beschleunigen:
root #
emerge --sync --quiet
News Einträge lesen
When the Gentoo ebuild repository is synchronized to the system, Portage may warn the user with messages similar to the following:
* IMPORTANT: 2 news items need reading for repository 'gentoo'. * Use eselect news to read news items.
News items were created to provide a communication medium to push critical messages to users via the rsync tree. To manage them, use eselect news. The eselect application is a Gentoo application that allows for a common management interface towards system changes and operations. In this case, eselect is asked to use its news
module.
Im Modul news
werden drei Operationen am meisten genutzt:
- Mit
list
wird eine Übersicht der verfügbaren News-Einträge angezeigt. - Mit
read
können die News-Einträge gelesen werden. - Mit
purge
lassen sich News-Einträge löschen, sobald sie gelesen wurden. Ein erneutes Einlesen erfolgt nicht.
root #
eselect news list
root #
eselect news read
Mehr Informationen zum Newsreader sind über seine Manpage verfügbar:
root #
man news.eselect
Auswahl des richtigen Profils
Do not select any of the the 17.1 profiles until reading the corresponding 17.1 news item. This profile is experimental and requires special migration instructions.
A profile is a building block for any Gentoo system. Not only does it specify default values for USE, CFLAGS, and other important variables, it also locks the system to a certain range of package versions. These settings are all maintained by Gentoo's Portage developers.
Mit eselect können Sie sich anschauen, welches Profil das System momentan nutzt, diesmal mit dem Modul profile
:
root #
eselect profile list
Available profile symlink targets: [1] default/linux/x86/13.0 * [2] default/linux/x86/13.0/desktop [3] default/linux/x86/13.0/desktop/gnome [4] default/linux/x86/13.0/desktop/kde
Die Ausgabe des Befehls ist nur ein Beispiel und kann sich im Laufe der Zeit ändern.
Wie Sie sehen können stehen ebenfalls Desktop-Unterprofile für einige Architekturen zur Verfügung.
Profile upgrades are not to be taken lightly. When selecting the initial profile, make sure to use profile corresponding to the same version as the one initially used by stage3 (e.g. 13.0). Each new profile version is announced through a news item containing migration instructions. Make sure to read it and follow them before switching to a newer profile.
After viewing the available profiles for the x86 architecture, users can select a different profile for the system:
root #
eselect profile set 2
The
developer
subprofile is specifically for Gentoo Linux development and is not meant to be used by casual users.Updating the @world set
At this point, it is wise to update the system's @world set so that a base can be established.
This following step is necessary so the system can apply any updates or USE flag changes which have appeared since the stage3 was built and from any profile selection:
root #
emerge --ask --verbose --update --deep --newuse @world
If a full scale desktop environment profile has been selected this process could greatly extend the amount of time necessary for the install process. Those in a time crunch can work by this 'rule of thumb': the shorter the profile name, the less specific the system's @world set; the less specific the @world set, the fewer packages the system will require. In other words:
- selecting
default/linux/amd64/13.0
will require very few packages to be updated, whereas - selecting
default/linux/amd64/13.0/desktop/gnome/systemd
will require many packages to be installed since the init system is changing from OpenRC to systemd, and the GNOME desktop environment framework will be installed.
USE Variable konfigurieren
USE is one of the most powerful variables Gentoo provides to its users. Several programs can be compiled with or without optional support for certain items. For instance, some programs can be compiled with support for GTK+ or with support for Qt. Others can be compiled with or without SSL support. Some programs can even be compiled with framebuffer support (svgalib) instead of X11 support (X-server).
Die meisten Distributionen kompilieren ihre Pakete mit Unterstützung für möglichst viel. Dies erhöht die Größe der Programme und verlängert die Programmstartzeit, nicht zu erwähnen die enorme Menge von Abhängigkeiten. Mit Gentoo können die Benutzer definieren mit welchen Optionen ein Paket kompiliert werden soll. Hier kommt USE ins Spiel.
In the USE variable users define keywords which are mapped onto compile-options. For instance, ssl
will compile SSL support in the programs that support it. -X
will remove X-server support (note the minus sign in front). gnome gtk -kde -qt4 -qt5
will compile programs with GNOME (and GTK+) support, and not with KDE (and Qt) support, making the system fully tweaked for GNOME (if the architecture supports it).
Die Standard-USE-Einstellungen befinden sich in den make.defaults Dateien des Gentoo-Profils, das das System verwendet. Gentoo benutzt ein (komplexes) Vererbungssystem für seine Profile, in das wir in dieser Phase nicht eintauchen wollen. Der einfachste Weg die momentan aktiven USE Einstellungen zu überprüfen ist emerge --info auszuführen und die Zeile auszuwählen, die mit USE beginnt:
root #
emerge --info | grep ^USE
USE="X acl alsa amd64 berkdb bindist bzip2 cli cracklib crypt cxx dri ..."
Das obige Beispiel ist verkürzt, die tatsächliche Liste der USE-Werte ist viel viel länger.
Eine vollständige Beschreibung der verfügbaren USE-Flags finden Sie auf dem System in der Datei /usr/portage/profiles/use.desc.
root #
less /usr/portage/profiles/use.desc
Innerhalb des Befehls less können Sie mit Hilfe der Tasten ↑ und ↓ scrollen. Zum Beenden drücken Sie q.
As an example we show a USE setting for a KDE-based system with DVD, ALSA, and CD recording support:
root #
nano -w /etc/portage/make.conf
/etc/portage/make.conf
Enabling USE for a KDE-based system with DVD, ALSA and CD recording supportUSE="-gtk -gnome qt4 qt5 kde dvd alsa cdr"
Wenn USE in /etc/portage/make.conf definiert ist, dann wird ein bestimmtes USE-Flag zur Standard Liste hinzugefügt (oder davon entfernt, wenn das USE-Flag mit dem Zeichen - beginnt). Benutzer die alle Standard-USE-Einstellungen ignorieren wollen und sie komplett selbst verwalten möchten, sollten die USE-Definition in make.conf mit -*
beginnen:
/etc/portage/make.conf
Ignoring default USE flagsUSE="-* X acl alsa"
Although possible, setting
-*
(as seen in the example above) is discouraged as carefully chosen USE flag defaults may be configured in some ebuilds to prevent conflicts and other errors.
Zeitzone
Wählen Sie die Zeitzone für das System. Schauen Sie nach den verfügbaren Zeitzonen in /usr/share/zoneinfo/ und schreiben Sie die die zu verwendende in die Datei /etc/timezone.
root #
ls /usr/share/zoneinfo
Angenommen die Zeitzone der Wahl ist Europe/Brussels:
root #
echo "Europe/Brussels" > /etc/timezone
Bitte vermeiden Sie die /usr/share/zoneinfo/Etc/GMT* Zeitzonen, da deren Namen nicht die erwarteten Zonen anzeigen. Beispielsweise ist GMT-8 in der Tat GMT+8.
Als Nächstes konfigurieren Sie das Paket sys-libs/timezone-data neu. Dies wird für uns abhängig vom Eintrag in der Datei /etc/timezone die Datei /etc/localtime aktualisieren. Die Datei /etc/localtime wird von der System C Bibliothek verwendet um zu erfassen in welcher Zeitzone sich das System befindet.
root #
emerge --config sys-libs/timezone-data
Konfiguration der Locale
Die meisten Benutzer werden nur ein oder zwei Locale auf ihrem System verwenden.
Locales specify not only the language that the user should use to interact with the system, but also what the rules are for sorting strings, displaying dates and times, etc.
Die Locale, die ein System unterstützen soll, sollten in der Datei /etc/locale.gen aufgeführt sein.
root #
nano -w /etc/locale.gen
Die folgenden Locale sind ein Beispiel um Englisch (Vereinigte Staaten) und Deutsch (Deutschland) mit den zugehörigen Zeichenformaten (wie UTF-8) zu bekommen.
/etc/locale.gen
Enabling US and DE locales with the appropriate character formatsen_US ISO-8859-1 en_US.UTF-8 UTF-8 de_DE ISO-8859-1 de_DE.UTF-8 UTF-8
Wir empfehlen die Verwendung von mindestens einem UTF-8 Locale weil einige Anwendungen dies möglicherweise erfordern.
Der nächste Schritt ist locale-gen auszuführen. Dies wird alle Locales erzeugen, die in der Datei /etc/locale.gen angegeben sind.
root #
locale-gen
Um zu überprüfen, dass die ausgewählten Locales jetzt verfügbar sind, führen Sie locale -a aus.
Sobald Sie das erledigt haben, ist es Zeit, die systemweiten Locale-Einstellungen vorzunehmen. Wir verwenden wieder eselect dafür, diesmal mit dem Modul locale
.
Mit eselect locale list werden die verfügbaren Ziele angezeigt:
root #
eselect locale list
Available targets for the LANG variable: [1] C [2] POSIX [3] en_US [4] en_US.iso88591 [5] en_US.utf8 [6] de_DE [7] de_DE.iso88591 [8] de_DE.iso885915 [9] de_DE.utf8 [ ] (free form)
Mit eselect locale set WERT kann die richtige Locale eingestellt werden:
root #
eselect locale set 9
Manuell kann dies auch durch die Datei /etc/env.d/02locale erreicht werden:
/etc/env.d/02locale
System Locale Definitionen manuell einstellenLANG="de_DE.UTF-8" LC_COLLATE="C"
Stellen Sie sicher dass ein Locale eingestellt ist, da das System andernfalls Warnungen und Fehler während des Bau des Kernels und bei anderem Softwareeinsatz später bei der Installation ausgibt.
Laden Sie jetzt die Umgebung erneut:
root #
env-update && source /etc/profile && export PS1="(chroot) $PS1"
Wir haben einen vollständigen Lokalisierungs-Leitfaden erstellt, um die Benutzer durch diesen Prozess zu leiten. Ein weiterer interessanter Artikel ist der UTF-8-Leitfaden für sehr spezifische Informationen zum Aktivieren von UTF-8 auf dem System.
Installation der Quellen
Der Kern um den herum alle Distributionen gebaut sind ist der Linux Kernel. Er ist die Schicht zwischen den Benutzerprogrammen und der Systemhardware. Gentoo bietet seinen Benutzern verschiedene mögliche Kernel-Quellen. Eine komplette Liste mit Beschreibung finden Sie auf der Kernel Übersichtsseite.
For x86-based systems Gentoo recommends the sys-kernel/gentoo-sources package.
Choose an appropriate kernel source and install it using emerge:
root #
emerge --ask sys-kernel/gentoo-sources
Dies installiert die Quellen des Linux Kernel im Verzeichnis /usr/src/, in welchem der symbolischer Link namens linux auf die installierten Kernel-Quellen zeigt:
root #
ls -l /usr/src/linux
lrwxrwxrwx 1 root root 12 Oct 13 11:04 /usr/src/linux -> linux-3.16.5-gentoo
Now it is time to configure and compile the kernel sources. There are two approaches for this:
- The kernel is manually configured and built.
- A tool called genkernel is used to automatically build and install the Linux kernel.
Wir erklären hier die manuelle Konfiguration als Standardwahl, weil dies der beste Weg ist die Umgebung zu optimieren.
Standard: Manuelle Konfiguration
Einleitung
Manually configuring a kernel is often seen as the most difficult procedure a Linux user ever has to perform. Nothing is less true - after configuring a couple of kernels no-one even remembers that it was difficult ;)
However, one thing is true: it is vital to know the system when a kernel is configured manually. Most information can be gathered by emerging sys-apps/pciutils which contains the lspci command:
root #
emerge --ask sys-apps/pciutils
Inside the chroot, it is safe to ignore any pcilib warnings (like pcilib: cannot open /sys/bus/pci/devices) that lspci might throw out.
Another source of system information is to run lsmod to see what kernel modules the installation CD uses as it might provide a nice hint on what to enable.
Now go to the kernel source directory and execute make menuconfig. This will fire up menu-driven configuration screen.
root #
cd /usr/src/linux
root #
make menuconfig
Die Linux Kernel-Konfiguration hat viele, viele Abschnitte. Wir listen zunächst einige Optionen auf, die aktiviert werden müssen (ansonsten wird Gentoo nicht funktionieren, oder ohne zusätzliche Veränderungen nicht richtig funktionieren). Wir haben im Gentoo Wiki auch einen Gentoo Kernel-Konfigurationsleitfaden, der weiterhelfen könnte.
Aktivieren der benötigten Optionen
Make sure that every driver that is vital to the booting of the system (such as SCSI controller, etc.) is compiled in the kernel and not as a module, otherwise the system will not be able to boot completely.
Next select the exact processor type. It is also recommended to enable MCE features (if available) so that users are able to be notified of any hardware problems. On some architectures (such as x86_64), these errors are not printed to dmesg, but to /dev/mcelog. This requires the app-admin/mcelog package.
Also select Maintain a devtmpfs file system to mount at /dev so that critical device files are already available early in the boot process (CONFIG_DEVTMPFS and CONFIG_DEVTMPFS_MOUNT):
Device Drivers ---> Generic Driver Options ---> [*] Maintain a devtmpfs filesystem to mount at /dev [ ] Automount devtmpfs at /dev, after the kernel mounted the rootfs
Verify SCSI disk support has been activated (CONFIG_BLK_DEV_SD):
Device Drivers ---> SCSI device support ---> <*> SCSI disk support
Now go to File Systems and select support for the filesystems you use. Don't compile the file system that is used for the root filesystem as module, otherwise the Gentoo system will not be able to mount the partition. Also select Virtual memory and /proc file system. Select one or more of the following options as needed by the system (CONFIG_EXT2_FS, CONFIG_EXT3_FS, CONFIG_EXT4_FS, CONFIG_MSDOS_FS, CONFIG_VFAT_FS, CONFIG_PROC_FS, and CONFIG_TMPFS):
File systems ---> <*> Second extended fs support <*> The Extended 3 (ext3) filesystem <*> The Extended 4 (ext4) filesystem <*> Reiserfs support <*> JFS filesystem support <*> XFS filesystem support <*> Btrfs filesystem support DOS/FAT/NT Filesystems ---> <*> MSDOS fs support <*> VFAT (Windows-95) fs support Pseudo Filesystems ---> [*] /proc file system support [*] Tmpfs virtual memory file system support (former shm fs)
If PPPoE is used to connect to the Internet, or a dial-up modem, then enable the following options (CONFIG_PPP, CONFIG_PPP_ASYNC, and CONFIG_PPP_SYNC_TTY):
Device Drivers ---> Network device support ---> <*> PPP (point-to-point protocol) support <*> PPP support for async serial ports <*> PPP support for sync tty ports
Die beiden Komprimierungsoptionen schaden nicht, aber werden definitiv nicht benötigt. Ebenso wie die PPP over Ethernet Option, die vielleicht nur PPP verwendet, wenn Kernel-Mode PPPoE verwendet wird.
Vergessen Sie nicht die Unterstützung von Netzwerkkarten (Ethernet oder Wireless-LAN) im Kernel.
Most systems also have multiple cores at their disposal, so it is important to activate Symmetric multi-processing support (CONFIG_SMP):
Processor type and features ---> [*] Symmetric multi-processing support
In Mehrkernsystemen zählt jeder Kern als ein Prozessor.
If USB input devices (like keyboard or mouse) or other USB devices will be used, do not forget to enable those as well (CONFIG_HID_GENERIC and CONFIG_USB_HID, CONFIG_USB_SUPPORT, CONFIG_USB_XHCI_HCD, CONFIG_USB_EHCI_HCD, CONFIG_USB_OHCI_HCD):
Device Drivers ---> HID support ---> -*- HID bus support <*> Generic HID driver [*] Battery level reporting for HID devices USB HID support ---> <*> USB HID transport layer [*] USB support ---> <*> xHCI HCD (USB 3.0) support <*> EHCI HCD (USB 2.0) support <*> OHCI HCD (USB 1.1) support
Architekturspezifische Kernel-Konfiguration
Stellen Sie sicher, dass Sie IA32 Emulation auswählen, wenn 32-Bit Programme unterstützt werden sollen (multilib). Gentoo installiert standardmäßig ein Multilib System (gemischte 32-Bit/64-Bit Berechnung). Deshalb wird diese Option benötigt, zumindest so lange kein no-multilib Profil verwendet wird.
'"`UNIQ--pre-0000004E-QINU`"'
Aktivieren Sie den GPT Partitions-Label Support, falls das zuvor beim Partitionieren der Festplatte verwendet wurde:
-*- Enable the block layer ---> Partition Types ---> [*] Advanced partition selection [*] EFI GUID Partition support
Aktivieren Sie die EFI Stub Unterstützung und EFI Variablen im Linux Kernel, wenn Sie UEFI zum Booten des Systems verwenden.
Processor type and features ---> [*] EFI runtime service support [*] EFI stub support [*] EFI mixed-mode support Firmware Drivers ---> EFI (Extensible Firmware Interface) Support ---> <*> EFI Variable Support via sysfs
Kompilieren und installieren
Mit beendeter Konfiguration ist es nun an der Zeit den Kernel zu kompilieren und zu installieren. Schließen Sie die Konfiguration und starten Sie den Kompiliervorgang:
root #
make && make modules_install
It is possible to enable parallel builds using make -jX with
X
being an integer number of parallel tasks that the build process is allowed to launch. This is similar to the instructions about /etc/portage/make.conf earlier, with the MAKEOPTS variable.When the kernel has finished compiling, copy the kernel image to /boot/. This is handled by the make install command:
root #
make install
Dies kopiert das Kernel-Abbild zusammen mit der Datei System.map und der Kernel-Konfigurationsdatei nach /boot/.
Optional: initramfs bauen
In bestimmten Fällen ist es notwendig ein initramfs (Ausgangsdateisystem im Arbeitsspeicher) zu bauen. Der häufigste Grund dafür ist wenn wichtige Dateisystemorte (wie /usr/ oder /var/) auf separaten Partitionen liegen. Mit einem initramfs können diese Partition, mit Hilfe der Werkzeuge die im initramfs Verfügbar sind, eingehängt werden.
Ohne initramfs besteht ein großes Risiko, dass das System nicht richtig bootet, da die Werkzeuge die für das Einhängen der Dateisysteme verantwortlich sind Informationen benötigen, die sich auf diesen Dateisystemen befinden. Ein initramfs zieht die notwendigen Dateien in ein Archiv, welches direkt nachdem der Kernel bootet genutzt wird, aber noch bevor die Kontrolle an das init Tool übergeben wird. Skripte auf dem initramfs stellen dann sicher, dass die Partitionen richtig eingehängt sind, bevor das System mit dem Booten fortfährt.
Zur Installation eines initramfs installieren Sie zunächst das Paket sys-kernel/genkernel. Im Anschluss daran lassen Sie dem Tool ein initramfs erzeugen:
root #
emerge --ask sys-kernel/genkernel
root #
genkernel --install initramfs
In order to enable specific support in the initramfs, such as LVM or RAID, add in the appropriate options to genkernel. See genkernel --help for more information. In the next example support is enabled for LVM and software RAID (mdadm):
root #
genkernel --lvm --mdadm --install initramfs
Das initramfs wird in /boot/ gespeichert. Die resultierende Datei kann einfach durch Auflisten der mit initramfs beginnenden Dateien gefunden werden:
root #
ls /boot/initramfs*
Fahren Sie nun beim Abschnitt Kernel-Module fort.
Alternative: genkernel verwenden
If a manual configuration looks too daunting, then using genkernel is recommended. It will configure and build the kernel automatically.
genkernel works by configuring a kernel nearly identically to the way the installation CD kernel is configured. This means that when genkernel is used to build the kernel, the system will generally detect all hardware at boot-time, just like the installation CD does. Because genkernel doesn't require any manual kernel configuration, it is an ideal solution for those users who may not be comfortable compiling their own kernels.
Schauen wir uns nun an, wie man genkernel verwendet. Installieren Sie als erstes das Pakel sys-kernel/genkernel:
root #
emerge --ask sys-kernel/genkernel
Next, edit the /etc/fstab file so that the line containing /boot/ as second field has the first field pointing to the right device. If the partitioning example from the handbook is followed, then this device is most likely /dev/sda2 with the ext2 file system. This would make the entry in the file look like so:
root #
nano -w /etc/fstab
/etc/fstab
Configuring the /boot mountpoint/dev/sda2 /boot ext2 defaults 0 2
Further in the Gentoo installation, /etc/fstab will be configured again. The /boot setting is needed right now as the genkernel application reads in this configuration.
Now, compile the kernel sources by running genkernel all. Be aware though, as genkernel compiles a kernel that supports almost all hardware, this compilation will take quite a while to finish!
If the boot partition doesn't use ext2 or ext3 as filesystem it might be necessary to manually configure the kernel using genkernel --menuconfig all and add support for this particular filesystem in the kernel (i.e. not as a module). Users of LVM2 will probably want to add
--lvm
as an argument as well.root #
genkernel all
Sobald genkernel beendet ist, wird ein Kernel, ein voller Satz Module und ein initial ram filesystem (initramfs) erstellt werden. Wir verwenden den Kernel und die initrd bei der Konfiguration des Boot-Loader später in dieser Anleitung. Schreiben Sie sich die Namen des Kernels und der initrd auf, da Sie diese Information benötigen, wenn die Boot-Loader Konfigurationsdatei bearbeitet wird. Die initrd wird sofort nach dem Booten gestartet um die automatische Hardware-Erkennung durchzuführen (wie bei der Installations-CD) bevor das "richtige" System startet.
root #
ls /boot/kernel* /boot/initramfs*
Kernel-Module
Konfiguration der Module
Hardware modules are optional to be listed manually. udev will normally load all hardware modules that are detected to be connected in most cases. However, it is not harmful for automatically detected modules to be listed. Sometimes exotic hardware requires help to load their drivers.
Listen Sie die Module, die automatisch geladen werden sollen, in der Datei /etc/conf.d/modules auf. Zusätzliche Optionen können Sie den Modulen ebenfalls hinzufügen, wenn nötig.
To view all available modules, run the following find command. Don't forget to substitute "<kernel version>" with the version of the kernel just compiled:
root #
find /lib/modules/<Kernelversion>/ -type f -iname '*.o' -or -iname '*.ko' | less
Um beispielsweise automatisch das Modul 3c59x.ko zu laden (das der Treiber für eine bestimmte 3Com Netzwerkkartenfamilie ist), bearbeiten Sie die Datei /etc/conf.d/modules und geben den Modulnamen ein.
root #
mkdir -p /etc/modules-load.d
root #
nano -w /etc/modules-load.d/network.conf
/etc/modules-load.d/network.conf
Force loading 3c59x module3c59x
Setzten Sie die Installation mit der Konfiguration des Systems fort.
Optional: Firmware installieren
Einige Treiber benötigen die Installation von zusätzlicher Firmware auf dem System, bevor sie funktionieren. Dies ist häufig bei Netzwerkkarten, im Besonderen bei WLAN Netzwerkkarten der Fall. Die meiste Firmware befindet sich im Paket sys-kernel/linux-firmware:
root #
emerge --ask sys-kernel/linux-firmware
Dateisysteminformationen
Über fstab
Unter Linux müssen alle Partitionen, die im System genutzt werden, in /etc/fstab aufgelistet werden. Diese Datei beinhaltet die Mountpunkte ("Einhängepunkte", also wo sie im Dateisystem erscheinen) dieser Partitionen, wie sie eingehängt werden sollen und mit welchen speziellen Optionen (automatisch einhängen oder nicht, können Benutzer sie einhängen, etc.)
fstab erstellen
Die Datei /etc/fstab verwendet eine tabellenartige Syntax. Jede Zeile besteht aus sechs Feldern, die jeweils von Leerräumen (Leerzeichen, Tabulatoren oder beides gemischt). Jedes Feld besitzt seine eigene Bedeutung:
- Das erste Feld beinhaltet die Partition, die diese Zeile beschreibt (den Pfad zur Gerätedatei)
- Das zweite Feld zeigt den Einhängepunkt, an dem die Partition eingehängt werden soll
- Das dritte Feld zeigt das Dateisystem der Partition
- Im vierten Feld stehen die Einhängeoptionen, die von mount genutzt werden, wenn Partitionen eingehängt werden. Da jedes Dateisystem seine eigenen Optionen hat, empfiehlt sich ein Blick in die Manpage (man mount), wo sich eine vollständige Liste findet. Mehrere Einhängeoptionen werden mit Kommata getrennt.
- Das fünfte Feld wird von dump verwendet, um herauszufinden ob die Partition in einem Dump-Backup berücksichtigt werden soll. Dieser Eintrag kann üblicherweise auf 0 (null) belassen werden.
- Das sechste Feld wird von fsck verwendet, um die Reihenfolge festzulegen, in der Dateisysteme nach einem unsauberen Neustart überprüft werden. Das root-Dateisystem (/) sollte hier 1 steheh haben, alle anderen Dateisysteme 2 (oder 0, wenn eine Dateisystemprüfung nicht nötig ist.)
The default /etc/fstab file provided by Gentoo is not a valid fstab file but instead more of a template.
root #
nano -w /etc/fstab
In the remainder of the text, we use the default /dev/sd* block device files as partition.
Filesystem labels and UUIDs
Both MBR (BIOS) and GPT include support for filesystem labels and filesystem UUIDs. These attributes can be defined in /etc/fstab as alternatives for the mount command to use when attempting to find and mount block devices. Filesystem labels and UUIDs are identified by the LABEL and UUID prefix and can be viewed with the blkid command:
root #
blkid
If the filesystem inside a partition is wiped, then the filesystem label and the UUID values will be subsequently altered or removed.
Because of uniqueness, readers that are using an MBR-style partition table are recommended to use UUIDs over labels to define mountable volumes in /etc/fstab.
Partition labels and UUIDs
Users who have gone the GPT route have a couple more 'robust' options available to define partitions in /etc/fstab. Partition labels and partition UUIDs can be used to identify the block device's individual partition(s), regardless of what filesystem has been chosen for the partition itself. Partition labels and UUIDs are identified by the PARTLABEL and PARTUUID prefixes respectively and can be viewed nicely in the terminal by running the blkid command:
root #
blkid
While not always true for partition labels, using a UUID to identify a partition in fstab provides a guarantee that the bootloader will not be confused when looking for a certain volume, even if the filesystem would be changed in the future. Using the older default block device files (/dev/sd*N) for defining the partitions in fstab is risky for systems that are restarted often and have SATA block devices added and removed regularly.
The naming for block device files depends on a number of factors, including how and in what order the disks are attached to the system. They also could show up in a different order depending on which of the devices are detected by the kernel first during the early boot process. With this being stated, unless one intends to constantly fiddle with the disk ordering, using default block device files is a simple and straightforward approach.
Let us take a look at how to write down the options for the /boot/ partition. This is just an example, and should be modified according to the partitioning decisions made earlier in the installation.
In our x86 partitioning example, /boot/ is usually the /dev/sda2 partition, with ext2 as filesystem. It needs to be checked during boot, so we would write down:
/etc/fstab
An example /boot line for /etc/fstab/dev/sda2 /boot ext2 defaults 0 2
Some users don't want their /boot/ partition to be mounted automatically to improve their system's security. Those people should substitute defaults with noauto. This does mean that those users will need to manually mount this partition every time they want to use it.
Add the rules that match the previously decided partitioning scheme and append rules for devices such as CD-ROM drive(s), and of course, if other partitions or drives are used, for those too.
Below is a more elaborate example of an /etc/fstab file:
/etc/fstab
A full /etc/fstab example/dev/sda2 /boot ext2 defaults,noatime 0 2 /dev/sda3 none swap sw 0 0 /dev/sda4 / ext4 noatime 0 1 /dev/cdrom /mnt/cdrom auto noauto,user 0 0
When auto
is used in the third field, it makes the mount command guess what the filesystem would be. This is recommended for removable media as they can be created with one of many filesystems. The user
option in the fourth field makes it possible for non-root users to mount the CD.
To improve performance, most users would want to add the noatime
mount option, which results in a faster system since access times aren't registered (those are not needed generally anyway). This is also recommended for solid state drive (SSD) users, who should also enable the discard
mount option (ext4 and btrfs only for now) which makes the TRIM
command work.
Double-check the /etc/fstab file, save and quit to continue.
Netzwerkinformationen
Host- und Domäneninformationen
Eine der Entscheidungen, die Benutzer treffen müssen, ist der Name des PC. Auf den ersten Blick scheint dies einfach zu sein, aber viele Benutzer haben Schwierigkeiten einen passenden Namen für ihren Linux-PC zu finden. Um diesen Prozess zu beschleunigen, sei darauf hingewiesen dass der Name später wieder geändert werden kann. In den folgenden Beispielen wird der Hostname "tux" in der Domäne "homenetwork" verwendet.
root #
nano -w /etc/conf.d/hostname
# Die Variable "hostname" auf den gewählten Hostnamen setzen hostname="tux"
Anschließend, wenn ein Domänenname benötigt wird, setzen Sie diesen in /etc/conf.d/net. Dies ist nur nötig, wenn Ihr Provider oder Netzwerkadministrator dies verlangen, oder wenn das Netzwerk einen DNS-Server besitzt, aber keinen DHCP-Server. Sie können DNS oder Domänennamen ignorieren, wenn das System DHCP für die Zuweisung dynamischer IP-Adressen und Netzwerkkonfiguration verwendet wird.
Die Datei /etc/conf.d/net wird nicht mitgeliefert, Sie müssen sie daher erstellen.
root #
nano -w /etc/conf.d/net
# Setzen Sie die dns_domain-Variable auf Ihren Domainnamen dns_domain_lo="homenetwork"
Wenn Sie sich dafür entscheiden, keinen Domainnamen zu setzen, können Sie die "This is hostname.(none)" Nachrichten am Anmeldebildschirm loswerden, indem Sie /etc/issue editieren. Entfernen Sie einfach den String
.\O
aus dieser Datei. If a NIS domain is needed (users that do not know this will not need one), define that one too:
root #
nano -w /etc/conf.d/net
# Set the nis_domain_lo variable to the selected NIS domain name nis_domain_lo="my-nisdomain"
For more information on configuring DNS and NIS, please read the examples provided in /usr/share/doc/netifrc-*/net.example.bz2 which can be read using bzless. Also, it might be interesting to install net-dns/openresolv to help manage the DNS/NIS setup.
Configuring the network
During the Gentoo Linux installation, networking was already configured. However, that was for the installation CD itself and not for the installed environment. Right now, the network configuration is made for the installed Gentoo Linux system.
More detailed information about networking, including advanced topics like bonding, bridging, 802.1Q VLANs or wireless networking is covered in the Gentoo Network Configuration section.
All networking information is gathered in /etc/conf.d/net. It uses a straightforward yet perhaps not intuitive syntax. But don't fear, everything is explained below. A fully commented example that covers many different configurations is available in /usr/share/doc/netifrc-*/net.example.bz2.
First install net-misc/netifrc:
root #
emerge --ask --noreplace net-misc/netifrc
DHCP is used by default. For DHCP to work, a DHCP client needs to be installed. This is described later in Installing Necessary System Tools.
If the network connection needs to be configured because of specific DHCP options or because DHCP is not used at all, then open /etc/conf.d/net:
root #
nano -w /etc/conf.d/net
Set both config_eth0 and routes_eth0 to enter IP address information and routing information:
This assumes that the network interface will be called eth0. This is, however, very system dependent. It is recommended to assume that the interface is named the same as the interface name when booted from the installation media if the installation media is sufficiently recent. More information can be found in Network Interface Naming.
/etc/conf.d/net
Static IP definitionconfig_eth0="192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255" routes_eth0="default via 192.168.0.1"
To use DHCP, define config_eth0:
/etc/conf.d/net
DHCP definitionconfig_eth0="dhcp"
Please read /usr/share/doc/netifrc-*/net.example.bz2 for a list of all available options. Be sure to also read up on the DHCP client man page if specific DHCP options need to be set.
If the system has several network interfaces, then repeat the above steps for config_eth1, config_eth2, etc.
Now save the configuration and exit to continue.
Automatically start networking at boot
To have the network interfaces activated at boot, they need to be added to the default runlevel.
root #
cd /etc/init.d
root #
ln -s net.lo net.eth0
root #
rc-update add net.eth0 default
If the system has several network interfaces, then the appropriate net.* files need to be created just like we did with net.eth0.
If after booting the system we find out that the assumption about the network interface name (which is currently documented as eth0
) was wrong, then execute the following steps to rectify this:
- Update the /etc/conf.d/net file with the correct interface name (like
enp3s0
instead ofeth0
). - Create new symbolic link (like /etc/init.d/net.enp3s0).
- Remove the old symbolic link (rm /etc/init.d/net.eth0).
- Add the new one to the default runlevel.
- Remove the old one using rc-update del net.eth0 default.
The hosts file
Next inform Linux about the network environment. This is defined in /etc/hosts and helps in resolving host names to IP addresses for hosts that aren't resolved by the nameserver.
root #
nano -w /etc/hosts
/etc/hosts
Filling in the networking information# This defines the current system and must be set 127.0.0.1 tux.homenetwork tux localhost # Optional definition of extra systems on the network 192.168.0.5 jenny.homenetwork jenny 192.168.0.6 benny.homenetwork benny
Save and exit the editor to continue.
Optional: Get PCMCIA working
PCMCIA users should now install the sys-apps/pcmciautils package.
root #
emerge --ask sys-apps/pcmciautils
System information
Root password
Set the root password using the passwd command.
root #
passwd
The root Linux account is an all-powerful account, so pick a strong password. Later an additional regular user account will be created for daily operations.
Init and boot configuration
Gentoo (at least when using OpenRC) uses /etc/rc.conf to configure the services, startup, and shutdown of a system. Open up /etc/rc.conf and enjoy all the comments in the file. Review the settings and change where needed.
root #
nano -w /etc/rc.conf
Next, open /etc/conf.d/keymaps to handle keyboard configuration. Edit it to configure and select the right keyboard.
root #
nano -w /etc/conf.d/keymaps
Take special care with the keymap variable. If the wrong keymap is selected, then weird results will come up when typing on the keyboard.
Finally, edit /etc/conf.d/hwclock to set the clock options. Edit it according to personal preference.
root #
nano -w /etc/conf.d/hwclock
If the hardware clock is not using UTC, then it is necessary to set clock="local"
in the file. Otherwise the system might show clock skew behavior.
System logger
Some tools are missing from the stage3 archive because several packages provide the same functionality. It is now up to the user to choose which ones to install.
The first tool to decide on has to provide logging facilities for the system. Unix and Linux have an excellent history of logging capabilities - if needed, everything that happens on the system can be logged in log files. This happens through the system logger.
Gentoo offers several system logger utilities. A few of these include:
- app-admin/sysklogd - Offers the traditional set of system logging daemons. The default logging configuration works well out of the box which makes this package a good option for beginners.
- app-admin/syslog-ng - An advanced system logger. Requires additional configuration for anything beyond logging to one big file. More advanced users may choose this package based on it's logging potential; be aware additional configuration is a necessity for any kind of smart logging.
- app-admin/metalog - A highly-configurable system logger.
Others are available through Portage as well - the number of available packages increases on a daily basis.
If sysklogd or syslog-ng are going to be used, it is recommended to install and configure logrotate afterwards as those system loggers don't provide any rotation mechanism for the log files.
systemd provides its own logging facility called the "journal". Installing a separate syslog provider is optional on systems running systemd, and may require additional configuration to have the syslog daemon read messages from the journal.
To install the system logger of choice, emerge it and have it added to the default runlevel using rc-update. The following example installs app-admin/sysklogd:
root #
emerge --ask app-admin/sysklogd
root #
rc-update add sysklogd default
Optional: Cron daemon
Next is the cron daemon. Although it is optional and not required for every system, it is wise to install one.
A cron daemon executes scheduled commands. It is very handy if some command needs to be executed regularly (for instance daily, weekly or monthly).
Gentoo offers several possible cron daemons, including sys-process/bcron, sys-process/dcron, sys-process/fcron, and sys-process/cronie. Installing one of them is similar to installing a system logger. The following example uses sys-process/cronie:
root #
emerge --ask sys-process/cronie
root #
rc-update add cronie default
If dcron or fcron are used, an additional initialization command needs to be executed:
root #
crontab /etc/crontab
Optional: File indexing
In order to index the file system to provide faster file location capabilities, install sys-apps/mlocate.
root #
emerge --ask sys-apps/mlocate
Optional: Remote access
To be able to access the system remotely after installation, add the sshd init script to the default runlevel:
root #
rc-update add sshd default
If serial console access is needed (which is possible in case of remote servers), uncomment the serial console section in /etc/inittab:
root #
nano -w /etc/inittab
# SERIAL CONSOLES s0:12345:respawn:/sbin/agetty 9600 ttyS0 vt100 s1:12345:respawn:/sbin/agetty 9600 ttyS1 vt100
Filesystem tools
Depending on the filesystems used, it is necessary to install the required file system utilities (for checking the filesystem integrity, creating additional file systems etc.). Note that tools for managing ext2, ext3, or ext4 filesystems (sys-fs/e2fsprogs) are already installed as a part of the @system set.
The following table lists the tools to install if a certain filesystem is used:
Filesystem | Package |
---|---|
Ext2, 3, and 4 | sys-fs/e2fsprogs |
XFS | sys-fs/xfsprogs |
ReiserFS | sys-fs/reiserfsprogs |
JFS | sys-fs/jfsutils |
VFAT (FAT32, ...) | sys-fs/dosfstools |
Btrfs | sys-fs/btrfs-progs |
For more information on filesystems in Gentoo see the filesystem article.
Networking tools
If there is no need for any additional networking tools, continue immediately with the section on Configuring a bootloader.
Installing a DHCP client
Although optional, the majority of users will find that they need a DHCP client to connect to the DHCP server on their network. Please take this opportunity to install a DHCP client. If this step is forgotten, then the system might not be able to get on the network thus making it impossible to download a DHCP client afterward.
In order for the system to automatically obtain an IP address for one or more network interface(s) using netifrc scripts, it is necessary to install a DHCP client. We recommend the use of net-misc/dhcpcd although many other DHCP clients are available through the Gentoo repository:
root #
emerge --ask net-misc/dhcpcd
More information on dhcpcd can be found in the dhcpcd article.
Optional: Installing a PPPoE client
If PPP is used to connect to the internet, install the net-dialup/ppp package:
root #
emerge --ask net-dialup/ppp
Optional: Install wireless networking tools
If the system will be connecting to wireless networks, install the net-wireless/iw package for Open or WEP networks and/or the net-wireless/wpa_supplicant package for WPA or WPA2 networks. iw is also a useful basic diagnostic tool for scanning wireless networks.
root #
emerge --ask net-wireless/iw net-wireless/wpa_supplicant
Now continue with Configuring the bootloader.
Although installing for a 32-bit CPU, almost all x86 motherboards (starting from around 2006-2007 until the present) that were produced with support for UEFI have 64-bit UEFI firmware. Some users may notice "64" in the name of configuration settings and files in the coming sections below. This is expected in nearly every case.
There are a few very small exceptions to this 64-bit UEFI firmware rule, namely few early Apple Macs and some Intel Atom powered Dell tablet PCs had support for 32-bit UEFI firmware. The vast majority of readers will never encounter 32-bit UEFI firmware in the wild. For this reason 32-bit UEFI firmware is not covered in the x86 Handbook.
Selecting a boot loader
With the Linux kernel configured, system tools installed and configuration files edited, it is time to install the last important piece of a Linux installation: the boot loader.
The boot loader is responsible for firing up the Linux kernel upon boot - without it, the system would not know how to proceed when the power button has been pressed.
For x86, we document how to configure either GRUB2 or LILO for BIOS based systems, and GRUB2 or efibootmgr for UEFI systems.
In this section of the Handbook a delineation has been made between emerging the boot loader's package and installing a boot loader to a system disk. Here the term emerge will be used to ask Portage to make the software package available to the system. The term install will signify the boot loader copying files or physically modifying appropriate sections of the system's disk drive in order to render the boot loader activated and ready to operate on the next power cycle.
Default: GRUB2
Previously, Gentoo Linux used what is now called GRUB Legacy as the recommended boot loader. As the name implies, the older GRUB package is no longer actively maintained and has been superseded by GRUB2. For more information about the legacy GRUB, please refer to its GRUB article.
By default, the majority of Gentoo systems now rely upon GRUB2 (found in the sys-boot/grub package), which is the direct successor to GRUB Legacy. With no additional configuration, GRUB2 gladly supports older BIOS ("pc") systems. With a small amount of configuration, necessary before build time, GRUB2 can support more than a half a dozen additional platforms. For more information, consult the Prerequisites section of the GRUB2 article.
Emerge
When using an older BIOS system supporting only MBR partition tables, no additional configuration is needed in order to emerge GRUB:
root #
emerge --ask --verbose sys-boot/grub:2
A note for UEFI users: running the above command will output the enabled GRUB_PLATFORMS values before emerging. When using UEFI capable systems, users will need to ensure GRUB_PLATFORMS="efi-64"
is enabled (as it is the case by default). If that is not the case for the setup, GRUB_PLATFORMS="efi-64"
will need to be added to the /etc/portage/make.conf file before emerging GRUB2 so that the package will be built with EFI functionality:
root #
echo 'GRUB_PLATFORMS="efi-64"' >> /etc/portage/make.conf
root #
emerge --ask sys-boot/grub:2
- If GRUB2 was somehow emerged without enabling
GRUB_PLATFORMS="efi-64"
, the line (as shown above) can be added to make.conf then and dependencies for the world package set re-calculated by passing the--update --newuse
options to emerge:
root #
emerge --ask --update --newuse --verbose sys-boot/grub:2
The GRUB2 software has now been merged to the system, but not yet installed.
Install
Next, install the necessary GRUB2 files to the /boot/grub/ directory via the grub-install command. Presuming the first disk (the one where the system boots from) is /dev/sda, one of the following commands will do:
- When using BIOS:
root #
grub-install /dev/sda
- When using UEFI:
- Wichtig
Make sure the EFI system partition has been mounted before running grub-install. It is possible for grub-install to install the GRUB EFI file (grubx64.efi) into the wrong directory without providing any indication the wrong directory was used.
root #
grub-install --target=x86_64-efi --efi-directory=/boot
- Notiz
Modify the--efi-directory
option to the root of the EFI System Partition. This is necessary if the /boot partition was not formatted as a FAT variant.
- Wichtig
If grub_install returns an error likeCould not prepare Boot variable: Read-only file system
, it may be necessary to remount the efivars special mount as read-write in order to succeed:root #
mount -o remount,rw /sys/firmware/efi/efivars
Some motherboard manufacturers seem to only support the /efi/boot/ directory location for the .EFI file in the EFI System Partition (ESP). The GRUB installer can perform this operation automatically with the --removable
option. Verify the ESP is mounted before running the following commands. Presuming the ESP is mounted at /boot (as suggested earlier), execute:
root #
grub-install --target=x86_64-efi --efi-directory=/boot --removable
This creates the default directory defined by the UEFI specification, and then copies the grubx64.efi file to the 'default' EFI file location defined by the same specification.
Configure
Next, generate the GRUB2 configuration based on the user configuration specified in the /etc/default/grub file and /etc/grub.d scripts. In most cases, no configuration is needed by users as GRUB2 will automatically detect which kernel to boot (the highest one available in /boot/) and what the root file system is. It is also possible to append kernel parameters in /etc/default/grub using the GRUB_CMDLINE_LINUX variable.
To generate the final GRUB2 configuration, run the grub-mkconfig command:
root #
grub-mkconfig -o /boot/grub/grub.cfg
Generating grub.cfg ... Found linux image: /boot/vmlinuz-3.16.5-gentoo Found initrd image: /boot/initramfs-genkernel-x86-3.16.5-gentoo done
The output of the command must mention that at least one Linux image is found, as those are needed to boot the system. If an initramfs is used or genkernel was used to build the kernel, the correct initrd image should be detected as well. If this is not the case, go to /boot/ and check the contents using the ls command. If the files are indeed missing, go back to the kernel configuration and installation instructions.
The os-prober utility can be used in conjunction with GRUB2 to detect other operating systems from attached drives. Windows 7, 8.1, 10, and other distributions of Linux are detectable. Those desiring dual boot systems should emerge the sys-boot/os-prober package then re-run the grub-mkconfig command (as seen above). If detection problems are encountered be sure to read the GRUB2 article in its entirety before asking the Gentoo community for support.
Alternative 1: LILO
Emerge
LILO, the LInuxLOader, is the tried and true workhorse of Linux boot loaders. However, it lacks features when compared to GRUB. LILO is still used because, on some systems, GRUB does not work and LILO does. Of course, it is also used because some people know LILO and want to stick with it. Either way, Gentoo supports both bootloaders.
Installing LILO is a breeze; just use emerge.
root #
emerge --ask sys-boot/lilo
Configure
To configure LILO, first create /etc/lilo.conf:
root #
nano -w /etc/lilo.conf
In the configuration file, sections are used to refer to the bootable kernel. Make sure that the kernel files (with kernel version) and initramfs files are known, as they need to be referred to in this configuration file.
If the root filesystem is JFS, add an
append="ro"
line after each boot item since JFS needs to replay its log before it allows read-write mounting./etc/lilo.conf
Example LILO configurationboot=/dev/sda # Install LILO in the MBR prompt # Give the user the chance to select another section timeout=50 # Wait 5 (five) seconds before booting the default section default=gentoo # When the timeout has passed, boot the "gentoo" section compact # This drastically reduces load time and keeps the map file smaller; may fail on some systems image=/boot/vmlinuz-3.16.5-gentoo label=gentoo # Name we give to this section read-only # Start with a read-only root. Do not alter! root=/dev/sda4 # Location of the root filesystem image=/boot/vmlinuz-3.16.5-gentoo label=gentoo.rescue # Name we give to this section read-only # Start with a read-only root. Do not alter! root=/dev/sda4 # Location of the root filesystem append="init=/bin/bb" # Launch the Gentoo static rescue shell # The next two lines are for dual booting with a Windows system. # In this example, Windows is hosted on /dev/sda6. other=/dev/sda6 label=windows
If a different partitioning scheme and/or kernel image is used, adjust accordingly.
If an initramfs is necessary, then change the configuration by referring to this initramfs file and telling the initramfs where the root device is located:
/etc/lilo.conf
Adding initramfs information to a boot entryimage=/boot/vmlinuz-3.16.5-gentoo label=gentoo read-only append="root=/dev/sda4" initrd=/boot/initramfs-genkernel-x86-3.16.5-gentoo
If additional options need to be passed to the kernel, use an append
statement. For instance, to add the video
statement to enable framebuffer:
/etc/lilo.conf
Adding video parameter to the boot optionsimage=/boot/vmlinuz-3.16.5-gentoo label=gentoo read-only root=/dev/sda4 append="video=uvesafb:mtrr,ywrap,1024x768-32@85"
Users that used genkernel should know that their kernels use the same boot options as is used for the installation CD. For instance, if SCSI device support needs to be enabled, add doscsi
as kernel option.
Now save the file and exit.
Install
To finish up, run the /sbin/lilo executable so LILO can apply the /etc/lilo.conf settings to the system (i.e. install itself on the disk). Keep in mind that /sbin/lilo must be executed each time a new kernel is installed or a change has been made to the lilo.conf file in order for the system to boot if the filename of the kernel has changed.
root #
/sbin/lilo
Alternative 2: efibootmgr
On UEFI based systems, the UEFI firmware on the system (in other words the primary bootloader), can be directly manipulated to look for UEFI boot entries. Such systems do not need to have additional (also known as secondary) bootloaders like GRUB2 in order to help boot the system. With that being said, the reason EFI-based bootloaders such as GRUB2 exist is to extend the functionality of UEFI systems during the boot process. Using efibootmgr is really for those who desire to take a minimalist (although more rigid) approach to booting their system; using GRUB2 (see above) is easier for the majority of users because it offers a flexible approach when booting UEFI systems.
Remember sys-boot/efibootmgr application is not a bootloader; it is a tool to interact with the UEFI firmware and update its settings, so that the Linux kernel that was previously installed can be booted with additional options (if necessary), or to allow multiple boot entries. This interaction is done through the EFI variables (hence the need for kernel support of EFI vars).
Be sure to read through the EFI stub kernel article before continuing. The kernel must have specific options enabled to be directly bootable by the system's UEFI firmware. It might be necessary to recompile the kernel. It is also a good idea to take a look at the efibootmgr article.
To reiterate, efibootmgr is not a requirement to boot an UEFI system. The Linux kernel itself can be booted immediately, and additional kernel command-line options can be built-in to the Linux kernel (there is a kernel configuration option called that allows the user to specify boot parameters as command-line options. Even an initramfs can be 'built-in' to the kernel.
Those that have decided to take this approach must install the software:
root #
emerge --ask sys-boot/efibootmgr
Then, create the /boot/efi/boot/ location, and then copy the kernel into this location, calling it bootx64.efi:
root #
mkdir -p /boot/efi/boot
root #
cp /boot/vmlinuz-* /boot/efi/boot/bootx64.efi
Next, tell the UEFI firmware that a boot entry called "Gentoo" is to be created, which has the freshly compiled EFI stub kernel:
root #
efibootmgr --create --disk /dev/sda --part 2 --label "Gentoo" --loader "\efi\boot\bootx64.efi"
If an initial RAM file system (initramfs) is used, add the proper boot option to it:
root #
efibootmgr -c -d /dev/sda -p 2 -L "Gentoo" -l "\efi\boot\bootx64.efi" initrd='\initramfs-genkernel-x86-3.16.5-gentoo'
The use of \ as directory separator is mandatory when using UEFI definitions.
With these changes done, when the system reboots, a boot entry called "Gentoo" will be available.
Alternative 3: Syslinux
Syslinux is yet another bootloader alternative for the x86 architecture. It supports MBR and, as of version 6.00, it supports EFI boot. PXE (network) boot and lesser-known options are also supported. Although Syslinux is a popular bootloader for many it is unsupported by the Handbook. Readers can find information on emerging and then installing this bootloader in the Syslinux article.
Neustart des Systems
Exit the chrooted environment and unmount all mounted partitions. Then type in that one magical command that initiates the final, true test: reboot.
root #
exit
cdimage ~#
cd
cdimage ~#
umount -l /mnt/gentoo/dev{/shm,/pts,}
cdimage ~#
umount -R /mnt/gentoo
cdimage ~#
reboot
Vergessen Sie nicht die bootfähige CD zu entfernen, andernfalls könnte die CD anstelle des neuen Gentoo Systems erneut gebootet werden.
Nach dem Neustart in die neu installierte Gentoo Umgebung stellen sie Ihre Arbeit mit Abschluss der Gentoo Installation fertig.
Benutzerverwaltung
Hinzufügen eines Benutzers für den täglichen Gebrauch
Arbeiten als root in einem Unix/Linux System ist gefährlich und sollte, wenn immer möglich, vermieden werden. Wir empfehlen daher nachdrücklich das Einrichten eines Benutzers für die täglichen Aufgaben.
Die Gruppen, denen ein Benutzer angehört, definieren, welche Aktivitäten der User ausführen kann. Die folgende Tabelle listet die wichtigsten Gruppen, die Sie vermutlich benutzen wollen:
Group | Description |
---|---|
audio | Be able to access the audio devices. |
cdrom | Be able to directly access optical devices. |
floppy | Be able to directly access floppy devices. |
games | Be able to play games. |
portage | Be able to access portage restricted resources. |
usb | Be able to access USB devices. |
video | Be able to access video capturing hardware and doing hardware acceleration. |
wheel | Be able to use su. |
For instance, to create a user called larry who is member of the wheel, users, and audio groups, log in as root first (only root can create users) and run useradd:
Login:
root
Password: (Ihr root-Passwort)
root #
useradd -m -G users,wheel,audio -s /bin/bash larry
root #
passwd larry
Password: (Enter the password for larry) Re-enter password: (Re-enter the password to verify)
If a user ever needs to perform some task as root, they can use su - to temporarily receive root privileges. Another way is to use the sudo package which is, if correctly configured, very secure.
Aufräumen der Festplatte
Entfernen der Tarballs
With the Gentoo installation finished and the system rebooted, if everything has gone well, we can now remove the downloaded stage3 tarball from the hard disk. Remember that they were downloaded to the / directory.
root #
rm /stage3-*.tar.bz2*
Wie geht es weiter?
Dokumentation
Gratulation! Sie haben jetzt ein funktionierendes Gentoo-System. Aber wie geht es nun weiter? Welche Möglichkeiten bieten sich? Gentoo bietet seinen Nutzern viele Optionen und daher auch viele dokumentierte (und weniger gut dokumentierte) Eigenschaften.
Definitely take a look at the next part of the Gentoo Handbook entitled Working with Gentoo which explains how to keep the software up to date, install additional software packages, details on USE flags, the OpenRC init system, etc.
Apart from the handbook, readers should also feel encouraged to explore other corners of the Gentoo wiki to find additional, community-provided documentation. The Gentoo wiki team also offers a Documentation topic overview which lists a selection of wiki articles by category. For instance, it refers to the localization guide to make a system feel more at home (particularly useful for users who speak English as a second language).
Gentoo Online
Everyone is of course always welcome on our Gentoo forums or on one of our Gentoo IRC channels.
We also have several mailing lists open to our users.
Enjoy Gentoo!
Warning: Display title "Gentoo Linux x86 Handbuch: Gentoo installieren" overrides earlier display title "Handbuch:X86/Komplett/Installation".