Gentoo installation in Kurzform
Transcription
Gentoo installation in Kurzform
Gentoo installation in Kurzform Vorwort Diese Installationsanleitung geht davon aus, dass bereits ein laufendes Linuxsystem auf Deinem Rechner installiert ist. Dabei ist es egal ob es ein SuSE, Ubuntu oder ein anderes System ist. Lediglich die Architektur von dem installierten und dem zu installierendem Gentoo müssen übereinstimmen. Also aus einem laufenden x86 System kann auch nur ein x86 Gentoo installiert werden. Das gleiche gilt für die x86_64 Architektur. Weiterhin wird davon ausgegangen das ein funktionierendes KabelNetzwerk besteht und das damit auf das Internet zugegriffen werden kann. Wirless funzt zwar aber dann nicht auf dem Gentoo System. Sollte die Installation z.B. von einem Ubuntu aus gemacht werden, so ist man nach dem ersten Start von Gentoo nicht in der Lage sich am Gentoo System anzumelden. Hier müsste man dann nach der Installation von Gentoo eine Live-CD nehmen und das Gentoo chrooten. Wie das geht findet Ihr am Ende des Howto’s. Bei der Installation wird ausserdem eine freie Festplatte oder eine freie Partion vorrausgesetzt. Wir nehmen in dieser Anleitung /dev/sda1 als root Partition und /dev/sda2 als /swap Partion an. So aber nun geht’s los. Das brauchst du alles zur Installation Das original Installationshandbuch für x86 findest du hier. http://www.gentoo.org/doc/de/handbook/handbook-x86.xml?full=1 Das original Installationshandbuch für x86_64 findest du hier. http://www.gentoo.org/doc/de/handbook/handbook-amd64.xml?full=1 Die aktuelle Gentoo „Minimal Installations CD“ für die x86 Architektur bekommst Du hier. http://mirrors.kernel.org/gentoo/releases/x86/autobuilds/current-iso/ Die aktuelle Gentoo „Minimal Installations CD“ für die x86_64 Architektur bekommst Du hier. http://mirrors.kernel.org/gentoo/releases/amd64/autobuilds/current-iso / Wichtig: Auf das original Installationshandbuch kann nicht verzichtet werden und wird zur weiteren Installation unbedingt benötigt! Diese Anleitung erhebt im übrigen nicht den Anspruch der Vollständigkeit. Installation Als erstes öffnen wir aus unserem laufenden Linuxsystem eine shell und holen uns mit su root Rechte. Haben wir Rootrechte geht es weiter mit der Partitionierung der Festplatte. fdisk /dev/sda n p 1 Entertaste drücken +30000M (entspricht 30 GB) a 1 Swap Partition erstellen n p 2 Entertaste drücken +1000M (entspricht 1 GB ) t 2 82 w Die Partitionen sollten nun angelegt worden sein. Wir haben nun eine root Partition und eine Swap Partition angelegt. Erstellen der Dateisysteme mke2fs -t ext4 /dev/sda1 mkswap /dev/sda2 swapon /dev/sda2 (Swap) (ext3) Mounten der Partition mkdir /mnt/gentoo mount /dev/sda1 /mnt/gentoo Downloaden und Installation der Gentoo Installationsdateien Gehe bitte auf http://distfiles.gentoo.org/releases und lade für Deine Architektur das aktuellste Autobuild Current-Stage3 herunter und kopiere es nach /mnt/gentoo. Entpacken des Stagearchives cd /mnt/gentoo tar xvjpf stage3-*.tar.bz2 Installation von Portage cd /mnt/gentoo wget http://distfiles.gentoo.org/releases/snapshots/current /portage-latest.tar.bz2 Entpacken von Portage tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr Konfiguration der Compiler-Optionen nano -w /mnt/gentoo/etc/portage/make.conf Der Inhalt der make.conf kann abweichend sein was die Architektur angeht. Man kann sich auch auf dieser Webseite genauere Details für seine Architektur holen. Ab der gcc Version 4.2.3 solte man für die cflags die Option march=native benutzen, denn dieses Flag liest die prozessorspezifischen Daten aus und erzeugt einen auf den Prozessor optimierten Code. Das Flag darf nicht genutzt werden wenn man DISTCC nutzen möchte. CFLAGS="-O2 -march=native -pipe" CHOST="i686-pc-linux-gnu" CXXFLAGS="${CFLAGS}" USE="X kde gnome usb unicode nls alsa arts dvd dvdr cdr qt qt3 qt4 gtk gtk2 cups nptl \ nptlonly dvdread hal imagemagick accessibility jpeg jpeg2 gif mp3 ogg mpeg png " LINGUAS="de" LANGUAGE="49" MAKEOPTS="-j2" Die Variable CHOST sollte NICHT manuell verändert und die Vorgabe die Gentoo macht unbedingt übernommen werden Für Athlon-Prozessoren würde ich folgende USE-Flags zusätzlich setzen USE="3dnow 3dnowext sse mmx mmxext" Für Pentium oder Celeron Prozessoren würde ich diese zusätzlich setzen USE="sse sse2 mmx" Nun müssen wir noch die dowloadmirror einrichten also die folgende Zeile einfach an das Ende der Datei /etc/make.conf anfügen GENTOO_MIRRORS="ftp://ftp.uni-erlangen.de/pub/mirrors/ gentoo ftp://ftp.join.uni-muenster.de/pub/linux/distributions /gentoo" Downloadmirror kann man ruhig mehrere auswählen! Jetzt noch den rsync Server in die /etc/make.conf eintragen SYNC="rsync://rsync.de.gentoo.org/gentoo-portage" Kopieren der DNS Informationen cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf Mounten der /proc und /dev Dateisysteme und betreten der chroot Umgebung Wichtiger Hinweis: Obwohl es möglich ist, Dateisysteme innerhalb der chroot-Umgebung zu mounten, wird dies nicht empfohlen. Da das Livesystem von mounts innerhalb der chroot-Umgebung nicht mitbekommt, werden Dateisysteme beim Herunterfahren auch nicht ausgehangen. Sollte ein manuelles Aushängen, also vergessen werden, kann dies zu Dateisystemfehlern und Datenverlust führen. mount -t proc none /mnt/gentoo/proc mount -o bind /dev /mnt/gentoo/dev chroot /mnt/gentoo /bin/bash env-update && source /etc/profile export PS1="(chroot) $PS1" Nun sind wir auf der neuen Gentoo Linux Umgebung! Portage-Tree updaten emerge --sync Locale festlegen Als nächstes die locale festlegen und in der Datei nano -w /etc/locale.gen eintragen. Folgendes habe ich eingetragen: en_US ISO-8859-1 en_US.UTF-8 UTF-8 de_DE ISO-8859-1 de_DE@euro ISO-8859-15 de_DE.UTF-8 UTF-8 Anschliessend den Befehl locale-gen ausführen. Empfehlung: Um das System später mit voller Deutscher Sprachunterstützung zu haben, sollte man in der Datei nano -w /etc/env.d/02locale folgende Einträge machen: Die Datei heisst nicht OHH Zwei locale sondern NULL Zwei locale. (Falls die Datei nicht vorhanden sein sollte, muss sie angelegt werden!) LANG="de_DE.UTF-8" GDM_LANG="de_DE.UTF-8" LC_COLLATE="C" Setzen der Zeitzone cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime Die Datei /etc/fstab anpassen nano /etc/fstab # /etc/fstab: static file system information. # # noatime turns off atimes for increased performance (atimes normally aren't # needed; notail increases performance of ReiserFS (at the expense of storage # efficiency). It's safe to drop the noatime options if you want and to # switch between notail / tail freely. # # The root filesystem should have a pass number of either 0 or 1. # All other filesystems should have a pass number of 0 or greater than 1. # # See the manpage fstab(5) for more information. # # <dump/pass> # NOTE: If your BOOT partition is ReiserFS, add the notail option to opts. /dev/sda1 / ext3 defaults 0 1 /dev/sda2 none swap sw 0 0 # DVD Laufwerke /dev/hda noauto,users,ro /mnt/dvdrw 0 0 iso9660 #Floppylaufwerk /dev/fd0 noauto,users,rw /mnt/floppy 0 0 auto # NOTE: The next line is critical for boot! proc /proc proc defaults 0 0 # glibc 2.2 and above expects tmpfs to be mounted at /dev/shm for # POSIX shared memory (shm_open, shm_unlink). # (tmpfs is a dynamically expandable/shrinkable ramdisk, and will # use almost no memory if not populated with files) shm /dev/shm tmpfs nodev,nosuid,noexec 0 0 Kernelquellen installieren Als nächstes installieren wir die Kernelquellen USE="-doc symlink" emerge gentoo-sources Benutzung des Genkernels emerge genkernel Ausführen des Genkernels (was gut bis zu einer Stunde dauern kann) genkernel all Hinweis: Solltest Du eine S-ATA Platte haben, musst Du die S-ATA Module fest in den Kernel einbauen. genkernel --menuconfig all und dort dann in Device Drivers ----> <M> Serial-ATA (prod) and parallel ATA (experimental) drivers aus dem M ein * machen (Leertaste Drücken) und anschliessend die Returntaste drücken und den entsprechenden S-ATA Treiber ebenfalls mit der Leertaste ein * verpassen. Dann die Kernelkonfiguration verlassen und der Kernel wird kompiliert. Nachdem der Kernel kompiliert wurde lassen wir uns die Kernelversionen Anzeigen (Diese bitte aufschreiben sie werden später benötigt!) ls /boot/kernel* /boot/initramfs* Eigenen Kernel verwenden Wir wechseln in unser Verzeichnis mit den Kernelsourcen cd /usr/src/linux und rufen nun mit make menuconfig das Kernel Konfigurationstool auf. Welche Einstellungen man vornimmt muss jeder selbst entscheiden und natürlich an die verbaute Hardware anpassen. Eventuell muss bei einigen noch das perl Paket installiert werden, da sonst der Kernel mit einer Error Meldung beim kompilieren abbricht. emerge -av perl Sobald die Einstellungen vorgenommen sind, wird der Kernel mit make && make modules_install dann kompiliert. Damit der neue Kernel auch verwendet werden kann, kopieren wir ihn noch in unser /boot Verzeichnis cp arch/x86_64/boot/bzImage /boot/kernel-3.10.17gentoo Ganz zum schluss muss man den Kernel – nachdem grub installiert wurde (wird weiter unten beschrieben) – dann noch in die Datei grub.conf eintragen, damit er dann auch beim nächsten Bootvorgang gestartet werden kann. Ein Eintrag in der /boot/grub/grub.conf könnte so aussehen: title Gentoo Linux 3.10.17 (/dev/sda1) root (hd0,0) kernel /boot/kernel-3.10.17-gentoo root=/dev/sda1 vga=794 Zeichensatz für die Konsole festlegen Zeichensatz für die Konsole in /etc/conf.d/consolefont festlegen nano /etc/conf.d/consolefont und dort den Eintrag CONSOLEFONT wie folgt ändern. consolefont="default8x16" Hostnamen setzen nano /etc/conf.d/hostname HOSTNAME="gentoo32" Konfiguration des Netzwerks nano -w /etc/conf.d/net Diese Zeilen einfügen dns_domain_eth0="heimnetzwerk" dns_servers_eth0="192.168.2.1" modules=( "dhcpcd" ) config_eth0="dhcp" dhcpcd_eth0="-I ''" dhcp_eth0="nodns nontp nonis" Hinweis: Der Nameserver 192.168.2.1 muss dann auf den Provider oder an den Router angepasst werden Beispiel für eine feste IP Adresse dns_domain_eth0="heimnetzwerk" dns_servers_eth0="192.168.2.1" config_eth0="192.168.2.100 netmask 255.255.255.0 brd 192.168.2.254" routes_eth0="default via 192.168.2.1" In unserem Beispiel wäre die IP 192.168.2.100 die feste IP Adresse. Das Netzwerk beim Systemstart starten cd /etc/init.d ln -s net.lo net.eth0 rc-update add net.eth0 default Damit auch alle Scripte Ordnungsgemäss starten, müssen in der Datei /etc/rc.conf noch ein paar Einstellungen vorgenommen werden. Wir öffnen die Datei mit: nano -w /etc/rc.conf und passen die Datei entsprechend an. rc_parallel="YES" rc_interactive="YES" rc_shell=/sbin/sulogin rc_logger="YES" unicode="YES" rc_sys="" rc_tty_number=12 Hinweis: Wer WLAN im Rechner verbaut hat kann bereits jetzt das Paket netwireless/wireless-tools installieren. emerge -av net-wireless/wireless-tools und nach dem ersten booten des Gentoosystems es mit iwconfig einrichten. Rootpasswort setzen Als nächstes setzen wir das Rootpasswort mit passwd Die Tastatur konfigurieren nano -w /etc/conf.d/keymaps # /etc/conf.d/keymaps # Use KEYMAP to specify the default console keymap. There is a complete tree # of keymaps in /usr/share/keymaps to choose from. KEYMAP="de-latin1-nodeadkeys" # Should we first load the 'windowkeys' console keymap? Most x86 users will # say "yes" here. Note that non-x86 users should leave it as "no". SET_WINDOWKEYS="no" # The maps to load for extended keyboards. will leave this as is. EXTENDED_KEYMAPS="" #EXTENDED_KEYMAPS="backspace keypad euro" Optionen für die Uhr setzten nano -w /etc/conf.d/hwclock und die Variable CLOCK setzen auf CLOCK="local" Most users Zusätzlich erstellen wir die Datei für die Zeitzone. nano /etc/timezone Dort fügen wir folgendes ein: Europe/Berlin Systemlogger installieren emerge syslog-ng emerge logrotate rc-update add syslog-ng boot dhcpcd installieren emerge dhcpcd und noch diese beiden Pakete installieren emerge -av portage-utils emerge -av gentoolkit udev Datei 80-net-name-slot.rules anlegen nano /etc/udev/rules.d/80-net-name-slot.rules und den folgenden Inhalt einfügen, welcher eigentlich keine Bedeutung hat. # # Udev 197 and above has implemented predictable network interface names # for hardware network interfaces. This new scheme does not affect # stacked network interfaces such as bonds, bridges or vlans. # # This file is here to prevent your interfaces from being renamed automatically, # because the new names will be drastically different from the eth*, wlan*, etc # names you are used to working with. # # To activate this function, move this file to a name that doesn't end in.rules, # or remove it then reboot your system. # # If you want to deactivate this function, install a udev rules file as # /etc/udev/rules.d/80-net-name-slot.rules then reboot your system. # # This functionality has not been tested with gentoo. In fact, we are aware that # things will break if you activate it. # # If you are not comfortable testing this, leave this file as is. We will # publish a news item when you can migrate. # # If you do want to activate and help us come up with a migration plan, feel # free to do so and report bugs. # Your bugs should block the following tracker: # https://bugs.gentoo.org/show_bug.cgi?id=450938 # # Before you activate this function, it is important that you fully understand # the following documentation: # # http://www.freedesktop.org/wiki/Software/systemd/Predi ctableNetworkInterfaceNames # # Also, be aware that you can get the attributes of your network interface that # would be used to name the interface in the new scheme by doing the following # with this version of udev running: # # udevadm test-builtin net_id /sys/class/net/ifname 2> /dev/null # # for example, on my system, I can find that eth0's new name would be enp1s5. # Leider wird die Datei nicht bei der Installation von udev angelegt und es wird z.B. die Netzwerkkarte nicht erkannt, wenn die Datei nicht vorhanden ist. Ab Udev 208 bis 216 muss folgendes eingegeben werden cd /etc/udev/rules.d/ && ln 80-net-name-slot.rules 80net-setup-link.rules Installieren und einrichten von grub (legacy) und grub.conf emerge --noreplace sys-boot/grub:0 Als nächstes starten wir die grub Shell und installieren grub im MBR (Master Boot Record) grub root (hd0,0) setup (hd0) quit Wenn Du grub hast neuschreiben lassen, dann wirst du beim jetzigen Stand dein anderes System nicht mehr starten können, da der Eintrag für Dein Linuxsystem nicht vorhanden ist. Als nächstes editieren wir die /boot/grub/grub.conf. nano -w /boot/grub/grub.conf default 0 timeout 10 splashimage=(hd0,0)/boot/grub/splash.xpm.gz title=Gentoo <Deine_Gentoo_Kernelversion> kernel (hd0,0)/boot/<Deine_Kernel_Version> root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sda1 udev vga=791 initrd (hd0,0)/boot/<Deine_initramfs_Version> <Deine_Kernel_Version> muss durch die Kernelversion ausgetauscht werden die du dir aufgeschrieben hast. <Deine_initramfs_Version> muss durch die initramfs Version ausgetauscht werden die du dir aufgeschrieben hast. Hinweis: Das Flag Der Wert Der Wert Der Wert Der Wert vga 794 792 788 785 muss eventuell auf Deine Auflösung eingestellt werden. steht für 1280×1024 steht für 1024×768 steht für 800×600 steht für 640×480 Alternative: Du kannst Deinem Linuxsystem aber auch den Gentoo Eintrag hinzufügen. Öffne dazu eine neue shell ohne die bereits geöffnete shell zu schliessen. su nano -w /boot/grub/menu.lst und füge am Ende der Datei folgende Zeilen hinzu. title=Gentoo <Deine_Gentoo_Kernelversion> kernel (hd0,0)/boot/<Deine_Kernel_Version> root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sda1 udev vga=791 initrd (hd0,0)/boot/<Deine_initramfs_Version> <Deine_Kernel_Version> muss durch die Kernelversion ausgetauscht werden die du dir aufgeschrieben hast. <Deine_initramfs_Version> muss durch die initramfs Version ausgetauscht werden die du dir aufgeschrieben hast. Hinweis: Das Flag Der Wert Der Wert Der Wert Der Wert vga 794 792 788 785 muss eventuell auf Deine Auflösung eingestellt werden. steht für 1280×1024 steht für 1024×768 steht für 800×600 steht für 640×480 !! Gebe in der shell in der du die ganze Zeit die Installation von Gentoo gemacht hast folgendes ein um die Partitionen zu unmounten. exit cd umount /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo Dein Gentoo System ist nun installiert. Allerdings ohne grafische Oberfläche und ohne x-server. Du kannst nun Dein System rebooten und solltest dein Gentoo wenn Du alles richtig gemacht hast booten können. Wenn Dein Gentoo System erfolgreich gebootet ist und du dich auch als Root einloggen kannst solltest Du als erstes diese drei Befehle ausführen emerge --sync emerge -avuND world revdep-rebuild Diese Befehle bringen Dein System auf den neuesten Stand und stellen eventuell fehlende Abhängigkeiten der bereits installierten Programme wieder her. Anschliessend legen wir dann noch einen User für den täglichen Gebrauch an. useradd -m -G users,wheel,audio,cdrom,floppy,usb,video -s /bin/bash dein_username passwd dein_username Und nun wünsche ich Euch viel Spass mit Gentoo und ich hoffe ich habe nichts vergessen. System chrooten und root Passwort setzen Der folgende Arbeitsschritt wird nur benötigt, wenn Du Dich nicht als root am Gentoosystem anmelden kannst. Download der x86 Minimal Installations CD ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/releases/x86/2008.0/in stallcd/install-x86-minimal-2008.0.iso Download der x86_64 Minimal Installations CD ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/releases/amd64/2008.0/ installcd/install-amd64-minimal-2008.0.iso Boote von einer Gentoo Minimal Installations CD und gebe folgendes ein: mount /dev/sda1 /mnt/gentoo mount -t proc none /mnt/gentoo/proc mount -o bind /dev /mnt/gentoo/dev chroot /mnt/gentoo /bin/bash env-update source /etc/profile export PS1="(chroot) $PS1" passwd und vergebe das root Passwort. Anschliessend folgendes eingeben. exit cd umount /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo reboot Dann die CD aus dem Laufwerk nehmen und Gentoo starten.