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.