Grundinstallation

Von CD mit Installer

LiveCD booten und alles installieren außer OpenOffice und Gnome.

Mit Stage3 Tarball

Siehe http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=1.

Cloning eines existierenden Rechners

Folgende Dateien überprüfen/anpassen:

  • /etc/fstab
  • /etc/conf.d/net
  • /etc/hosts
  • /etc/conf.d/hostname
  • /boot/grub/grub.conf
  • /etc/conf.d/rc
  • /etc/X11/xorg.conf (Auflösung, BusID)
  • /etc/make.conf
  • /etc/ntp.conf
  • /etc/conf.d/ntp-client

Dann:

Hostname setzen

Wenn der Hostname nicht stimmt, dann /etc/conf.d/hostname ändern:

HOSTNAME="<Name>"

Dann:

hostname <Name>

Domäne setzen

Die Domäne wird entweder (bei Verwendung von DHCP) durch den DHCP-Server gesetzt oder in /etc/hosts folgendermaßen:

127.0.0.1       <Rechnername>.<Domäne> <Rechnername> localhost

Die Reihenfolge ist hier wichtig!

Netzwerk

/etc/conf.d/net::

config_eth0=( "192.168.0.6 netmask 255.255.255.0 broadcast 192.168.0.255" )
routes_eth0=( "default via 192.168.0.1" )
dns_domain="localdomain"
dns_servers="192.168.0.1"

Dann:

/etc/init.d/net.eth0 restart

Gewünschte USE-Flags setzen

Siehe USE-Flags.

Compiler-Flags setzen

Quelle: http://netslaughters.de/index.php/?p=52

/etc/make.conf:

CFLAGS="-march=i686 -Os -pipe -fomit-frame-pointer -fno-ident"
CXXFLAGS="${CFLAGS} -fvisibility-inlines-hidden"
LDFLAGS="-Wl,-O1"

Bei -march sollte man bei Pentium-M i386 oder besser pentium-m setzen.

Regionale Einstellungen

Quelle: http://www.gentoo.org/doc/en/guide-localization.xml und http://de.gentoo-wiki.com/Deutsche_Lokalisierung

glibc Locales generieren

/etc/locale.gen:

de_DE@euro ISO-8859-15
de_DE.UTF-8 UTF-8
de_DE ISO-8859-1
en_US ISO-8859-1
en_US.UTF-8 UTF-8

Dann:

locale-gen

Deutsche UTF-8 Locale setzen

/etc/env.d/02locale:

LANG="de_DE.UTF-8"
LC_ALL="de_DE.UTF-8"
GDM_LANG="de_DE.UTF-8"

Dann:

env-update
source /etc/profile

Kontrolle:

locale

Dann X-Server neu starten.

Verfügbare Sprachen definieren

/etc/make.conf:

LINGUAS="de en"

Zeitzone setzen

/etc/conf.d/clock:

TIMEZONE="Europe/Berlin"

Dann:

emerge --config timezone-data

Hardwareclock

Wenn beim Shutdown die Hardwareclock neu gesetzt werden soll, dann muss in /etc/conf.d/clock gesetzt werden:.

CLOCK_SYSTOHC="yes"

Console Keymap

/etc/conf.d/keymaps:

KEYMAP="de-latin1-nodeadkeys"

X Keymap

/etc/X11/xorg.conf:

Section "InputDevice"
    Identifier  "Keyboard1"
    ...
    Option "XkbLayout" "de"
    Option "XkbVariant" "nodeadkeys"

Compile-Cache aktivieren

Quelle: http://de.gentoo-wiki.com/Emerge_beschleunigen#Ccache

emerge -av ccache

etc/make.conf:

FEATURES="ccache"
CCACHE_SIZE="2G"

Dann:

cd /var/tmp
mkdir ccache
chown portage:portage ccache
chmod 775 ccache
echo "CCACHE_DIR=\"/var/tmp/ccache\"" >> /etc/env.d/99local
env-update
source /etc/profile

C-Compiler mit Optimierung neu installieren

emerge glibc binutils gcc
source /etc/profile
emerge glibc binutils gcc
source /etc/profile

System aktualisieren

Repository

emerge --sync

Portage

emerge --update portage

Kernel

Siehe Kernel upgraden.

gentoolkit installieren

emerge gentoolkit

Alter C++ Compiler für ältere Pakete

emerge -1 libstdc++-v3

Rest

emerge --update --newuse --deep world
etc-update
revdep-rebuild

xdm installieren

emerge xdm

Video/Xorg

Am Beispiel NVidia.

Grafikkarte und Eingabegeräte in /etc/make.conf konfigurieren:

VIDEO_CARDS="nvidia"
INPUT_DEVICES="keyboard mouse joystick"

Von dieser Einstellung abhängige Pakete neu compilieren. Xorg wird automatisch den NVidia Binary-Treiber mitinstallieren.

Die Datei /etc/modules.d/nvidia wird dabei automatisch generiert.

NVidia OpenGL auswählen:

eselect opengl set nvidia

Rudimentäre xorg.conf generieren:

Xorg -configure

Und testen:

X -config /root/xorg.conf.new

Audio

Quelle: http://www.gentoo.org/doc/en/alsa-guide.xml

Kernel modifizieren, dabei ALSA aktivieren und den Treiber für die verwendete Soundkarte als Modul compilieren, siehe hier.

Soundkarte in /etc/make.conf konfigurieren:

ALSA_CARDS="emu10k1"

Dann:

emerge alsa alsa-libs
rc-update add alsasound boot

Die Datei /etc/modules.d/alsa wird dabei automatisch generiert. Dann neu booten.

Wenn das Modul für die Soundkarte nicht automatisch von udev geladen wird:

alsaconf

Evtl. Stummschaltung aufheben:

alsamixer

Wenn ein Programm (z.B. MythTV) das Device ALSA:default nicht findet, mit /dev/dsp aber funktioniert, dann legt man im Homeverzeichnis die Datei .asoundrc an:

pcm.!default {
    type hw
    card 0
}
ctl.!default {
    type hw
    card 0
}

Die Nummer der Karte kann man herausfinden mit:

aplay -l

Wenn -arts in den USE-Flag steht, funktioniert der KDE Sounddaemon arts nicht. Das KDE Sound-System muss also im KDE Kontrollzentrum abgeschaltet werden. Dafür dort bei "Systemnachrichten/Wiedergabe-Einstellungen" einen externen Abspieler einstellen, z.B. /usr/bin/mplayer oder /usr/bin/ogg123 von den vorbis-tools (falls installiert).

LIRC

Quelle: http://gentoo-wiki.com/HOWTO_LIRC

/etc/make.conf:

LIRC_DEVICES="serial"

Dann:

emerge lirc
modules-rebuild populate
echo lirc_serial >> /etc/modules.autoload.d/kernel-2.6
rc-update add lircd default

/etc/modules.d/lirc:

options lirc_serial irq=4 io=0x3f8 type=4
pre-install lirc_serial setserial /dev/ttyS0 uart none

Dann neu booten.

/etc/lircd.conf von alter Installation übernehmen oder neu erstellen. Dann:

/etc/init.d/lircd restart

Fernbedienung prüfen:

irw

Runlevels ähnlich Fedora/Suse (optional)

Standardrunlevel auf 5 ändern

/etc/inittab:

id:3:initdefault:

ändern nach

id:5:initdefault:

Runlevel von X auf 5 ändern

  • Neuen Runlevel "console" (3) anlegen in /etc/inittab:
l3:3:wait:/sbin/rc default

ändern nach

l3:3:wait:/sbin/rc console

Runlevel "default" kopieren nach "console" und xdm darin entfernen

cp -a /etc/runlevels/default /etc/runlevels/console
rc-update -d xdm console

Ab sofort muss man Services immer in "default" und "console" aktivieren!

KDE installieren

Hinweis

KDE kann mit den (bei KDE üblichen) monolithischen Paketen (kdebase, kdemultimedia, ...) oder mit einzelnen Programmen installiert werden, die man allerdings auch wieder mit Meta-Paketen in Gruppen installieren kann. Letzteres wird bevorzugt. Man muss dann aber bei Gruppen auch später immer wieder die Meta-Pakete und nicht die monolithischen Paketen installieren.

Basisinstallation

emerge kdebase-meta kde-i18n kdemultimedia-meta

Alles installieren

emerge kde-meta

Sprache

Sprache "Deutsch" im KDE Control Center hinzufügen, wenn nicht schon vorhanden.

Weitere Programme installieren

Wenn man weitere Meta-Pakete (z.B. kdeaddons) installieren will, dann muss "-meta" angehängt werden, z.B.:

emerge kdeaddons-meta

Gleicher Look in KDE- und in GTK(Gnome)-Programmen mit QtCurve

Quelle: http://gentoo-wiki.com/HOWTO_Same_look_for_QT,_GTK_2_and_GTK_1_apps

/etc/portage/package.keywords:

x11-themes/qtcurve ~x86
x11-themes/gtk-engines-qtcurve ~x86

Dann:

emerge qtcurve gtk-engines-qtcurve
cp /etc/gtk-2.0/gtkrc /etc/gtk-2.0/gtkrc.orig
cp /usr/share/themes/QtCurve/gtk-2.0/gtkrc /etc/gtk-2.0/  

Dann in Kontrollzentrum/Erscheinungsbild/Stil "QtCurve" auswählen.

Displaymanager ändern nach kdm

Der Displaymanager wird in /etc/conf.d/xdm und/oder /etc/rc.conf festgelegt:

DISPLAYMANAGER="kdm"

NFS

emerge nfs-utils
/etc/init.d/nfs start
rc-update add nfs default

Falls Runlevel console angelegt:

rc-update add nfs console

Drucker (HP)

Quelle: http://gentoo-wiki.com/HPLIP.

Folgende USE-Flags in /etc/make.conf hinzufügen:

ppds foomaticdb fax scanner

Evtl. noch parport für parallele Drucker oder snmp für Netzwerkdrucker.

Dann:

emerge --update --newuse --deep world
emerge cups hplip
/etc/init.d/cupsd start
rc-update add cupsd default

Dann alle Benutzer der Gruppe lp hinzufügen:

usermod -a --groups lp <Benutzer>

Dann neu anmelden und:

kdesu hp-setup

Weitere Vorgehensweise siehe hier.

Mit http://localhost:631/ kommt man zur Web-GUI von CUPS.

Drucken mit gimp

/etc/portage/package.use:

media-gfx/gimp gimpprint

Dann:

emerge gimp-print gimp

Samba

Quelle: http://gentoo-wiki.com/HOWTO_Setup_Samba

Falls man eine Web-Admin-GUI ("Swat") für Samba möchte, in /etc/portage/package.use:

net-fs/samba swat

Dann

emerge samba

Dann /etc/samba/smb.conf anlegen:

[global]
        workgroup = <Name der Arbeitsgruppe>
        printcap name = cups
        disable spoolss = Yes
        show add printer wizard = No
        printing = cups
        cups options = raw
        print command =
        lpq command = %p
        lprm command =

[printers]
        comment = All Printers
        path = /var/tmp
        create mask = 0600
        printable = Yes
        browseable = No

[homes]
        valid users = %S
        read only = No
        browseable = No

Ein Read-Only Share hinzufügen (Beispiel):

[work]
        path = /work

Dann Passwort für root setzen:

smbpasswd -a root

Für jeden weiteren Samba-Benutzer:

smbpasswd -a <Benutzer>

Dann:

/etc/init.d/samba start
rc-update add samba default

Swat

emerge xinetd

/etc/xinetd.d/swat:

disable         = no

Dann:

/etc/init.d/xinetd start
rc-update add xinetd default

Dann kommt man mit http://localhost:901/ zur Swat-GUI.

Mail

Beschreibung einer minimalen Mail-Konfiguration, sodass Mails an root (z.B. von Logwatch) an einen Bemutzer auf einem anderen Rechner (z.B. auf dem Mailserver) umgeleitet werden.

/etc/mail/aliases:

root: <Benutzer>@<Rechner>
operator: <Benutzer>@<Rechner>

Dann:

newaliases

Dann:

emerge --unmerge ssmtp
emerge postfix

/etc/postfix/main.cf:

mydomain = <Domäne>
myhostname = <Hostname>.<Domäne>
smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination
disable_dns_lookups = yes

Dann:

/etc/init.d/postfix start
rc-update add postfix default


Komplettes Mailsystem einrichten, siehe z.B. hier.

D-Bus

emerge dbus
revdep-rebuild
rc-update add dbus default

HAL

rc-update add hald default

NTP

emerge ntp

Optional /etc/conf.d/ntp-client und /etc/ntp.conf anpassen (Server ändern).

rc-update add ntp-client default
rc-update add ntpd default
/etc/init.d/ntp-client start
/etc/init.d/ntpd start

Prüfen:

ntpq -c peers

VNC

/etc/portage/package.use:

net-misc/vnc server

Dann:

emerge vnc

autofs

Kernel modifizieren und dabei autofs aktivieren.

Nach Reboot:

emerge autofs
/etc/init.d/autofs start
rc-update add autofs default

Splashscreen bei Boot/Shutdown

Quelle: http://gentoo-wiki.com/HOWTO_gensplash

/etc/portage/package.use:

media-gfx/splashutils mng

Dann:

emerge splashutils splash-themes-livecd

Dann:

genkernel --splash=livecd-2007.0 --no-clean all

oder (kleinere initrd):

genkernel --splash=livecd-2007.0 --splash-res=1024x768 --no-clean all

/dev/tty1 beim Booten verfügbar machen:

mkdir /temp
mount --bind / /temp 
mknod /temp/dev/tty1 c 4 1 
umount /temp
rmdir /temp

In /boot/grub/menu.lst folgende Kernelparameter hinzufügen:

vga=791 splash=silent,theme:livecd-2007.0 console=tty1 quiet

Dann Kernel modifizieren und dabei Optionen für Splashscreens aktivieren.

TrueType-Fonts

Beispiel für Arial (Arial ist allerdings auch über das Gentoo ebuild corefonts zu bekommen):

mkdir temp
cd temp
wget http://prdownloads.sourceforge.net/corefonts/arial32.exe
cabextract arial32.exe
mkdir /usr/share/fonts/ttf-arial
cp *.TTF /usr/share/fonts/ttf-arial/
fc-cache
cd ..
rm -rf temp

Weitere Informationen: http://gentoo-wiki.com/HOWTO_Xorg_and_Fonts

Bluetooth

Quelle: http://www.gentoo.org/doc/en/bluetooth-guide.xml

Vorbereitung

In /etc/make.conf das bluetooth USE-Flag hinzufügen.

Kernel modifizieren und dabei die benötigen Optionen aktivieren, siehe hier.

Mit Bluez 2.x

emerge bluez-libs bluez-utils bluez-firmware kdebluetooth

/etc/bluetooth/hcid.conf:

options {
  pin_helper /etc/bluetooth/pin-helper;
}
device {
  name "BlueZ (%h)";
}

/etc/bluetooth/pin:

<PIN>

Dann:

/etc/init.d/bluetooth restart

Dann neu anmelden.

Mit Bluez 3.x (unstable)

/etc/portage/package.keywords:

net-wireless/bluez-libs ~x86
net-wireless/bluez-utils ~x86
net-wireless/kdebluetooth ~x86

Dann:

emerge bluez-libs bluez-utils bluez-firmware kdebluetooth

/etc/bluetooth/hcid.conf:

options {
  #passkey "BlueZ";
}
device {
  name "BlueZ (%h)";
}

Dann:

/etc/init.d/bluetooth restart

Dann neu anmelden.

Kontrolle

hciconfig -a

Autostart

rc-update add bluetooth default

Benutzer für rfcomm

Benutzer, die rfcomm verwenden wollen, müssen in der Gruppe uccp sein:

usermod -a --groups uucp <Benutzer>

Mit Palm ins Internet über Bluetooth

Quellen: http://gentoo-wiki.com/HOWTO_Iptables_for_newbies + http://forums.gentoo.org/viewtopic.php?t=121109 + http://www.metacon.ca/bcs/view.php?page=bluetooth

Im Kernel muss NAT-Support aktiviert sein, siehe http://gentoo-wiki.com/HOWTO_Iptables_for_newbies#Kernel_Support.

emerge ppp iptables

/etc/ppp/options.rfcomm0:

# You usually need this if there is no PAP authentication
noauth
# do not use modem control lines we aren't using a real serial line
local
# do not determinate local ip from hostname
noipdefault
# usefull ARP proxing
proxyarp
# Your own IP Address and the IP Address of the remote system
192.168.0.2:192.168.0.47
# And the netmask
netmask 255.255.255.0
# dns
ms-dns 192.168.0.1
# this is required for the non standard microsoft PPP negotiation
connect "sleep 2; echo -n CLIENTSERVER"

Dann (einmalig und auch in /etc/conf.d/local.start eintragen):

echo 1 >/proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
dund --listen


Notebook mit Centrino-Chipsatz

Touchpad-Treiber

emerge synaptics

WLAN 2200bg

Quelle u.a.: http://gentoo-wiki.com/HARDWARE_ipw2200

SSID

Der Router muss die SSID senden!

ipw2200 im Kernel aktivieren

Kernel modifizieren und dabei ipw2200 aktivieren.

module-rebuild rebuild
update-modules force

Pakete installieren

emerge ipw2200-firmware wireless-tools wpa_supplicant

ipw2200 laden

modprobe ipw2200

Device festlegen

Mit iwconfig das Device nachschauen und gegebenenfalls in /etc/udev/rules.d/70-persistent-net.rules ändern und neu booten.

wpa_supplicant

<SSID>, <PASSWORT> und <DEVICE> entsprechend ersetzen.

/etc/wpa_supplicant/wpa_supplicant.conf:

#WPA
network={
        ssid="<SSID>"
        scan_ssid=1
        psk="<PASSWORT>"
        priority=8
}

/etc/conf.d/net:

routes_<DEVICE>=( "default via 192.168.0.1" )
iface_<DEVICE>="192.168.0.6 broadcast 192.168.0.255 netmask 255.255.255.0"

modules=( "wpa_supplicant" )
wpa_supplicant_<DEVICE>="-D wext -c /etc/wpa_supplicant/wpa_supplicant.conf"
wpa_timeout_eth1=60

Dann:

ln -s /etc/init.d/net.lo /etc/init.d/net.<DEVICE>
rc-update add net.<DEVICE> default
/etc/init.d/net.<DEVICE> start

Debugging

wpa_supplicant -Dwext -i<DEVICE> -c /etc/wpa_supplicant/wpa_supplicant.conf -w -dd

Verhindern, dass Coldplug das WLAN startet und es sich dann mit einem beliebigen AP verbindet

/etc/conf.d/rc:

RC_PLUG_SERVICES="!net.<DEVICE>"

WLAN und LAN beim Booten nicht automatisch starten

/etc/conf.d/rc:

RC_PLUG_SERVICES="!net.*"

CPU-Stepping

Kernel modifizieren und dabei folgende Kernel-Optionen ändern:

  • Power Management Options:
  • [*] Power Management Support
    • ACPI( Advanced Configuration and Power Interface ) Support:
    • [*] ACPI Support
      • [*] AC Adapter
      • [*] Battery
      • <*> Processor
    • CPU Frequency Scaling:
      • [*] CPU Frequency scaling
      • <*> 'performance' governor
      • <*> 'powersave' governor
      • <*> 'ondemand' cpufreq policy governor
      • <*> 'conservative' cpufreq governor
      • <*> CPU frequency table helpers
      • <*> ACPI Processor P-States driver
      • <*> Intel Enhanced SpeedStep
module-rebuild rebuild
update-modules force

Reboot.

emerge cpufrequtils acpid
rc-update add acpid default

/etc/conf.d/local.start:

cpufreq-set -d 600MHz -u 1.50GHz -g ondemand

Audio-Support für ASUS M6Ne

/etc/make.conf:

ALSA_CARDS="intel8x0"

Dann:

emerge alsa-lib alsa-utils
rc-update add alsasound boot

/etc/modules.d/alsa (nur notwendig, wenn das Modul nicht schon automatisch geladen wird):

alias snd-card-0 snd-intel8x0

Dann:

modules-update
/etc/init.d/alsasound start
amixer set Master    60% unmute
amixer set PCM       60% unmute
amixer set Headphone 60% unmute

Test:

aplay /usr/share/sounds/alsa/Noise.wav

Powersave und Suspend to RAM mit ASUS M6Ne

Voraussetzung: D-Bus und HAL müssen installiert sein und laufen. klaptopdaemon darf nicht installiert sein!

Bootparameter "acpi_sleep=s3_bios" in /boot/grub/menu.lst hinzufügen.

emerge powersave kpowersave hibernate-script
rc-update add powersaved default

/etc/powersave/events:

EVENT_BUTTON_LID_CLOSED="hibernate_ram"

/usr/libexec/powersave/scripts/hibernate_ram:

#!/bin/bash
# parameters:
# - $1 event type
# - $2 current scheme
# - $3 ACPI event line
# - $4 Event-ID. Needed for $SCRIPT_RETURN
# # source helper_functions to get $PATH, $SCRIPT_RETURN, EV_ID (among others)
. /usr/lib/powersave/scripts/helper_functions
# Note: this sets a trap on "EXIT", so you must exit the script via the
# (also provided) EXIT function after calling $SCRIPT_RETURN
# If you don't call EXIT, the trap will call $SCRIPT_RETURN with return code 1
#
hibernate-ram
# always call $SCRIPT_RETURN before exiting:
$SCRIPT_RETURN $EV_ID 0 "hibernate_ram script succeeded"
EXIT 0

Dann:

chmod +x /usr/libexec/powersave/scripts/hibernate_ram
/etc/init.d/powersave restart

Danach sollte in der Taskleiste ein Batteriesymbol sein und beim Schließen des Deckels sollte Suspend to RAM gemacht werden. "Suspend to RAM" vom Menü (Symbol in der Taskleiste) von kpowersave funktioniert jedoch nicht, deswegen kann man das disablen in /etc/powersave/sleep:

DISABLE_USER_SUSPEND2RAM="yes"