Alternative Installationsmethoden
- Verify & validate these methods
- A few more details and references would be helpful
- Better wording
Diese Anleitung ist als Quelle für alternative Gentoo-Installationsmethoden gedacht, für jene mit speziellen Anforderungen, z.B. wenn keine CD-ROM verfügbar ist oder der Computer nicht von CDs booten kann.
Wenn die Standard-Installationsmethode Boote-von-der-CD nicht funktioniert (oder unmöglich zu benutzen ist, oder einfach nicht erwünscht ist), kann hier Hilfe gefunden werden. Diese Anleitung stellt eine Sammlung von alternativen Gentoo Linux-Installationsmethoden bereit für diejenigen welche sie benötigen. Oder diese dient, wenn bevorzugt, als Platz für schrullige Installationswege. Wenn es einen Installationsweg gibt, der als nützlich befunden wurde, oder der Leser einen amüsierenden Weg entwickelt hat Gentoo Linux zu installieren, bitte nicht zögern hier etwas zu schreiben, in diesem Artikel.
Installation von Non-Gentoo LiveCDs aus
Die Gentoo-Entwickler können keinen Support anbieten wenn etwas mit einer non-Gentoo LiveCD fehl schlägt, da es nicht möglich ist, jede Eigenart jeder LiveCD „da draußen“ zu dokumentieren oder ihre Probleme zu beheben. Nur die Gentoo LiveCDs sind offiziell unterstützt. Bitte die Gentoo Forums für Community-Hilfe bei Problemen mit alternativen Installationsmedien aufsuchen.
Benutzer können andere LiveCDs neben den von Gentoo bereitgestellten LiveCDs booten. Unabhängig davon stellen diese LiveCDs eine funktionierende Umgebung zum Benutzen während dem Kompilieren und Installieren von Gentoo. Die hier bereitgestellten Instruktionen sollten im Prinzip mit jeder anderen LiveCD funktionieren.
Es gibt zu viele LiveCDs um alle aufzulisten, aber eine Option ist Knoppix auszuprobieren. Es bietet einen kompletten graphischen Desktop, mit Büro-Applikationen, Web-Browsern und Spielen zur Beschäftigung. Knoppix ist nur für x86-Benutzer verfügbar, demnach wird den Anforderungen des Nutzers gemäß eine andere LiveCD oder Methode benötigt sein.
Es sei gewarnt dass alles was während dem Warten auf die Installation des Gentoo-Systems im /home-Verzeichnis gespeichert wurde nicht mehr beim Neustarten in Gentoo verfügbar sein wird. Wichtige Dateien sind am besten auf der Festplatte oder einem anderen Computer zu sichern!
Von der LiveCD booten, dann ein Terminal öffnen und den Befehl su - ausführen damit das Passwort geändert werden kann. Dies erlaubt das Root-Passwort für die CD zu setzen. Der sshd-Daemon kann nun konfiguriert werden, sollte eine Remote-Anmeldung benötigt sein. Als nächstes muss der /mnt/gentoo-Mountpunkt erstellt werden.
root #
mkdir /mnt/gentoo
Ab diesem Punkt kann die Standard-Installations-Dokumentation befolgt werden, unter Vorbereiten der Festplatte(n). Wenn nach dem Mounten des /proc-Dateisystems gefragt wird, stattdessen folgenden Befehl benutzen :
root #
mount -o bind /proc /mnt/gentoo/proc
Beim Entpacken des stage tarball in Stage Tarball entpacken entpacken, stellen Sie sicher, dass Sie die folgenden tar Befehlsoptionen verwenden, um sicherzustellen, dass die richtigen Gruppen-IDs auf dem entpackten stage durchgesetzt werden:
root #
tar --numeric-owner --xattrs -xvJpf stage3-*.tar.xz -C /mnt/gentoo
Wenn Ubuntu genutzt wird, ist zu beachten dass /dev/shm ein symbolischer Link zu /run/shm ist. Es muss bind-gemountet sein oder ein tmpfs-Mountpunkt muss an dieser Stelle (innerhalb des chroot-Pfades) gesetzt werden. Um diese Stelle zu bind-mounten, folgenden Befehl (vor dem Chrooten) benutzen :
Sobald es möglich ist in die entpackte Stage zu chrooten, siehe Installation des Gentoo Basissystems, muss eine andere chroot-Kommandosequenz benutzt werden. Dies ist dafür um sicherzustellen dass die Umgebungsvariablen richtig gesetzt sind.
Manche LiveCDs benutzen ein seltsames Environment-Setup, deshalb die env -i Option um es auf einen vernünftigen Zustand zu setzen.
root #
chroot /mnt/gentoo /bin/env -i TERM=$TERM /bin/bash
root #
env-update
root #
source /etc/profile
root #
export PS1="(chroot) $PS1"
Zuletzt ist es wichtig zu wissen dass manche Portage FEATURES nicht mit der LiveCD funktionieren. Hingewiesen sei vor allem auf die userpriv
und usersandbox
Werte. Sollten Fehler auftauchen, kann die Deaktivierung mancher oder aller optionalen FEATURES die Lösung sein.
Festplattenlose Installation mittels PXE und dem Kernel/initrd/squashfs von der LiveCD
Diese Methode ist einfacher zu konfigurieren als PXE-Boot basierend auf iSCSI oder NFS. Mehrere Maschinen können von demselben Image-Set verteilt via TFTP booten und leicht darauf erweitert werden, über HTTP oder andere Protokolle zu funktionieren.
Eine Möglichkeit, TFTP und DHCP zu zentralisieren, ist die Verwendung eines Routers, der eine quelloffene Firmware wie LEDE, den Nachfolger von OpenWRT, unterstützt. Das Online-Bringen der Firmware kann jedoch recht aufwändig sein.
Manche anderen Distributionen, Fedora inklusive, vertreiben Images zum Erstellen von Live oder Installations-CDs. Bei Gentoo ist dies nicht der Fall. Stattdessen müssen Nutzer
root #
emerge --ask --oneshot app-cdr/cdrtools
mkdir -p /tftpboot/gentoo/
cd /tftpboot/gentoo/
isoname=/tftpboot/ISO-IMAGES/install-amd64-minimal-20210725T170534Z.iso
isoinfo -R -i ${isoname} -X -find -path /boot/gentoo && mv boot/gentoo kernel && rmdir boot
isoinfo -R -i ${isoname} -X -find -path /image.squashfs
# combine initrd + squashfs
(isoinfo -R -i ${isoname} -x /boot/gentoo.igz; (echo image.squashfs | cpio -H newc -o)) > network.igz
rm image.squashfs
ls -lhF kernel network.igz
These instructions may be sufficient for more experienced users. See below for more directions, depending on the PXE flavor in use. There are different PXE boot-codes, but all of them require a kernel and eventually a ramdisk.
Please take a look at PXE page for details on the alternatives, then come back here.
TFTP
Dies wird in Verbindung mit einem DHCP-Server für die meisten PCs benötigt, die mit PXE-Boot ausgestattet sind. Beachten Sie jedoch, dass Sie iPXE zum Booten ohne TFTP- oder DHCP-Server verwenden können! Unter ipxe.org finden Sie Informationen über das Einbinden von Skripten, Chainloading und manuelles Booten. Es gibt immer noch Vorteile des TFTP-Boots, wie z.B. die Unterstützung einer großen Anzahl von Geräten, also lassen Sie uns TFTP bedienen!
Die net-ftp/tftp-hpa installieren, sicherstellen dass es den Pfad /tftproot bereitstellt und es starten.
Der TFTP-Bootdienst ist bereit, nun ist der nächste Schritt einen DHCP-Dienst zu konfigurieren.
DHCP
Einen DHCP-Server auf derselben Maschine aufzusetzen ist möglich - es ist nur sicherzustellen, dass die zu bootenden Maschinen mit ihr verbunden sind. Oder einfach die Konfiguration eines existierenden Routers anpassen.
Eine Beispielkonfiguration für einen OpenWRT DHCP-Dienst folgt:
config boot linux
option filename boot/grub/i386-pc/core.0
option servername boot
option serveraddress 84.246.161.86
Ab hier ändern sich die Anweisungen je nach PXE-Variante (z.B. GRUB, iPXE).
SYSLINUX
label gentoo install (squashfs/http)
kernel gentoo/kernel
initrd gentoo/network.igz
append root=/dev/ram0 init=/linuxrc dokeymap looptype=squashfs loop=/image.squashfs cdroot net.ifnames=0
GRUB
menuentry "gentoo install" {
linux /gentoo/kernel root=/dev/ram0 init=/linuxrc dokeymap looptype=squashfs loop=/image.squashfs cdroot net.ifnames=0
initrd /gentoo/network.igz
iPXE
#!ipxe
menu PXE
item --gap LAN
item gentoo gentoo install (squashfs/http)
:gentoo
kernel kernel root=/dev/ram0 init=/linuxrc dokeymap looptype=squashfs loop=/image.squashfs cdroot net.ifnames=0 initrd=network.igz
initrd network.igz
boot
Disklose Installation mittels PXE Boot und NFS
Anforderungen
PXE (Preboot eXecution Environment) ist eine Methode um Computer über ein PXE-fähiges Netzwerkinterface zu booten (mit einem PXE-unterstützenden BIOS). Sollte das System ein Starten vom Netzwerkinterface oder BIOS nicht unterstützen, kann PXE auch als Bootmethode von Blockgeräten (wie CDs oder USB-Sticks) genutzt werden. In diesen Fällen kann eine minimale Boot-Umgebung eine PXE-unterstützende Netzwerkkarte nachahmen (siehe Etherboot/gPXE).
Server Grundsetup
Verzeichnisse erstellen : Das erste was zu tun ist, ist die Verzeichnisse zu erstellen wo das disklose System gespeichert wird. Das Verzeichnis /diskless erstellen welches ein Verzeichnis für jeden disklosen Klienten beheimatet. Für den Rest dieses Howto's wird der Klient an welchem gearbeitet wird, 'eta' genannt.
root #
mkdir -p /diskless/eta
DHCP und TFTP-Setup : Der Klient erhält Boot-Informationen via DHCP und lädt alle benötigten Dateien mit TFTP runter.
Für dhcpd, einfach emerge dhcp (oder einen anderen DHCP-Server) ausführen. Es ist sicherzustellen dass das richtige Interface in /etc/conf.d/dhcpd ausgewählt und es richtig konfiguriert ist. Dann folgendes zu /etc/conf.d/dhcpd hinzufügen :
Dies stellt hier, pxegrub, eine statische IP-Adresse für den Klienten und den Pfad eines PXE-Boot-Images bereit. Die MAC-Adresse der Ethernet-Karte im Beispiel sollte durch die richtige MAC-Adresse ersetzt werden, ebenso das Verzeichnis wo die Klienten-Dateien gespeichert werden.
option option-150 code 150 = text ;
ddns-update-style none ;
host eta {
hardware ethernet 00:00:00:00:00:00;
fixed-address ip.add.re.ss;
option option-150 "/eta/boot/grub.lst";
filename "/eta/boot/pxegrub";
}
Als nächstes das Interface in /etc/conf.d/net konfigurieren damit es nicht beim Booten geleert wird. Siehe /usr/share/doc/openrc-*/net.example.bz2 für mehr Informationen.
config_eth0="noop"
Für TFTP, net-ftp/tftp-hpa emergen. In /etc/conf.d/in.tftpd das folgende einfügen :
INTFTPD_PATH="/diskless"
INTFTPD_USER="nobody"
INTFTPD_OPTS="-u ${INTFTPD_USER} -l -vvvvvv -p -c -s ${INTFTPD_PATH}"
Emergen Sie GRUB:
root #
emerge --ask sys-boot/grub
Sobald GRUB kompiliert ist, das Boot-Verzeichnis des disklosen Klienten erstellen :
root #
grub2-mknetdir --net-directory=/diskless/eta
Der usrprüngliche Weg war das PXE-Image zum disklosen Klienten zu kopieren, aber dieser Pfad existiert nicht mehr.
root #
mkdir /diskless/eta/boot
root #
cp /usr/lib/grub/pxegrub /diskless/eta/boot/pxegrub
Dann seine grub.lst-Konfigurationsdatei editieren.
root #
nano -w /diskless/eta/boot/grub.lst
default 0
timeout 30
title=Diskless Gentoo
root (nd)
kernel /eta/bzImage ip=dhcp root=/dev/nfs nfsroot=ip.add.re.ss:/diskless/eta
# Für die nfsroot-Option ist die IP-Adresse diejenige des Servers und das Verzeichnis jenes wo die Dateien für den disklosen Klienten (auf dem Server) gespeichert sind.
NFS ist recht leicht zu konfigurieren. Das einzige was zu tun ist, ist eine Zeile zur /etc/exports-Konfigurationsdatei hinzuzufügen :
/diskless/eta eta(rw,sync,no_root_squash)
Eine wichtige Sache die nun zu tun ist, ist die /etc/hosts-Datei zu modifizieren um sich den Anforderungen anzupassen.
127.0.0.1 localhost
192.168.1.10 eta.example.com eta
192.168.1.20 sigma.example.com sigma
Das System auf dem Server erstellen
Ein nächster Schritt ist den Server mit einer Gentoo Installations-CD zu rebooten (obwohl erfahrene Administratoren auch ohne sie fortfahren können sofern sie sich ausreichend gut in Gentoo Installationen auskennen). Danach ist der Standard-Installationsprozedur im Gentoo Handbuch zu folgen ABER mit dem folgenden Unterschied : wenn die Dateisysteme gemountet werden, den nächsten Schritt ausführen (wobei sdaX die Partition ist wo das /diskless-Verzeichnis erstellt wurde).
root #
mount /dev/sdaX /mnt/gentoo
Andere Partitionen zu mounten wird nicht benötigt da alle Dateien im /diskless/eta-Verzeichnis liegen.
Dieses Beispiel nutzt einen stage3-Tarball. /proc in das Verzeichnis des disklosen Klienten mounten und in dieses chrooten um mit der Installation fortzufahren. Dann dem Installations-Handbuch bis zur Kernel-Konfiguration folgen.
Vorsicht mit dem Extrahieren des Stage-Tarballs zu seinem Ziel, um nicht über eine existierende Installation zu extrahieren.
root #
cd /mnt/gentoo/diskless/eta/
root #
tar -xvjpf /mnt/cdrom/gentoo/stage3-*.tar.bz2
root #
mount -t proc /proc /mnt/gentoo/diskless/eta/proc
root #
cp /etc/resolv.conf /mnt/gentoo/diskless/eta/etc/resolv.conf
root #
chroot /mnt/gentoo/diskless/eta/ /bin/bash
root #
env-update
root #
source /etc/profile
Beim make menuconfig der Kernelkonfiguration die folgenden Optionen mit den anderen im Installationshandbuch empfohlenen nicht vergessen.
- The network card device support
(In the kernel, *not* as a module!)
-*- Networking support --->
Networking options --->
[*] TCP/IP networking
[*] IP: kernel level autoconfiguration
[*] IP: DHCP support
[*] IP: BOOTP support
File systems --->
[*] Network File Systems --->
<*> NFS file system support
[*] Provide NFSv3 client support
[*] Root file system on NFS
Den Kernel im gechrooteten / (nicht in /boot) den vorhergehend definierten pxegrub Einstellungen folgend, speichern. Als nächstes /etc/fstab des disklosen Klienten konfigurieren.
'"`UNIQ--pre-0000001B-QINU`"'
Um nun den Klienten daran zu hindern einen Dateisystemcheck auszuführen :
root #
touch /fastboot
root #
echo "touch /fastboot" >> /etc/conf.d/local.start
net-fs/nfs-utils installieren da der Klient sehr stark davon abhängen wird :
root #
emerge --ask net-fs/nfs-utils
Keinen anderen Bootloader installieren da bereits einer vorhanden ist - pxegrub. Ohne weiteres die Installation abschließen und den Server neustarten. Die Services, welche zum Booten des neuen Klienten benötigt werden, starten : DHCP, TFTPD, und NFS.
root #
service dhcp start
root #
service in.tftpd start
root #
service nfs start
Den neuen Klienten booten
Damit der neue Klient korrekt booten kann, muss das BIOS und die Netzwerkkarte als erste Bootmethode konfiguriert sein - vor der CD-ROM oder Diskette. Bei Fragen dazu die Hardware-Handbücher oder die Herstellerwebseite konsultieren. Die Netzwerkkarte sollte eine IP mittels DHCP erhalten und das GRUB PXE Abbild mittels TFTP herunterladen. Dann sollte ein nettes schwarz-weißes GRUB-Bootmenü erscheinen in welchem Benutzer den zu bootenden Kernel auswählen und die Return-Taste (Enter) drücken können. Wenn alles in Ordnung ist sollte der Kernel booten, das Wurzelverzeichnis mittels NFS einhängen und eine Login-Zeile anzeigen.
Gentoo von einer bestehenden Linux-Distribution installieren
The only fully guaranteed method for installing Gentoo is with the Minimal Install CD. That said, installing from another, recent, Linux environment will usually work just as well. Support will often still be forthcoming using this method, but be ready to revert to the Minimal Install CD, if needed. Of course, in case of issues with other distributions, users will be refered to other channels for help.
Anforderungen
Um Gentoo von einer existierenden Linux-Distribution zu installieren braucht sie das chroot-Kommando, und eine Kopie der Gentoo-Installation oder des ISOs, welche/s installiert werden soll. Eine Netzwerkverbindung ist höchst empfehlenswert da die Installation sonst nur mit den Dateien im Installationsmedium arbeiten kann. Übrigens, ein Tarball ist nur eine Datei die auf .tbz oder .tar.gz endet. Los geht's !
Übersicht
Zuerst Gentoo eine Partition durch Ändern der Größe einer bestehenden Linux-Partition zuweisen, die Partition einhängen, den Tarball auf die jene Partition entpacken, in das Pseudo-System chrooten und mit dem Bauen anfangen. Sobald der Bootstrap-Prozess fertig ist, einige Konfigurationen am System vornehmen damit es bootet, dann neustarten und Gentoo benutzen.
Wie für Gentoo Platz schaffen ?
Die Wurzelpartition ist das unter / eingehängte Dateisystem. Das erste Beispiel zeigt die Ausgabe von mount auf einem System. Das zweite Beispiel nutzt df (disk free) um zu sehen wie viel Platz vorhanden ist und wie die Größe davon geändert wird. Die Größe der Wurzelpartition zu ändern ist nicht erforderlich ! Alles andere das vom Partitionerer unterstützt wird, kann geändert werden, mehr dazu aber später.
root #
mount
/dev/sdb2 on / type ext3 (rw) none on /proc type proc (rw) none on /dev/pts type devpts (rw,gid=5,mode=620) none on /dev/shm type tmpfs (rw,nodev,nosuid,noexec)
root #
df -h
Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf /dev/sdb2 4.0G 1.9G 2.4G 82% / none 38M 0 38M 0% /dev/shm
Wie zu sehen ist, sind auf der Partition, die als / mit Namen /dev/sdb2 eingehängt ist, 2.4 GB frei. In diesem Fall wurde entschieden, die Größe zu ändern um 400 MB Platz frei zu lassen, um somit 2 GB für Gentoo zu allozieren. Nicht schlecht, es könnte einiges installiert haben. 1 GB wird dennoch als genug für die meisten Benutzer angenommen. Partitionieren wir dies nun !
Parted zur Größenänderung der Partition verwenden
sys-block/parted ist äußert nützlich für die Größenänderung von Partitionen. Es ist auf der Minimal-Installation-CD enthalten.
Es gibt andere Tools für das Ändern von Partitionsgrößen, aber eine ausführliche Beschreibung dieser liegt außerhalb des Rahmens dieser Anleitung.
Schauen Sie auf dieser Seite nach, welche Art von Dateisystem verkleinert werden soll und ob parted das kann. Wenn nicht, müssen vielleicht einige Partitionen zerstört werden, um Platz für Gentoo zu schaffen. Fahren Sie mit dem Herunterladen der Software fort und installieren Sie sie. Im nächsten Schritt tritt ein Problem auf: Die Linux-Root-Partition muss verkleinert werden, daher muss ein Bootmedium mit einem minimalen Linux-System gebootet werden, um die Größe von / zu ändern. Wenn die Partition ausgehängt werden kann, während sie noch unter Linux läuft, sind die folgenden Schritte nicht erforderlich. Installieren Sie einfach sys-block/parted und führen Sie es auf einer ausgewählten ausgehängten Partition aus, um die Größe zu ändern. Hier sehen Sie, wie es auf diesem System gemacht wurde.
Sicher gehen dass die für das Partitionieren erforderlichen Operationen von parted unterstützt werden !
Angemerkt sei, dass Linux ein Synonym für „Es gibt mehr als einen Weg es zu tun“ ist. Das Ziel ist es, parted auf einer nicht eingehängten Partition zu nutzen damit es seine Arbeit tun kann. Dieser Schritt könnte an sich nicht als zu tun erforderlich sein: Es könnte nur nötig sein, das Dateisystem auszuhängen um es in der Linux-Sitzung zu repartitionieren und parted darauf laufen zu lassen.
Es ist Zeit, neu zu starten und die Größe der Partition zu ändern. Tun Sie dies nur, nachdem Sie einen kurzen Blick in die parted-Dokumentation auf der GNU-Website geworfen haben. Die Größenänderung kann bei großen Festplatten lange dauern, seien Sie geduldig. Starten Sie das System mit der Minimal-Installation-CD neu. Starten Sie parted, um die Größe der Partition zu ändern. Sobald dieser langwierige Prozess abgeschlossen ist, fahren Sie mit der Installation von Gentoo fort. Starten Sie jetzt wieder das alte Linux-System. Das Laufwerk, auf dem Sie arbeiten müssen, ist das Laufwerk, das die Partition enthält, deren Größe geändert werden soll. Wenn die zu verkleinernde Partition zum Beispiel /dev/sda3 ist, ist das Laufwerk /dev/sda.
root #
parted
(parted)
print
Disk geometry for /dev/sdb: 0.000-9787.148 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 2953.125 primary ntfs 3 2953.125 3133.265 primary linux-swap 2 3133.266 5633.085 primary ext3 4 5633.086 9787.148 extended 5 5633.117 6633.210 logical 6 6633.242 9787.148 logical ext3
(parted)
help resizepart
resizepart NUMBER END resize partition NUMBER NUMBER ist die von Linux verwendete Partitionsnummer. Auf MS-DOS-Plattenlabels sind die primären Partitionen von 1 bis 4 nummeriert, logische Partitionen von 5 an. END ist die Position auf der Festplatte, z.B. 4GB oder 10%. Negative Werte zählen ab dem Ende der Festplatte. Zum Beispiel gibt -1s genau den letzten Sektor an.
(parted)
resizepart 2 3133.266 4000.000
Geduld! Der Computer arbeitet ! Zum Prüfen der Festplattenaktivität auf die Festplatten-LED auf dem Gehäuse schauen. Dies sollte zwischen 2 und 30 Minuten dauern.
Sobald die Größenänderung fertig ist, wie beschrieben zurück in das alte Linux booten. Dann zu Gentoo Handbuch: Vorbereiten der Festplatte(n) gehen und den Anweisungen folgen.
Chrooten
Wenn Sie chrooten, verwenden Sie den folgenden Befehl, um die Umgebung zu flushen:
root #
env -i HOME=$HOME TERM=$TERM chroot /mnt/gentoo /bin/bash
root #
/usr/sbin/env-update
root #
source /etc/profile
Der Rest der Anleitung ist die gleiche wie im Gentoo Handbuch. Viel Spaß!
Siehe auch
- Installation — an overview of the principles and practices of installing Gentoo on a running system.
- Install Gentoo on a bootable USB stick
This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Gerald Normandin Jr., Travis Tilley, Oleg Raisky, Alex Garbutt, Alexandre Georges, Magnus Backanda, Faust A. Tanasescu, Daniel Ahlberg, Ken Nowack, Tiemo Kieft, Benny Chuang, Jonathan Smith, and
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.