Kernel manuell kompilieren/x86 2.6.23-gentoo

Aus Gentoo Linux Wiki

Wechseln zu: Navigation, Suche

Dieser Artikel gibt einen Überblick über die Kernel-Optionen von sys-kernel/gentoo-sources-2.6.23. Bitte den Hauptartikel Kernel manuell kompilieren beachten.

Inhaltsverzeichnis

[Bearbeiten] General Setup

[*] Prompt for development and/or incomplete code/drivers
Einige der Treiber im Linux-Kernel sind in einer sehr frühen Testphase. Um Fehler rechtzeitig zu erkennen und diese Treiber einer breiten Masse zugänglich zu machen, sind diese mit in den Quellen enthalten. Diese Option sollte man in den meisten Fällen aktivieren, weil sonst oft Treiber fehlen, die man für seine Hardware braucht. Diese sind mit EXPERIMENTAL gekennzeichnet.
()  Local version - append to kernel release
Man kann einen zusätzlichen Text an das Ende der Kernelversion anhängen. Dies ist notwendig, wenn man sich mehrere Kernels der selben Version mit unterschiedlichen modularen Konfigurationen installieren will.
[ ] Automatically append version information to the version string
Ein -gxxxxxxxx wird bei Vorhandensein von git-basierenden Trees hinzugefügt.
[*] Support for paging of anonymous memory (swap)
Bei vielen Rechnern reicht der eingebaute Arbeitsspeicher oftmals nicht aus und daher werden flüchtige Daten auf dem so genannten Swap-Speicher ausgelagert. Falls du solch einen Swap in deinem System haben möchtest, musst du diese Option auswählen. Generell ist es eine gute Idee, dies auszuwählen. Mehr zu Swap: Swap
[*] System V IPC
Normalerweise ist der Arbeitsspeicher von einzelnen Programmen voneinander getrennt. Um dennoch miteinander zu "reden", gibt es die Interprozesskommunikation. Dies sollte auf jeden Fall aktiviert sein, sonst können evtl. einige Programme nicht funktionieren. Genauere Informationen hierzu findest du mit dem Aufruf info ipc oder im Abschnitt 6.4 des Linux Programmer's Guide: Tldp.org
 [*] POSIX Message Queues
Die POSIX-Variante von Message Queues sind ein Teil der Interprozesskommunikation. Hierbei hat jede Nachricht eine Priorität, die darüber entscheidet, ob sie von einem Prozess empfangen wird. Wenn du das nutzen möchtest, brauchst du weiterhin die mqueue-Bibliothek. Du kannst diese Message Queues auch als Dateisystem mqueue mounten.
[*] BSD Process Accounting
Hiermit kann der Kernel angewiesen werden, Prozessinformationen in eine Datei zu schreiben. Der Aufruf hierzu erfolgt durch einen speziellen Systemaufruf eines Programmes im Userspace. Wenn der betreffende Prozess später beendet wird, werden Informationen darüber an die Datei angehangen. Diese Informationen umfassen u.a.:
  • Zeit der Erzeugung
  • User ID und Group ID
  • Aufrufbefehl
  • Speicherverbrauch
  • kontrollierendes Terminal
Eine genaue Übersicht findet sich in der Datei include/linux/acct.h. Normalerweise sollte ein Programm nützliche Dinge mit diesen Informationen machen.
[ ]   BSD Process Accounting version 3 file format
Es wird ein neues Dateiformat verwendet und zusätlich werden folgende Informationen gespeichert:
  • Process ID und die des Elternprozesses
Diese Version ist inkompatibel mit den älteren Formaten.
[ ] Export task/process statistics through netlink
Prozessinformationen und Statistiken werden über ein generisches Netlink-Interface exportiert. Anders als BSD Process Accounting sind die Daten während der Laufzeit des bestreffenen Prozesses verfügbar.
[ ] User Namespaces
Unterstützt user-Namensräume. Dies erlaubt Containern, zB vservern, die user-Namensräumen zu verwenden, um unterschiedliche user Informationen für unterschiedliche Server anzubieten.
[*] Auditing support
[*]   Enable system-call auditing support
Dies aktiviert eine Prüfungsinfrastruktur, die durch ein anderes Kernelsubsystem, wie z.B. SELinux, genutzt werden kann.
[*] Kernel .config support
[*]   Enable access to .config through /proc/config.gz
Mit dieser Option kannst du auf die Kerneloptionen, wie sie beim Kompilieren in der Datei .config festgelegt wurden, zugreifen. Dies kann über /proc/config.gz oder auch /proc/config_built_with passieren. Du kannst aber auch das Skript scripts/extract-ikconfig aufrufen.
(14) Kernel log buffer size (16 => 64KB, 17 => 128KB)
Stellt den Kernel Log Buffer ein, Beispiele:
  • 17 => 128 KB - für IBM S/390-Großrechner
  • 16 => 64 KB - für Intel Itanium, Itanium2 und IBM NUMA-Q (x86) Systeme
  • 15 => 32 KB - für Mehrkernprozessoren oder mehreren einzelnen CPUs
  • 14 => 16 KB - für Systeme mit einer CPU
  • 13 => 8 KB
  • 12 => 4 KB
[ ] Create deprecated sysfs files
Diese Option aktiviert veraltete Symlinks wie den "device"-Link, den <subsystem>:<name>-Link und den "bus"-Link. Keine der Features sollten heutzutage mehr genutzt werden. Für Distros neuer als 2006, bei einem aktuellen Gentoo eh der Fall, braucht man diese Option meistens nicht mehr.
[ ] Kernel->user space relay support (formerly relayfs)
Relay Interface Support in bestimmten Dateisystemen (wie debugfs). Es ist programmiert worden, um effiziente Mechanismen für Tools bereitzustellen, um größere Teile von Daten vom Kernelspace in den Userspace weiterzuleiten.
[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
Das initiale RAM-Dateisystem ist ein RAM-Dateisystem, welches von einem Bootloader geladen wird und als root vor dem normalen Boot-Prozess geladen wird. Es wird typischerweise genutzt, um Module zu laden, die zum Mounten des echten Root-Dateisystems benötigt werden. Wenn RAM-Disk support ausgewählt ist, aktiviert diese Option auch die initiale Ram-Disk. Wird z.b. für fbsplash benötigt.
(/usr/share/v86d/initramfs)  Initramfs source file(s)
Hier kann man einzelne cpio-Archive angeben oder eine mit Leerzeichen abgeteilte Liste von Verzeichnissen und Dateien um initramfs-Images zu bauen.
Für das neue uvesafb extrem wichtig! Außerdem muss noch sys-apps/v86d emerged werden und danach muss EINMALIG dev-libs/klibc re-emerged werden.
(0)     User ID to map to 0 (user root)
(0)     Group ID to map to 0 (group root)
[ ] Optimize for size (Look out for broken compilers!)
Es wird zum Kompilieren an den Compiler (gcc) statt -O2 -Os weitergegeben um einen kleineren Kernel zu erhalten. Das sorgt dafür, dass beim Kompilieren auf Größe optimiert wird. Vorsicht bei manchen gcc Versionen, kann zu fehlerhaften Code führen. Abhilfe schafft ein gcc Update/Upgrade.
[ ] Configure standard kernel features (for small systems)
Mit den folgenden Unteroptionen kann man diverse grundlegende Kerneloptionen aktivieren oder anpassen. Das ist für spezielle Umgebungen gedacht und wenn du dies anpasst, solltest du dir sehr im Klaren sein, was du tust.
    Choose SLAB allocator (SLAB)  --->
    ( ) SLAB
Der reguläre SLAB Verteiler.
    (X) SLUB (Unqueued Allocator)
Effizentere Speichernutzung und erweiterte Diagnosen

[Bearbeiten] [*] Enable Loadable module support

Kernelmodule sind "Bauteile" des Linuxkernels, die im laufenden Betrieb dynamisch hinzugeladen werden können. Sie sind ein Teil des Kernels und wurden ungefähr ab der Linux-Version 1.2 eingeführt. Falls du ein sicherheitskritisches System hast und hierfür den Kernel baust, empfiehlt es sich, diesen ohne Unterstützung für Kernelmodule zu bauen. Denn diese bieten mehr theoretische Angriffspunkte. In vielen Fällen kann es jedoch sehr sinnvoll und nützlich sein, einen Kernel mit Modulen zu bauen. Wenn du mehr zu Modulen wissen möchtest, schau dir das Module-HOWTO an. Falls du diesen Punkt auswählst, wirst du später bei einigen Optionen neben "Y" und "N" auch "M" für Modul auswählen können. Weiterhin musst du beim Kompilieren neben dem make auch make modules_install ausführen. Dies installiert die Module nach /lib/modules/.
Wer 3D Beschleunigung nutzen will, sollte sicherstellen, dass der Kernel Module laden kann, da ansonsten das NVIDIA/ATI Kernel Modul nicht genutzt und geladen werden kann!
[*]   Module unloading
Diese Option aktiviert die Möglichkeit, Module wieder zu entladen.
[*]     Forced module unloading
Hiermit kann man auch ein Modul entladen, wenn der Kernel meint, dieses wäre noch in Benutzung. Generell ist diese Option eher für Entwickler oder experimentierfreudige Nutzer gedacht. Im Normalfall kann man das ausschalten.
[ ]   Module versioning support
Diese Option ermöglicht die Nutzung von Kernelmodulen, die für eine andere Kernelversion gebaut wurden.
[ ]   Source checksum for all modules
Module, welche MODULE_VERSION beinhalten, bekommen ein extra Feld "srcversion" in den Abschnitt modinfo eingetragen, welches eine Liste von Quelldateien beinhaltet, die erstellt worden sind. Dies ist eine Hilfe für Maintainer, sie können damit sehen, welche Quelldateien zum Bau eines Modules benutzt wurden. Mit Aktivierung dieser Option erhalten alle Module ein "srcversion"-Feld.
[*]   Automatic kernel module loading
Falls diese Option aktiviert ist, wird der Kernel Module, die er benötigt, von allein nachladen. Diese Option sollte i.d.R. aktiviert sein.

[Bearbeiten] Enable the block layer

[ ] Support for Large Block Devices
Unterstützung zum Erstellen von Dateien, die größer als 2 TB sind. Muss auch aktiviert werden, wenn man ein Loopback-Gerät oder ein Raid mit mehr als 2 TB erzeugen möchte.
[ ] Support for tracing block io actions
Erlaubt Informationen über den Datenverkehr auf einem Block-Gerät auszulesen.
[ ] Support for Large Single Files
Unterstützung für Dateien mit mehr als 2 TB.
[ ] Block layer SG support v4
Aktiviert die allgemeine SG (SCSI generic) v4 Unterstützung
    IO Schedulers  --->
    <*> Anticipatory I/O scheduler
Dies ist der Standard-Festplatten-Scheduler. Normalerweise ist er eine gute Wahl für Standardumgebungen. Er ist allerdings ziemlich groß und komplex, verglichen mit dem Deadline I/O Scheduler. In einigen Fällen (Auslastung von Datenbanken) kann er auch langsamer sein.
    <*> Deadline I/O scheduler
Der Scheduler ist einfach und kompakt aber langsamer als der obige Scheduler.
    <*> CFQ I/O scheduler
Er versucht die Bandbreite zwischen allen Prozessen im System gleich zu verteilen und ist für Desktopsysteme empfehlenswert.
        Default I/O scheduler (CFQ)  --->
Hier kann man den Default I/O Scheduler festlegen.

[Bearbeiten] Processor type and features

Hier empfiehlt es sich, die Ausgabe von cat /proc/cpuinfo heranzuziehen:

Code: cat /proc/cpuinfo
model name      : AMD Athlon(tm) 64 Processor 3800+
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
                  pat pse36 clflush mmx fxsr sse sse2 pni syscall nx mmxext fxsr_opt
                  lm 3dnowext 3dnow pni lahf_lm ts fid vid ttp tm stc

Die Ausgabe wurde auf die zwei wichtigsten Zeilen gekürzt.

[*] Tickless System (Dynamic Ticks)
Lässt den Kernel tickless arbeiten, der Kernel wird nun nur noch aufgeweckt, wenn etwas zu tun ist. Bei Athlon-XP und älteren Prozessoren deaktivieren.
[*] High Resolution Timer Support
High Resolution Timer ersetzt das Zeitmanagement in Verbindung mit HPET des Kernels, der Kernel kann so viel genauer als bisher zu einem vorher festgelegten Zeitpunkt eingreifen, um eine bestimmte, vorher festgelegte Aufgabe zu erledigen.
Interessant wo Echtzeit gefragt ist, zb Börse wo bereits Millisekunden über Millionen Gewinn oder Verlust entscheiden.
[ ] Symmetric multi-processing support
Das aktiviert die Unterstützung für Rechner mit mehreren CPUs. Falls du einen Rechner mit einer Singlecore-CPU ohne HT hast, kannst du dies getrost deaktivieren. Genauere Informationen zu der Multi-Prozessor-Unterstützung erhälst du hier.
(8)   Maximum number of CPUs (2-255)
Hier muss die maximale Anzahl der CPUs eingetragen werden, die der Kernel unterstützen soll.
[ ]   SMT (Hyperthreading) scheduler support
Wenn du einen Pentium IV mit Hyperthreading hast, sollte dies die Entscheidungen des Schedulers beschleunigen.
[*] Multi-core scheduler support
Verbessert die CPU-Scheduler-Entscheidungen bei Multicore CPUs auf Kosten eines manchmal leicht gestiegenen Overheads.
Subarchitecture Type (PC-compatible) --->
Die meisten werden die erste Option wählen.
[ ] Paravirtualization support
Paravirtualization ist ein Weg, um mehrere Linux-Instanzen auf einem Rechner laufen zu lassen. Vmware sollte davon profitieren können, eventuell Xen.
Processor family --->
Wähle deinen Prozessor.
[ ] Generic x86 support
Mit dieser Option kann man allgemeine Optimierungen für x86-CPUs aktivieren. Diese Option ist vor allem für jene gedacht, die bei der Kompilierung des Kernels nicht genau wissen, auf welchen konkreten Systemen er zum Einsatz kommt (z.B. Linux-Distributoren). Für Live-CDs ist dies ebenso interessant.
[*] HPET Timer Support
neuer und verbesserter Timer im Kernel (falls die Uhr nach dem Kernel Neustart doppelt so schnell läuft, diese Option abschalten)
    Preemption Model (Preemptible Kernel (Low-Latency Desktop))  --->
      No Forced Preemption (Server)
Das ist das traditionelle Linux-Präemtionsmodell. Wenn niedrige Latenzen keine Rolle spielen oder der Rechner ein Server oder ein wissenschaftlicher Rechner ist, ist dies eine gute Option.
      Voluntary Kernel Preemption (Desktop) 
Diese Option reduziert die Latenzzeit durch Hinzufügen von mehreren "expliziten Präemptionspunkten" in den Kernel-Code. Dies erlaubt ein flüssigeres Ausführen von Anwendungen, wenn das System unter Last ist.
      Preemptible Kernel (Low-Latency Desktop)
Der komplette Kernel wird präemtiv gemacht. Auf Kosten eines etwas niedrigeren Durchsatzes und einem leichten Laufzeit-Overhead werden Anwendungen noch flüssiger und latenzniedriger ausgeführt. Für Server, die Game-Server hosten und Desktop-Systeme erste Wahl.
[*]   Preempt The Big Kernel Lock
Diese Option erzeugt noch niedrigere Latenz, indem der Big Kernel Lock präemtiv gemacht wird.
[*] Local APIC support on uniprocessors
Wenn apic bei den CPU-Flags steht, sollte man dies aktivieren. APIC ist ein integrierter Interrupt Controller in der CPU und wird ohne Performance-Verlust bei Aktivierung genutzt. Bei einigen Asus-Notebooks kann diese Option aber dazu führen, dass sich der Rechner nach dem Herunterfahren nicht mehr von selbst ausschaltet.
[*]   IO-APIC support on uniprocessors
Kann gefahrlos aktiviert werden, auch bei Sytemen ohne IO-APIC läuft der Kernel ohne Geschwindigkeitsverlust.
[*] Machine Check Exception
Dies erlaubt dem Prozessor den Kernel bei Problemen zu informieren. Wenn mce bei den CPU-Flags steht, kann es aktiviert werden.
<M>   Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4
Dieses Feature aktiviert einen Timer, der alle fünf Sekunden im Maschinen-Check-Register überprüft, ob etwas passiert ist. Kleine Fehler werden korrigiert und protokolliert. Hierdurch könnte man u.U. schon frühzeitig Probleme mit der Hardware erkennen.
< >   check for P4 thermal throttling interrupt
Wenn der Pentium 4 mit der Wärmedrosselung beginnt, wird eine Nachricht ausgegeben.
< > Toshiba Laptop support
Mit dieser Option erhält man einen Treiber für den Systemmanagementmodus der CPU auf Toshiba Notebooks. Dies funktioniert nur für Modelle mit einem Toshiba BIOS. Falls der Laptop ein Phoenix BIOS hat, klappt es nicht. Auf der Seite für die Toshiba-Treiber kannst du weitere Informationen bekommen.
< > Dell laptop support
Mit dieser Option hast du Zugang zum Systemmanagementmodus von einem Dell Inspiron 8000. Der Treiber ist nur mit dieser Version getestet, sollte jedoch auch mit anderen Dell Laptops funktionieren.
[ ] Enable X86 board specific fixups for reboot
Dies aktiviert chipsatz- und/oder motherboard-spezifische Fixups, um problemlos das System neuzustarten. Derzeit betrifft das nur die Geode-GX1/CS5530A/TROM2.1.-Kombination.
< > /dev/cpu/microcode - Intel IA32 CPU microcode support

Informationen hierzu findest du unter diesem Link

< > /dev/cpu/*/msr - Model-specific register support
Hiermit kann man ein Gerät anlegen, das Zugriff auf die modellspezifischen Register (MSR) der x86-Architektur hat. Der MSR-Zugriff wird dann zu einer bestimmten CPU auf Mehrprozessorsystemen geleitet.
< > /dev/cpu/*/cpuid - CPU information support
Hiermit kann man ein Gerät anlegen, das einem Prozess Zugriff auf die CPUID-Instruktion gibt. Diese wird dann von einem speziellen Prozessor ausgeführt.
    Firmware Drivers --->
Hier kann man systemspezifische Firmware Treiber angeben.
      < > BIOS Enhanced Disk Drive calls determine boot disk
      < > BIOS update support for DELL systems via sysfs
      < > Dell Systems Management Base Driver
    High Memory Support --->
Hier stehen die Möglichkeiten "aus", "4GB" und "64GB" zur Verfügung. Diese sollte man wählen, wenn man einen Rechner mit mehr als einem Gigabyte RAM hat.
Bei x86 Architektur mit mehr als 896 MB RAM immer "4GB" oder "64GB" auswählen, da ansonsten nur '896 MB' genutzt werden, auch wenn mehr Speicher verfügbar wäre! 64-Bit Architektur ist davon nicht betroffen.
    Memory model (Flat Memory)  --->
Hier kann
      (X) Flat Memory
Diese Option erlaubt Änderungen wie Linux den Speicher intern verwaltet. Falls verfügbar, ist das die Empfehlung.
      ( ) Sparse Memory
Für manche Systeme wird das die einzige Option sein, inklusive Speicher-Hotplug-Systeme. Das ist normal.
[ ] 64 bit Memory and IO resources
Erlaubt Speicher und Ein/Ausgabe Ressoucen 64bit zu sein
[ ] Allocate 3rd-level pagetables from highmem
Kann bei Systemen mit sehr viel Speicher aktiviert werden, um niedrigen Speicher einzusparen. Verschiedene Prozesse werden in den höheren RAM-Bereich verschoben.
[ ] Math emulation
Falls dein Rechner keinen mathematischen Coprozessor hat, kann Linux einen emulieren. Der Coprozessor wird für Gleitkommaoperationen benötigt. Rechner der Pentium-Klasse haben i.d.R. einen eingebaut. Diese Option sollte meist nur 386er und 486SX Rechner betreffen.
[*] MTRR (Memory Type Range Register) support
Wenn mtrr bei den CPU-Flags steht, aktivieren
[ ] Boot from EFI support
Erlaubt das Booten von EFI-Plattformen. EFI ist der Nachfolger des BIOS'.
[*] Enable seccomp to safely compute untrusted bytecode
Diese Option ist nützlich für zahlenverarbeitende Anwendungen, welche unzuverlässigen Bytecode verarbeiten. Nur Embedded-Systeme sollten diese Option abwählen
    Timer frequency --->
      ( ) 100 HZ
Typische Einstellung für Server, SMP und NUMA. Systeme mit vielen Prozessoren können eine niedrigere Performance bei vielen Timer Interrupts zeigen.
      ( ) 250 HZ
Empfehlenswert für Server, kann auch bei SMP- und NUMA-System eine gute Einstellung sein.
      ( ) 300 HZ
300 Hz ist ein guter Kompromiss zwischen Server-Performace und einer guten interaktiven Reaktivität auf SMP und NUMA Systemen und eine exakte Teilung der PAL und NTSC Frameraten für Video und Multimedia Arbeit.
      (X) 1000 HZ
Empfehlenswert für Desktopsysteme und andere, welche ein schnelles interaktives Ansprechverhalten auf Events benötigen. Als Beispiel seien hier ebenfalls Game-Server aufgezählt.
[ ] kexec system call
Diese Option erlaubt das Herunterfahren des Kernels und direktes Starten eines anderen. Siehe auch kexec
[ ] kernel crash dumps
Generiert Crash Dumps nach einem kexec reboot.
[ ] Build a relocatable kernel(EXPERIMENTAL)
---
(0x100000) Alignment value to which kernel should be aligned
---
[ ] Compat VDSO support
Deaktivieren bei glibc 2.3.3 und neuer (in Gentoo ist glibc 2.5 stabil)

[Bearbeiten] Power management options (ACPI, APM)

Man sollte generell entweder APM oder ACPI aktivieren, nicht beides zusammen.

[*] Power Management support
Sollte aktiviert sein. Wenn Power Management Support nicht aktiviert ist, ist zum Beispiel automatisches Ausschalten nach dem Herunterfahren nicht möglich.
[ ]   Power Management Debug Support
Debug-Unterstützung
[ ] Suspend to RAM and standby
ACPI S3 status
[ ]  Hibernation (aka 'suspend to disk')
Ermöglicht beim Herunterfahren ein Abbild des Speichers in der Swap-Partition zu speichern, um beim Anschalten an dieser Stelle fortfahren zu können.
()    Default resume partition
Hier die Partition angeben, wo die Suspend-to-Disk-Implementierung nach dem gespeicherten Disk-Abbild schauen wird. Dies sollte eine gültige Swap-Partition sein.
[*] ACPI (Advanced Configuration and Power Interface) Support  --->
ACPI ersetzt veraltete Konfigurationsmöglickeiten und Energiesparschnittstellen von Mainboards, wie zum Beispiel APM, MPS oder PnP BIOS. Im Allgemeinen ist ACPI dem veralteten APM vorzuziehen.
<M>   AC Adapter
Dieser Treiber fügt "AC Adaper object"-Unterstützung hinzu, welche feststellen kann, ob ein Laptop an die Netzversorgung angeschlossen ist oder nicht.
<M>   Battery
Mit Hilfe dieser Option ist Zugriff auf /proc/acpi/battery möglich. Das ist bei Laptops nützlich, um sich den Ladestand anzeigen zu lassen.
<M>   Button
Mit Hilfe der Option wird es in Zukunft möglich sein, das man das System durch die Tasten am PC selbst herunterfahren oder in den Suspend-Modus schicken kann.
<M>   Fan
Durch diese Option ist man in der Lage, per Molex ans Mainboard angeschlossene Lüfter zu steuern.
<M>   Processor
Aktiviert Unterstützung für Energiesparmöglichkeiten der CPU.
<M>     Thermal Zone
Dies sollte aktiviert werden. Aktiviert die Unterstützung für ACPI Thermal Zones. Ohne die Option kann die CPU bei Überhitzung zerstört werden.
< >   ASUS/Medion Laptop Extras
Aktiviert erweiterte Unterstützung für ACPI-kompatible ASUS Notebooks. Manche Medion Notebooks (wie das 9675 z.B.) wurden ebenfalls durch ASUS hergestellt. Erweiterte Möglichkeiten sind z.B. dass man die LCD-Helligkeit einstellen kann usw.
< >   IBM ThinkPad Laptop Extras
Erweiterte Unterstützung, wie z.B. Fn-Fx-Tastenkombinationen, Bluetooth-Kontrolle, usw.
< >   Toshiba Laptop Extras
Erweiterte Unterstützung für "legacy free" Toshiba Laptops.
(0) Disable ACPI for systems before Jan 1st this year
0 deaktiviert diesen Mechanismus. Gibt man ein Jahr ein, kann man ACPI auf Systemen mit einem DMI Bios ausschalten, das älter als der 1.1. des Jahres ist. Mit "acpi=force" kann man diese Einstellung übergehen.
[ ] Debug Statements
Für Fehlersuche nützlich. Nur aktivieren wenn ACPI nicht funktioniert.
< >   ACPI0004,PNP0A05 and PNP0A06 Container Driver
Dies erlaubt das physikalische Hinzufügen und Entfernen von CPUs und Speicher. Dies kann zum Beispiel auf NUMA-Systemen nützlich sein, welche ACPI-basierendes physisches Hotplugging von Nodes unterstützen oder auf Nicht-NUMA-Machinen, die physisches CPU-/Speicher-Hotplugging unterstützen.
< > APM (Advanced Power Management) BIOS support --->
Bei Problemen mit ACPI sollte man APM aktivieren und ACPI deaktivieren. Dies für APM aktivieren, wenn man es benutzt muss man mit den APM-Optionen ein wenig experimentieren.
CPU Frequency scaling  --->
Dies ist für Notebook-Benutzer interessant, damit ermöglicht man, dass der Kernel die CPU bei geringer Auslastung niedriger taktet und somit Strom spart.
[*] CPU Frequency scaling
[*]   Enable CPUfreq debugging
Erlaubt Debugging von CPUfreq-Subsystemen. Man muss es zusätzlich per Kernel-Kommandozeile anschalten: cpufreq.debug=<value>
Werte für value:
1 für activate CPUfreq core debugging
2 für CPUfreq drivers debugging
4 für CPUfreq governor debugging
Default CPUFreq governor (performance)  --->
Wählt den Standard-Governor aus
<M>   'performance' governor
Setzt die CPUFreq statisch auf den höchstmöglichen Wert.
<M>   'powersave' governor
Setzt die CPUFreq statisch auf den kleinstmöglichen Wert.
<M>   'userspace' governor for userspace frequency scaling
Erlaubt das Setzen der CPUFreq manuell oder dynamisch durch ein Benutzerprogramm wie z.B. LART.
<M>   'ondemand' cpufreq policy governor
Pollt ständig die CPU, und setzt die CPUFreq dynamisch abhängig von ihrer Auslastung
<M>   'conservative' cpufreq governor
Ähnelt ondemand, schaltet aber meist niedriger um die Akkulaufzeit zu erhöhen.
---   CPUFreq processor drivers
Hier dann die entsprechende Option für die eigene CPU auswählen.

[Bearbeiten] Bus options (PCI, PCMCIA, EISA, MCA, ISA)

[*] PCI support
Sollte man gesetzt haben ;)
      PCI access mode (Any)  --->
Wenn bspw. beim Start des Kernels (oder in dmesg) die Meldung "PCI: Not using MMCONFIG" auftaucht, darf ihr nicht "MMConfig" gewählt werden, in dem Fall sollte der Kernel mit dem Parameter "pci=nommconfig" gestartet werden etc.. Passende Optionen sparen Code ein, sonst ist es hier am Besten den Mode auf "Any" zu lassen, um den Kernel alle Methoden durchprobieren zu lassen.
[ ]   PCI Express support
Support für PCI Express
[ ]     Root Port Advanced Error Reporting support
Support für "PCI Express Root Port erweiterte Fehlermeldungen (AER)" Treiber
[*] Message Signaled Interrupts (MSI and MSI-X)
Erlaubt Gerätetreibern die Aktivierung von Message Signaled Interrupts (MSI). MSI erlaubt einem Gerät die Erzeugung eines Interrupts unter Benutzung eines inbound Memory Write auf seinen PCI-Bus anstatt eines IRQ-Pins.
[*] Interrupts on hypertransport devices
Erlaubt native Hypertransport-Geräte die Nutzung von Interrupts
[ ] ISA support
Heutige Mainboards haben zwar keine ISA-Slots mehr, aber einige Mainboard-Features werden immer noch über diesen Bus angesprochen. Siehe die Ausgabe lspci -> ISA Brigde
[ ] MCA support
Aktivieren, wenn man einen MicroChannel-Anschluss auf dem Mainboard hat.
[ ]   Legacy MCA API Support
Unterstützung für das alte slotbasierte MCA API. Dies ist notwendig für nicht konvertierte Treiber.
< > NatSemi SCx200 support
Aktiviert Unterstützung für den SCx200-Prozessor von National Semiconductor. Ebenfalls Treiber für GPIO-Pins.
    PCCARD (PCMCIA/CardBus) support  --->
Dieses Untermenü ist für Notebook-Benutzer interessant.
< > Support for PCI Hotplug  --->
Ist für den normalen Benutzer uninteressant.

[Bearbeiten] Executable file formats

[*] Kernel support for ELF binaries
<M> Kernel support for a.out and ECOFF binaries
<M> Kernel support for MISC binaries
Hier werden die kernelseitig unterstützten Binärformate für Programme festgelegt. a.out-Unterstützung ist in der Regel nicht notwendig, MISC sollte aber in den meisten Fällen gewählt werden, da Binärformate wie Java, .NET und Win32 per Wrapper geladen werden können.

x86_64-Benutzer sollten hier die Unterstützung der ELF32-Emulation aktivieren, da eine Unzahl von Programmen diese nach wie vor erfordern.

[Bearbeiten] Networking

[*] Networking support
Selbstredend immer aktivieren, da viele Programme auch ohne eine vorhandene Netzwerkkarte Netzwerkfunktionen benötigen.

Networking options Es werden nur ein paar wichtige Optionen angesprochen, den Rest entnehmen Sie bitte der Kernel-Hilfe.

<M> Packet socket
Wird von Programmen benötigt, die direkt mit Netzwerkgeräten kommunizieren können, z.B. tcpdump. Damit niemand solche Tools benutzen kann, z.B. bei einem Mehrbenutzersystem, kann man auf dieses Modul verzichten um die Sicherheit zu erhöhen.
[*]   Packet socket: mmapped IO
In Verbindung mit Packet Sockets empfiehlt sich der Memory Mapped IO, dies resultiert in einer schnelleren Kommunikation.
<*> Unix domain sockets
Sehr wichtig für die meisten Programme unter Linux.
< > PF_KEY sockets
[*] TCP/IP networking
[*]   IP: multicasting
[ ]   IP: advanced router
Möchte man den Rechner als Router einsetzen, der noch etwas mehr kann, als nur anhand der Routingtabelle die Pakete zu routen, der muss dies hier aktivieren. Dies ist für die meisten Anwendungen nicht nötig. Wenn man dies aktiviert, muss man noch eine der spezifizierten Optionen, die dann darunter erscheinen, aktivieren. Dies ermöglicht u.A. anhand der Quell-IP eine Routingentscheidung zu fällen oder auch mehrere Routen für ein Paket festzulegen, und der Kernel entscheidet aufgrund der "Kosten" welche Route genommen werden soll
[ ]   IP: kernel level autoconfiguration
Wird z.B. bei festplattenlosen Systemen benutzt, damit der Kernel beim Booten dem Netzwerkinterface via DHCP, BOOTP oder RARP eine IP zuweisen kann. Dies wird nicht benötigt bei PCs, die von Festplatte booten, da diese über eigene Tools verfügen um den DHCP-Dienst nutzen zu können
< >   IP: tunneling
Wird benötigt um IP-Verkehr in IP zu Tunneln, z.B. wer ipv6 in ipv4 mittels iptunnel tunneln will benötigt dieses Modul.
<M>   INET: socket monitoring interface
< > IP: AH transformation
< > IP: ESP transformation
< > IP: IPComp transformation
< > IP: tunnel transformation
Die Transformationen werden hauptsächlich bei IPSec benötigt
< > The IPv6 protocol
Wer IPv6 einsetzen will, muss dies hier aktivieren.
[*] Network packet filtering framework (Netfilter)  --->
Für den Einsatz als Router (NAT) oder auch nur um Pakete zu filtern (Firewall) muss dies aktiviert werden.
Zusätzlich müssen dann im Untermenü die entsprechenden Module ausgewählt werden.
          Core Netfilter Configuration  --->
          IP: Netfilter Configuration  --->
Es ist hilfreich hier alles als Modul auszuwählen, was unter Connection tracking und IP tables Support auftaucht.

raw table, ARP table, ipchains, ipfwadm nur aktivieren, wenn man dies noch unbedingt benötigt. Mehr dazu unter Iptables

< > Asynchronous Transfer Mode (ATM)
Benötigt man in ATM-Netzen
< > 802.1d Ethernet Bridging
Möchte man zwei oder mehrere Ethernetgeräte zu einer Bridge zusammenfassen, d.h. mehrere Netzwerksegmente zu einem, so muss dies hier aktiviert werden.
QoS and/or fair queueing  --->
Normalerweise werden Pakete so verarbeitet bzw. weiter gereicht in der Reihenfolge, in der sie eintreffen. Mit QoS (Quality of Service) kann man aber bestimmten Paketen eine höhere Priorität verschaffen, um diese schneller an die Reihe kommen zu lassen.

[ ]   Amateur Radio support  --->
Nötig um den Rechner an ein Amatuer Radio anzuschließen.
< >   IrDA (infrared) subsystem support  --->
Für PDAs und Laptops am ehesten interessant.
< >   Bluetooth subsystem support  --->
Bluetooth Support
< >   RxRPC session sockets
Benötigt für das AFS Kernel Dateisystem und Userspace-Tools.
< >   Wireless  --->
WLAN-Support.
< >   RF switch subsystem support  --->
Support für Kontrolle über RF Switches, die in vielen WiFi, Bluetooth und IRDA-Karten zu finden sind.
< >   Plan 9 Resource Sharing Support (9P2000) (Experimental)  --->
Experimentielle Unterstützung für Plan 9 resource sharing mittels 9P2000 protocol

[Bearbeiten] Device Drivers

Hier werden nur die wichtigsten Treibermenüs behandelt. Nicht genannte kommen selten oder garnicht zum Einsatz.

Generic Driver Options --->

[*] Select only drivers that don't need compile-time external firmware
Aktivieren, wenn man keine Magic Firmware für Treiber, die dies benötigen, hat.
[*] Prevent firmware from being built
Verhindert das Bauen von Firmware. Firmware wird für gewöhnlich mit dem Treiber mitgeliefert.
<M> Userspace firmware loading support
Diese Option aktivieren, wenn man Hardware hat, die externe Firmware laden muss. Einige WLAN- und DVB-Karten benutzen dieses Feature.

Connector - unified userspace <-> kernelspace linker --->

<*> Connector - unified userspace <-> kernelspace linker
Wichtig für das neue uvesafb!
Dies ist der vereinheitlichte Userspace-Kernelspace-Verbinder, welcher auf dem Netlink-Socket-Protokoll arbeitet.


< > Parallel port support --->

<M> Parallel port support
<M>   PC-style hardware
[*] Use FIFO/DMA if available
[*]     SuperIO chipset support
<M>   AX88796 Parallel Port
[*] IEEE 1284 transfer modes
Sind nur noch usb Geräte vorhanden, kannst du den Parallel Port hier beruhigt deaktivieren. Auch im BIOS Parallel Mode deaktivieren. PATA Festplatten alleine brauchen Parallel port support nicht!

Plug and Play support --->

--- Plug and Play support
[ ]   PnP Debug Messages
---   Protocols

[*] Block devices --->

<M> Normal floppy disk support
Nur aktivieren, wenn man noch ein Diskettenlaufwerk besitzt.
< > Compaq SMART2 support
< > Compaq Smart Array 5xxx support
< > Mylex DAC960/DAC1100 PCI RAID Controller support
< > Micro Memory MM5415 Battery Backed RAM support
<M> Loopback device support
Loopdevice kann immer mal nützlich sein, z.B. um ISO-Dateien zu mounten oder das Loopback-Device zu benutzen.
<M>   Cryptoloop Support
Wer Partitionen verschlüsseln will, kann dies aktivieren. Für ReiserFS und ext3 sollte man dies aber nicht aktivieren. Weitere Infos zum Verschlüsseln: Partition verschluesseln mit dm-crypt
< > Network block device support
< > Promise SATA SX8 support
< > Low Performance  Block driver
Dies ist ein neuer Treiber für USB-Speichergeräte, wie z.B. USB-Sticks. Da dieser jedoch noch einige Probleme bereiten kann sollte man auf den USB Mass Storage Support im USB-Menü zurückgreifen.
<*> RAM disk support
(1)   Default number of RAM disks
(4096) Default RAM disk size (kbytes)
(1024)  Default RAM disk block size (bytes)
RAM Disk Support ist nur nötig wenn man zum Beispiel Fbsplash nutzen möchte.
< > Packet writing on CD/DVD media
Wenn man wiederbeschreibbare Medien als HDD nutzen möchte, sollte man dies aktivieren. Mehr dazu: Pakete auf CD-RW schreiben
< > ATA over Ethernet support
Unterstützung für ATA-over-Ethernet-Blockgeräte wie der Coraid EtherDrive (R) Storage Blade.


[ ] Misc devices --->

Gibt Zugang zu einigen Notebook extra Funktionen & Spezialtasten, zb Bluetooth, WLAN, Helligkeitseinstellungen, Fn - Tasten, ...

  • MSI Laptop Extras
  • Sony Laptop Extras
  • ThinkPad ACPI Laptop Extras


<*> ATA/ATAPI/MFM/RLL support --->

Dieses Submenu beinhalted Treiber für den IDE-Controller. Der Zugriff auf P-ATA Festplatten und CD-Laufwerke erfolgt dann über /dev/hd*. Für neuere Systeme existieren jedoch neuere Treiber im Submenu Serial ATA (prod) and Parallel ATA (experimental) drivers. Wer diese nutzen möchte, kann ATA/ATAPI/MFM/RLL support getrost komplett deaktivieren.

<*>   Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
---     Please see Documentation/ide.txt for help/info on IDE drives
[ ]     Support for SATA (deprecated; conflicts with libata SATA driver)
S-ATA wird unter Serial ATA (prod) and Parallel ATA (experimental) drivers konfiguriert
[ ]     Use old disk-only driver on primary interface
<*>     Include IDE/ATA-2 DISK support
[*]       Use multi-mode by default
<*>     Include IDE/ATAPI CDROM support
Für CDROMs die über den IDE-Bus angesteuert werden
< >     Include IDE/ATAPI TAPE support
< >     Include IDE/ATAPI FLOPPY support
< >     SCSI emulation support
Seit Version 2.6 hat SCSI-Emulation nur dann Sinn, wenn der CD-Brenner (IDE) seinen Dienst verweigert. Zu diesem Thema existiert in den deutschen Gentoo-Foren ein interessanter Thread.
[*]     IDE ACPI support
[ ]     IDE Taskfile Access
[*]     legacy /proc/ide/ support
---     IDE chipset support/bugfixes
< >     generic/default IDE chipset support
[ ]     CMD640 chipset bugfix/support
[ ]     PNP EIDE support
[*]     PCI IDE chipset support
[ ]       Sharing PCI IDE interrupts support
[ ]       Boot off-board chipsets first support
< >       Generic PCI IDE Chipset Support
< >       OPTi 82C621 chipset enhanced support
< >       RZ1000 chipset bugfix/support
[*]       Generic PCI bus-master DMA support
[ ]         Force enable legacy 2.0.X HOSTS to use DMA
[*]         Use PCI DMA by default when available
[ ]           Enable DMA only for disks
<*>         XYZ chipsets support
Hier den richtigen IDE-Treiber auswählen, siehe auch lspci --> IDE interface
[ ]     IGNORE word93 Validation BITS

SCSI device support --->

--- SCSI device support
< > SCSI target support
[*] legacy /proc/scsi/ support
Unterstützung für /proc/scsi. Viele Programme greifen noch dort auf die Informationen zu.
--- SCSI support type (disk, tape, CD-ROM)
<*> SCSI disk support
Diese Option ist für USB-Speichermedien SCSI- und S-ATA-Festplatten; S-ATA-Festplatten werden wie SCSI-Festplatten mit /dev/sd* angesprochen.
< > SCSI tape support
< > SCSI OnStream SC-x0 tape support
<*> SCSI CDROM support
Für SCSI-CDROMs. Wird ebenfalls benötigt, wenn IDE CD-Laufwerke mit den Serial ATA (prod) and Parallel ATA (experimental) drivers angesprochen werden sollen. In dem Fall sind die Laufwerke dann unter /dev/sr* ansprechbar.
[ ]     Enable vendor-specific extensions (for SCSI CDROM)
Diese Option aktivieren, wenn man mit älteren SCSI-CDROMs Probleme mit Multisession-CDs hat und immer nur die erste Session sieht.
<*> SCSI generic support
Diese Option aktivieren, wenn man noch andere SCSI-Geräte verwendet, z.B. Scanner, CD-Writer. Diese Option wird automatisch aktiviert, wenn man USB Mass Storage Support unter USB aktiviert.
< > SCSI media changer support
---   Some SCSI devices (e.g. CD jukebox) support multiple LUNs
[*]   Probe all LUNs on each SCSI device
Aktivieren, wenn Geräte mehr als eine LUN haben, z.B. CD-Wechser, CardReader oder auch einige USB-Sticks mit mehreren Partitionen.
[ ]   Verbose SCSI error reporting (kernel size +=12K)
[ ]   SCSI logging facility
SCSI Transport --->
Hier aktivieren, wenn Informationen von angeschlossenen SCSI-Geräten ins SysFS exportiert werden sollen. Ist im Allgemeinen nicht notwendig.
SCSI low-level drivers  --->
Hier den entsprechenden Treiber für den SCSI-Controller auswählen und fest in den Kernel einbauen lassen.

<*> Serial ATA (prod) and Parallel ATA (experimental) drivers --->

Dieses Submenu enthält die Treiber für S-ATA sowie experiementelle Treiber für P-ATA. Möchte man die P-ATA Treiber ebenfalls nutzen, kann man ATA/ATAPI/MFM/RLL support komplett deaktivieren. Ansprechbar sind die S-ATA und P-ATA Festplatten unter /dev/sd*

--- Serial ATA (prod) and Parallel ATA (experimental) drivers
< >   AHCI SATA support
Support für Advanced Host Controller Interface (AHCI). Die AHCI-Spezifikation wurde von Intel entwickelt und ist ein offener Schnittstellen-Standard für Serial-ATA-Controller. Wenn der Controller AHCI unterstützt, ist kein extra Treiber erforderlich.

Wenn der Controller kein AHCI unterstützt, aus der Liste den passenden Treiber aktivieren. Als Beispiel:

<*>   VIA SATA support
<*>   VIA PATA support

[ ] Multi-device support (RAID and LVM) ---> Diese Optionen braucht man nur wenn man ein Software-Raid oder ein LVM (Logical Volume Manager) einsetzen möchte. Auch hier ist wieder zu beachten, dass die entsprechende Option fest in den Kernel einkompiliert werden muss, falls sich das Root-Filesystem auf einem solchen Softraid oder LVM befindet.

  • Raidoptionen
<M>   RAID support
< >     Linear (append) mode
< >     RAID-0 (striping) mode
< >     RAID-1 (mirroring) mode
< >     RAID-10 (mirrored striping) mode
< >     RAID-4/RAID-5/RAID-6 mode
< >     Multipath I/O support
< >     Faulty test module for MD
  • LVM-Optionen
<M>   Device mapper support
[ ]     Device mapper debugging support
<M>     Crypt target support
Ist bei Partition verschluesseln mit dm-crypt z.B. notwendig. (Wird unter der Kategorie "Cryptographic options" näher besprochen.)
< >     Snapshot target
< >     Mirror target
< >     Zero target
< >     Multipath target
< >     I/O delaying target (EXPERIMENTAL)
< >     Bad Block Relocation Device Target 

Fusion MPT device support ---> Besitzt man einen LSI Logic Controller mit Fusion-MPT-Technologie, so ist die Unterstützung hier zu aktivieren.

< >   Fusion MPT ScsiHost drivers for SPI
< >   Fusion MPT ScsiHost drivers for FC
< >   Fusion MPT ScsiHost drivers for SAS
passenden Treiber wählen
(128) Maximum number of scatter gather entries (16 - 128)
<M>   Fusion MPT misc device (ioctl) driver
[ ]  Fusion MPT logging facility

IEEE 1394 (FireWire) support --->

< > IEEE 1394 (FireWire) support - alternative stack, EXPERIMENTAL
<M> IEEE 1394 (FireWire) support
---   Subsystem Options
[ ]   Excessive debugging output
---   Controllers
< >   Texas Instruments PCILynx support
Dieser Treiber benötigt I2C Support um aktiviert werden zu können.
<M>   OHCI-1394 support
Dies ist eigentlich der gebräuchlichste Treiber für aktuelle Firewire-Controller. lspci gibt dazu nähere Informationen.
---   Protocols
Es ist generell eine gute Idee hier alle Protokolle als Modul zu aktivieren, um bei Gelegenheit die entsprechende Unterstützung zu haben.
<M>   OHCI-1394 Video support
<M>   SBP-2 support (Harddisks etc.)
[ ]     Enable replacement for physical DMA in SBP2
[*]   IP over 1394
Um das Firewire-Gerät als Netzwerkschnittstelle benutzen zu können.
<M>   OHCI-DV I/O support
<M>   Raw IEEE1394 I/O support

[*] Network device support --->

<*>   Dummy net driver support

Bei SLIP- oder PPP-Nutzung sollte dies aktiviert sein. Auch generell ist die Aktivierung nicht verkehrt.

< >   Bonding driver support
Möchte man zwei oder mehrere Netzwerk-Geräte zu einem zusammenschließen, um die Bandbreite zu erhöhen, muss dies aktiviert werden. Es erfordert aber einen Switch der Port-Trunking unterstützt. Ein englisches HOWTO zum Thema Bonding gibt es im Gentoo-Forum: http://forums.gentoo.org/viewtopic-t-198607.html
< >   EQL (serial line load balancing) support
Wird z.B. gebraucht, um bei ISDN die Kanalbündelung benutzen zu können.
< >   Universal TUN/TAP device driver support
Wird für Tunnel benötigt, z.B. bei vtun oder openvpn und anderer Software, die Tunnel bereitstellen.
< >   General Instruments Surfboard 1000
< >   ARCnet devices  --->
      Ethernet (10 or 100Mbit)  --->
Hier den entsprechenden Treiber für die Netzwerkkarte auswählen, siehe auch lspci -->Ethernet controller. Beachte, dass für Via Gigabit-Netzwerkkarten in diesem Menü[*] EISA, VLB, PCI and on board controllers aktiviert sein muss.
[*]   Ethernet (1000 Mbit)  --->
Bei Gigabit-Netzwerkkarten hier den passenden Treiber auswählen, siehe lspci --> Ethernet controller.
      Ethernet (10000 Mbit)  --->
      Token Ring devices  --->
Bei Token-Ring-Netzwerkkarten den passenden Treiber hier auswählen.
      Wireless LAN  --->
Wenn kein passender Treiber vorhanden ist, auf ndiswrapper zurückgreifen.
      USB Network Adapters  --->
[ ]   Wan interfaces  --->
[ ]   FDDI driver support
[ ]   HIPPI driver support
<M>   PPP (point-to-point protocol) support
Wird z.B. für die Einwahl ins Internet mit Modem, ISDN, DSL oder auch wenn man selbst Dienste bereitstellt, die auf pppd zurückgreifen, benötigt.
[ ]     PPP multilink support
[ ]     PPP filtering
<M>     PPP support for async serial ports
<M>     PPP support for sync tty ports
<M>     PPP Deflate compression
<M>     PPP BSD-Compress compression
<M>     PPP over Ethernet
Für DSL ist dies zu aktivieren.
< >   SLIP (serial line) support
[ ]   Fibre Channel driver support
< >   Traffic Shaper (OBSOLETE)
Hiermit kann man die Geschwindigkeit des Datenverkehrs begrenzen. Eine Alternative hierzu wäre im Menupunkt QoS (Quality of Service) -> QBC Class-Based Queueing
< >   Network console logging support

< > ISDN subsystem --->

Die gängigen Optionen, um die Fähigkeiten einer CAPI 2.0 fähigen ISDN-Karte zu nutzen:
Old ISDN4Linux (deprecated)  --->
<M>   CAPI  2.0 subsystem  --->
[ ]     Verbose reason code reporting (kernel size +=7K)
[*]     CAPI trace support
[*]     CAPI2.0 Middleware support
<M>     CAPI2.0 /dev/capi support
[*]       CAPI2.0 filesystem support
---     CAPI hardware drivers
Active AVM cards  --->
Active Eicon DIVA Server cards  --->

Siehe auch AVM Fritzcard

Input device support --->

--- Generic input layer (needed for keyboard, mouse, ...)
< > Support for memoryless force-feedback devices
< >   Polled input device skeleton
--- Userland interfaces
--- Mouse interface
[*]   Provide legacy /dev/psaux device
Aktivieren wenn man eine PS/2-Maus besitzt und neben dem üblichen /dev/input/mice-Gerät auch /dev/psaux haben möchte, beide Geräte haben die gleiche Funktion.
(1024) Horizontal screen resolution
(768) Vertical screen resolution
Wichtig für Grafiktablets
< > Joystick interface
Für Joysticks
< > Touchscreen interface
Für Touchscreen
<*> Event interface
Sollte aktiviert sein, wenn man x11-drivers/xf86-input-evdev nutzen möchte um Eingabegeräte wie die Maus per evdev verfügbar zu machen.
< > Event debugging
--- Input Device Drivers
--- Keyboards --->
  < >   Sun Type 4 and Type 5 keyboard support
  < >   DECstation/VAXstation LK201/LK401 keyboard support
  < >   XT Keyboard support
  < >   Newton keyboard
[*]   Mice  --->
  <*>   PS/2 mouse
Für PS/2 Mäuse
  < >   Serial mouse
Für eine Maus die am COM-Port angeschlossen ist
  < >   InPort/MS/ATIXL busmouse
  < >   Logitech busmouse
  < >   IBM PC110 touchpad
  < >   DEC VSXXX-AA/GA mouse and VSXXX-AB tablet
Weitere spezielle Mäuse
[ ]   Joysticks/Gamepads  --->
Für spezielle Joysticks
[ ]   Tablets  --->
[ ]   Touchscreens
[ ]   Miscellaneous devices  --->
Verschiedene Geräte, u.A. auch PC-Speaker-Unterstützung
Hardware I/O ports  --->
< > Gameport support
Unterstützung für den Gameport (15-polig); für einige Karten muss noch ein zusätzliches Modul aktiviert werden.
< > Serial port line discipline
Für Eingabegeräte (Maus, Joystick, Tabletts), die über die COM-Schnittstelle kommunizieren.
< > ct82c710 Aux port controller
< > Parallel port keyboard adapter
Für Keyboards, die am Parallel-Port angeschlossen sind.
< > PCI PS/2 keyboard and PS/2 mouse controller
Für mobile Docking-Stationen, die über PS/2-Maus und -Tastatur verfügen.
< > Raw access to serio ports


Character devices --->

[ ] Non-standard serial port support
Serial drivers  --->
  <M> 8250/16550 and compatible serial support
  < >   8250/16550 PCMCIA device support
  (4)   Maximum number of 8250/16550 serial ports
  (4)   Number of 8250/16550 serial ports to register at runtime
  [ ]   Extended 8250/16550 serial driver options
Untermenü für die seriellen Schnittstellen (COM-Ports) des Computers
[ ] Legacy (BSD) PTY support
Alte BSD-ähnliche PTY-Unterstützung. Wird in den meisten Fällen nicht mehr benötigt.
< > Support for user-space parallel port device drivers
< > Texas Instruments parallel link cable support
< > IPMI top-level message handler  --->
<M> Intel/AMD/VIA HW Random Number Generator support
Ein Pseudozufalls-Generator, der aber nur mit bestimmter Hardware verfügbar ist. Er wird über /dev/hwrandom angesprochen.
< > /dev/nvram support
<*> Enhanced Real Time Clock Support
Support für die Hardware-Uhr.
< > Double Talk PC internal speech card support
< > Siemens R3964 line discipline
< > Applicom intelligent fieldbus card support
< > Sony Vaio Programmable I/O Control Device support
<M> /dev/agpgart (AGP Support)
Für Mainboards mit AGP-Slot. Bei Nvidia benötigt man dies nur, wenn mit dem Nvidia-Treiber alleine AGP nicht funktioniert.
<M>   xyz chipset support
Hier den passenden Chipsatztreiber auswählen, siehe auch Ausgabe von lspci -> Host Bridge.
[ ] Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
Sollte deaktiviert bleiben, da Xorg-X11 seine eigenen Treiber mitbringt; bei externen Treibern (z.B. NVIDIA) darf diese Option ebenfalls nicht aktivert sein.
PCMCIA character devices  --->
Character-Geräte an der PCMCIA-Schnittstelle.
< > ACP Modem (Mwave) support
Treiber für einige sogenannte WIN-Modems.
< > RAW driver (/dev/raw/rawN)
[ ] HPET - High Precision Event Timer
< > Hangcheck timer
< > TPM Hardware Support  --->

<M> I2C support ---> Der I²C-Bus ist zum Auslesen von Lüfterdrehzahlen, Netzteilspannungen, Temperatursensoren (Mehr dazu im LM-Sensors-Howto), sowie zum Betrieb mancher TV-Karten notwendig.

<M>   I2C device interface
Die zwei Module sind für generelle I2C-Unterstützung.
I2C Algorithms  --->
I2C Hardware Bus support  --->
Miscellaneous I2C Chip support  --->
[ ]   I2C Core debugging messages
[ ]   I2C Algorithm debugging messages
[ ]   I2C Bus debugging messages
[ ]   I2C Chip debugging messages

<M> Hardware Monitoring support --->

Hier den passenden Sensortreiber auswählen, bzw. wenn man diesen nicht genau weiß, dann alle Module aktivieren.

Multimedia devices ---> Untermenü für Video-, TV-, Radio-, DVB-Karten. Hier einfach wieder den passenden Treiber auswählen, wenn man solch eine Karte besitzt.

Graphics support ---> Das ist für den Framebuffer-Support. Damit kann man die Auflösung in der Konsole verändern. Standardmäßig hat die Konsole eine Auflösung von 80x25, damit kann man jedoch nur sehr wenige Informationen darstellen. Mit dem Framebuffer kann man alle gängigen Auflösungen, die die Grafikkarte und der Monitor unterstützen, auswählen.

[*] Support for frame buffer devices
[ ]   Enable Video Mode Handling Helpers
< >   Cirrus Logic support
< >   Permedia2 support
< >   CyberPro 2000/2010/5000 support
[ ]   Chips 69000 display support
[ ]   IMS Twin Turbo display support
< >   VGA 16-color graphics support
<*>   Userspace VESA VGA graphics support
Vesafb-Tng ist nicht mehr enthalten ab Kernel-2.6.23! Stattdessen nur noch uvesafb. Damit können sowohl 32-bit als auch 64-bit Systeme fbsplash nutzen! :)

uvesafb ist der Nachfolger von vesafb-tng; mehr Infos dazu aufs spocks offizieller uvesafb website (englisch)

< >   Hercules mono graphics support
< >   nVidia Riva support
Wird gerne von GeForce-Benutzern irrtümlicherweise aktiviert. Eine GeForce ist keine Riva ;). Die Aktivierung führt dazu, dass der Nvidia-Treiber nicht funktioniert.
< >   Intel 810/815 support
< >   Matrox acceleration
< >   ATI Radeon display support
< >   ATI Radeon display support
< >   ATI Rage128 display support
< >   ATI Mach64 display support
< >   SiS acceleration
< >   NeoMagic display support
< >   IMG Kyro support
< >   3Dfx Banshee/Voodoo3 display support
< >   3Dfx Voodoo Graphics (sst1) support
< >   Trident support
< > Virtual Frame Buffer support
Console display driver support  --->
[*]   Video mode selection support
<*> Framebuffer Console support
Ohne diese Option ist kein Framebuffer möglich.
[*]  Support for the Framebuffer Console Decorations
Für Fbsplash notwendig. Wurde in fbcondecor umbenannt.
Bootup Logo --->
     [ ]   Standard black and white Linux logo
     [ ]   Standard 16-color Linux logo
     [ ]   Standard 224-color Linux logo
Das Logo ist der niedliche Pinguin, der beim Booten links oben in der Ecke zu bestaunen ist. Falls Fbsplash verwendet werden soll, muss diese Option deaktiviert sein.

Sound --->

<M> Sound card support
Advanced Linux Sound Architecture  --->
 <M> Advanced Linux Sound Architecture
 <M>   Sequencer support
Ist für die MIDI-Unterstützung da; wenn nicht benötigt, kann es auch deaktiviert werden.
 <M>     Sequencer dummy client
 <M>   OSS Mixer API
 <M>   OSS PCM (digital audio) API
 [*]     OSS PCM (digital audio) API - Include plugin system
 [*]   OSS Sequencer API
Diese Option erscheint nur, wenn auch Sequencer-Unterstützung weiter oben aktiviert wurde. Die zwei bzw. drei OSS-Emulationen sollten aktiviert sein, da einige Programme nur die OSS-Ausgabe unterstützen.
<M>   RTC Timer support
 [*]     Use RTC as default sequencer timer
 [ ]   Dynamic device file minor numbers
Erlaubt die Benutzung von mehr als acht Soundkarten, erfordert Udev.
 [*]   Support old ALSA API
Unterstützt alte ALSA API. Sollte aktiviert sein, wenn Programme ALSA 0.9.0 rc3 oder älter benötigen.
 [*]   Verbose procfs contents
Interessant für Entwickler. Bläht auch das ALSA-Subsystem auf.
 [ ]   Verbose printk
 [ ]   Debug
     Generic devices  --->
     ISA devices  --->
     PCI devices  --->
     USB devices  --->
 ...
Unter ISA, PCI bzw. USB muss dann noch das entsprechende Soundkarten-Modul aktiviert werden; siehe dazu auch lspci -> Multimedia audio controller (nur bei PCI-Karten).
Open Sound System  --->
Wird nicht mehr benötigt

[*] HID Devices --->

<*>   Generic HID support
---   USB Input Devices
<M>   USB Human Interface Device (full HID) support
Für Eingabegeräte am USB-Port (Mouse, Keyboard, Joystick, usw.)
[ ]     Enable support for iBook/PowerBook/MacBook/MacBookPro special key
[ ]   Force feedback support
[ ] /dev/hiddev raw HID device support

[*] USB support --->

<M> Support for Host-side USB
[ ]   USB verbose debug messages
---   Miscellaneous USB options
[*]   USB device filesystem
[ ]   Dynamic USB minor allocation
[ ]   USB selective suspend/resume and wakeup
---   USB Host Controller Drivers
Hier muss der vorhandene Host Controller-Treiber ausgewählt werden; siehe auch lspci -v -> USB Controller. Bei Systemen, die einen USB-2.0-Controller besitzen genügt es nicht, nur den ehci-Treiber zu aktivieren, sondern es muss auch uhci bzw. ohci aktiviert sein.
<M>   EHCI HCD (USB 2.0) support
Aktivieren, wenn lspci -v einen USB-2.0- bzw EHCI-Controller anzeigt.
[*]     Full speed ISO transactions
[*]     Root Hub Transaction Translators
<M>   OHCI HCD support
Aktivieren wenn lspci -v einen OHCI-Controller anzeigt.
<M>   UHCI HCD (most Intel and VIA) support
Aktivieren wenn lspci -v einen UHCI-Controller anzeigt.
---   USB Device Class drivers
Aktivieren, wenn man Sound-Equipment an USB anschließen will.
< >   USB Bluetooth TTY support
Für USB Bluetooth-Geräte.
< >   USB MIDI support
Für MIDI-Geräte am USB-Port.
< >   USB Modem (CDC ACM) support
Für Modem- bzw. ISDN-Geräte am USB-Port (funktioniert nicht mit allen Geräten).
< >   USB Printer support
USB-Drucker
< >   USB Mass Storage support
Festplatten am USB-Port oder USB-Sticks, Kartenleser..
---   USB Imaging devices
---   USB port drivers
---   USB Miscellaneous drivers
...
Ab hier kommt dann die spezielle Treiber-Unterstützung für diverse USB-Geräte, da sollte jeder für sich die Sachen aktivieren, die er benötigt; siehe auch lsusb.

DMA Engine support --->

[*] Support for DMA engines
[*] Network: TCP receive copy offload
Entlastet die CPU bei Netzwerkaktivitäten
<*> Intel I/OAT DMA support
aktivieren bei neueren Intel Xeon CPUs, wenn die Leistung von Gigabit Ethernet und schnelleren Geräten verbessert werden soll. Siehe im Wikipedia unter http://en.wikipedia.org/wiki/Direct_memory_access#DMA_engines.

[Bearbeiten] File systems

Root-Partitionen müssen fest einkompiliert werden <*>, sonst reicht m oder falls nicht benötigt, deaktiviert lassen.

<M> Second extended fs support
Hat man zusätzlich eine /boot-Partition so ist diese in den meisten Fällen mit ext2 formatiert
[ ]   Ext2 extended attributes
[ ]   Ext2 execute in place support
<*> Ext3 journalling file system support
[ ]   Ext3 extended attributes
[ ] JBD (ext3) debugging support
<*> Reiserfs support
Dies ist nicht die Reiser4-Unterstützung.
[ ]   Enable reiserfs debug mode
[ ]   Stats in /proc/fs/reiserfs
[ ]   ReiserFS extended attributes
<*> JFS filesystem support
[ ]   JFS POSIX Access Control Lists
[ ]   JFS Security Labels
[ ]   JFS debugging
[ ]   JFS statistics
<*> XFS filesystem support
[ ]   Quota support
[ ]   Security Label support
[ ]   POSIX ACL support
[ ]   Realtime subvolume support
Sämtliche Dateisysteme haben noch spezielle Optionen, falls man diese benötigt wie z.B. ACL-Support bei JFS dann müssen diese natürlich mit aktiviert werden
< > Minix fs support
Altes Linux-Dateisystem, kann aber noch auf einigen Disketten vorhanden sein.
< > ROM file system support
[*] Inotify file change notification support
[*]   Inotify support for userspace
Inotify ist ein Datei Änderungs Benachrichtungs System und ein Ersatz für dnotify. Inotify behebt zahlreiche Mängel in dnotify und stellt einige neue Funktionen, inklusive multiple Datei events, one-shot Unterstützung, und unmount Benachrichtigung, vor.
[ ] Quota support
Möchte man Grenzen für die Speicherplatz-Größe der Benutzer setzen (z.B. maximal 100MB für Benutzer xyz) dann muss dies aktiviert werden, diese Optionen funktioniert nur bei ext2-, ext3- und reiserfs-Dateisystemen.
< > Kernel automounter support
< > Kernel automounter version 4 support (also supports v3)
Aktiviert den Automounter. Dieser kann Dateisysteme bei Bedarf automatisch mounten, mehr dazu siehe: Automatisches Mounten.
CD-ROM/DVD Filesystems  --->
<M> ISO 9660 CDROM file system support
[*]   Microsoft Joliet CDROM extensions
[*]   Transparent decompression extension
<M> UDF file system support
DOS/FAT/NT Filesystems  --->
<M> MSDOS fs support
<M> VFAT (Windows-95) fs support
(437) Default codepage for FAT
(iso8859-1) Default iocharset for FAT
<M> NTFS file system support
[ ]   NTFS debugging support
[ ]   NTFS write support
Der Schreibzugriff auf NTFS erlaubt lediglich das Überschreiben von Dateien ohne Änderung der Dateigröße. Mehr dazu: MS Dateisysteme mounten
Pseudo filesystems  --->
[*] /proc file system support
Das proc-Dateisystem wird immer benötigt und sollte auf keinen Fall deaktiviert werden.
[ ]   /proc/kcore support
hauptsächlich fürs Debuggen notwendig
[*] Virtual memory file system support (former shm fs)
[ ] HugeTLB file system support
Miscellaneous filesystems  --->
Bei Bedarf aktivieren.
Network File Systems  --->
<M> NFS file system support
[*]   Provide NFSv3 client support
[*]   Provide NFSv4 client support
[ ]   Allow direct I/O on NFS files
Zum Mounten von NFS-Freigaben.
<M> NFS server support
[ ]   Provide NFSv3 server support
[*]   Provide NFS server over TCP support
< > Secure RPC: Kerberos V mechanism
< > Secure RPC: SPKM3 mechanism 
Wenn man selbst NFS-Freigaben exportieren möchte.
<M> SMB file system support (to mount Windows shares etc.)
Zum Mounten von OS/2- und Windows 95/98/NT4-Dateifreigaben.
[ ]   Use a default NLS
Die Standard-NLS kann beim Mounten mit angegeben werden, falls die Darstellung der Dateinamen fehlerhaft ist.
<M> CIFS support (advanced network filesystem for Samba, Window and other CIFS compliant servers)
[ ]   CIFS statistics
[ ]   CIFS extended attributes
CIFS ist der Nachfolger von SMB und wird von Samba sowie Windows-Versionen ab 2000 verwendet.
< > NCP file system support (to mount NetWare volumes)
Zum Mounten von Novell Netware Volumes.
< > Coda file system support (advanced network fs)
Dies wird z.B. benötigt um WebDAV-Freigaben wie das GMX Mediacenter mounten zu können.
< > Andrew File System support (AFS)
Mehr zum Thema NFS hier: Netzwerk Verzeichnisse mounten
Partition Types  --->
Hier braucht man generell nichts zu aktivieren, es sei denn man verwendet die Dynamischer Datenträger-Funktion von Windows.
Native Language Support  --->
<M>   Codepage 437 (United States, Canada)
<M>   Codepage 850 (Europe)
<M>   Windows CP1250 (Slavic/Central European Languages)
<M>   NLS ISO 8859-1  (Latin 1; Western European Languages)
<M>   NLS ISO 8859-15 (Latin 9; Western European Languages with Euro)
<M>   NLS UTF8

[Bearbeiten] [*] Instrumentation Support

Dies aktiviert eine Reihe von unten genannten Debbuging-Optionen, allein fügt diese Option keinen Kernelcode hinzu.

[*] Profiling support (EXPERIMENTAL)

Erlaubt das erstellen von Systemprofilen aus Laufzeitinformationen wie vom Kernel allgemein, von Kernelmodulen, Bibliotheken und sonstigen Programmen.
< >   OProfile system profiling (EXPERIMENTAL)
Stellt Support für das OProfile-Paket zur Verfügung, welches bspw. Instruction Pointer der CPU nutzt.

[ ] Kprobes
Aktiviert die Kernel Probes: eine alternative Debug-Methode, um Breakpoint-Adressen (Probe Points) darzustellen und Pre-, Post-, Fault- und Break-Handler durchzuführen.

[Bearbeiten] Kernel hacking

[ ] Show timing information on printks
Der Kernel startet in der Sekunde 0 (Null).
Jedes printk also jede Ausgabe des Kernels (z.B. bei Treiberinitalisierungen, Operationen, Fehlerausgaben etc.) gibt zusätzlich die Sekunde aus in der sie getätigt wurde, damit lässt sich die Zeit zwischen den Ausgaben (bzw. dessen dahinter stehenden Operationen) differenzieren.
[ ] Enable __must_check logic
Aktivieren, um Warnungen wie "warning: ignoring return value of 'foo', declared with attribute warn_unused_result" beim Bilden des Kernels zuzulassen.
[ ] Magic SysRq key
Die Magic SysRq Keys (Alt+PrintScreen/Druck/Scrn/SysRq) sind eine Reihe von Tastenkombinationen des Kernels, mit denen sich verschiedene Funktionen ausführen lassen, wie z.B. ein Neustart, sync-Befehl oder Killen der Prozesse.
[ ] Enable unused/obsolete exported symbols
Aktivieren, um nicht mehr gebrauchte, bald entfernte Kernel-Symbole zu exportieren (macht den Kernel größer), manche Module benötigen solche eventuell noch, i.d.R. aber nicht mehr.
[ ] Debug Filesystem
Debugfs ist ein virtuelles Dateisystem, mit dem sich Debugging in den Userspace exportieren lässt.
[ ] Run 'make headers_check' when building vmlinux
Der make-Vorgang prüft die (vom User eventuell modifizierten) Kernelheader auf Verwendbarkeit.

[   ] Kernel debugging

Weitere Optionen, um Teile des Kernels zu debuggen.
Weitere Infos folgen...

[ ] SLUB debugging on by default
Diese Option aktiviert das SLUB-Debugging äquivalent zum Kernelparameter slub_debug automatisch. slub_debug=- deaktiviert das automatische Debugging.

[Bearbeiten] Security options

Infos folgen

[Bearbeiten] [*] Cryptographic API

[M]  Michael MIC keyed digest algorithm
Wird benötigt, wenn ein Drahtlos-Netzwerk vorhanden ist, z.B. Intel/Pro Wireless 2200 BG.
[M] AES cipher algorithms (i586)
Diese Option sollte aktiviert werden, wenn man eine Partition verschlüsseln möchte. Mehr Infos dazu gibt es z.B. hier: Partition verschluesseln mit dm-crypt. Man kann alternativ für die Verschlüsselung auch andere Algorithmen verwenden, z.B. Blowfish.

[Bearbeiten] Library routines

Infos folgen

'Persönliche Werkzeuge