Gentoo Installation

Aus AmIHereWiki
Zur Navigation springen Zur Suche springen

Beginn einer Gentoo-Installation

32bit: Booten mit einem 32bit-Linux (Gentoo-Live-CD, Ubuntu, Knoppix, Puppy Linux, SuSE ...)
64bit: Booten mit einem 64bit-Linux (Sabayon), z.B. von USB-Stick

sudo su -
mkdir /mnt/gentoo/
mount /dev/sda7 /mnt/gentoo/ 
mount /dev/sda1 /mnt/gentoo/boot/ 
mount -t proc none /mnt/gentoo/proc
mount -o bind /dev /mnt/gentoo/dev
mount -o bind /dev/pts/ /mnt/gentoo/dev/pts
mount -o bind /sys /mnt/gentoo/sys
cp -v /etc/resolv.conf /mnt/gentoo/etc/
chroot /mnt/gentoo/ /bin/bash
etc-update && env-update && source /etc/profile

hdparm / sdparm Optimierung

hdparm -c3d1u1W1m16A1a254X71 /dev/hda
blockdev ... /dev/sda
cd /
wget URL/sstage3-i686*.tar.bz2 && tar xvjpf stage3-i686*.tar.bz2
wget URL/portage-latest.tar.bz2 && tar -xvjpf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr

Timezone anpassen

 ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime

Make Vorgaben anpassen (Beispiel), Strg+X Speichern+Exit, Strg+K/Strg+U (Zeile in Zwischenablage "entfernen"/aus ZA einfügen)

nano /etc/make.conf
...

Delta-Downloads (nur Unterschiede/Patches laden und daraus aktuelles Ebuild erzeugen, spart Downloadzeit)

emerge -v getdelta xdelta

In /etc/make.conf muß diese Zeile hinzu:

FETCHCOMMAND="/usr/bin/getdelta.sh \"\${URI}\" \"\${FILE}\""

Zur Beschleunigung bei erneutem Kompilieren (ccache):

emerge -v ccache
chown -cR portage:portage /var/tmp/ccache

siehe ccache-Umgebungsvariablen in etc-common

glibc locales, reduzieren auf die allernotwendigsten in /etc/locale.gen

grub installieren, Kernel compilieren und nach /boot/ kopieren, /boot/grub/menu.lst und /etc/fstab anpassen

Empfohlene Packages

eix esearch gentoolkit htop mc portage-utils

Fortsetzung, auch einer vormals begonnenen Gentoo-Installation

etc-update && env-update && source /etc/profile

Portage-Packetinformationen synchronisieren (mit Infos zu den Neuerungen, eupdatedb und update-eix)

/usr/local/bin/update-gentoo

alternativ

emerge --sync -v

optional für emerge --sync (nur tageweise):

emerge -v emerge-delta-webrsync && emerge-delta-webrsync

Portage Packetinstallierer aktualisieren

emerge -1v portage

Nach einem Portage-Sync (siehe /usr/local/bin/update-gentoo), neue Pakete auflisten, downloaden und einspielen:

emerge -DNuvp world && emerge -DNuvf world && emerge -DNuv world

Nach Upgrade einer gcc/kernel-Version, bzw. nach Umstellung von make.conf Einstellungen, komplett das System neu übersetzen:

emerge -ev world | tee emerge_ev.log

Langwierig dauert eine Neuübersetzung mit FEATURES="test..." in der make.conf, hilft aber instabile Optimierungen auszufiltern.

Speziell für gcc-Upgrades (ohne -p für reale Umsetzung):

ccache -Cczs
gcc-config -l
gcc-config NEUE-GCC-NUMMER
fixpackages
emerge --prune -p
emerge --depclean -p
revdep-rebuild -p

Den gewünschten Linux-Kernel installieren:

emerge -v gentoo-sources

Cflags

touch /tmp/null.c; gcc -c -march=native -v /tmp/null.c 2>&1 | grep march | egrep --color -- '\s-m\S+|--param \S+'

Filesystem

  • ssd fs 1, ssd fs 2
  • hints: notail (xfs, reiserfs); discard (ssd); noatime; nodiratime; data=writeback,commit=60,nobarrier; cfq/noop scheduler at boottime (rc.local)
# echo deadline > /sys/block/sda/queue/scheduler
# echo noop > /sys/block/sdb/queue/scheduler
# echo cfq > /sys/block/sdc/queue/scheduler

Tips

  • Portage world Datei -> /var/lib/portage/world
  • Per SSH screen nutzen, jederzeit weiterlaufende Kompilierung trotz Verbindungstrennung möglich
  • Swiftweasel als optimierter und vollkompatibler Firefox-Ersatz
  • Multi-Core/Hyperthreading Systeme mit Dienst "irqbalance" nutzen (bessere Interrupt-Verteilung) und ab Kernel 2.6.35 Netzwerk-SMP-Balancing
  • Stromsparen mittels "powertop", Debug-Messages für Prüfung im Kernel aktivieren, später rausnehmen, den Anweisungen von Powertop folgen
  • SSD und TRIM Option -> 1 2 - noatime,nodiratime,discard (xfs4)
  • SSD und noop-Scheduler (per IO Gerät einstellbar -> "/sys/class/block/sda/queue/scheduler" Scheduler
  • "find / -newer /etc/mtab" (since last mount)
  • maximize performance from Arch Linux
  • sshfs debian and sshfs ubuntu
  • SSH tips and tricks
  • OpenSSL certificate tips (common used commands)
  • Tar tricks, moving folders without archive over network, faster as scp...
  • Samba-Wiki ( Windows 7, Samba, SMB optimized )