Anzeige:
Ergebnis 1 bis 11 von 11

Thema: Kernel (2.6) Konfigurations-Howto

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Premium Mitglied Avatar von Stage
    Registriert seit
    Jun 2002
    Beiträge
    810

    Kernel (2.6) Konfigurations-Howto

    1 Einleitung

    Dieses Howto soll dabei helfen, einen schlanken und auch funktionsfähigen Kernel für x86-Systeme zu erstellen. Als Vorlage benutze ich Sourcen des 2.6.9-er Kernels ohne extra Patches.

    Als erstes muss man natürlich wissen was man so alles an Hardware im Rechner drin hat. Dazu geben folgende Befehle einem Auskunft:
    Code:
    lspci -v
    Code:
    lsusb
    Code:
    cat /proc/cpuinfo
    Die Ausgaben am besten auf einer separaten Konsole/Terminal stehen lassen, so daß wir bei Gelegenheit auf die Informationen zurückgreifen können.

    2 Konfiguration

    2.1 Vorbemerkung
    Um überhaupt beginnen zu können, benötigt man natürlich erst einmal die Kernelsourcen. Die bekommt man entweder von www.kernel.org oder auch durch das Paketverwaltungstool der eigenen Distibution.
    Das manuelle Installieren der Sourcen, sollten nur diejenigen machen, die wissen was sie tun, weil die meisten Distributionen noch spezielle Patches mit einpflegen, ohne die meist die Funktionalität leidet.
    Desweiteren muss auf dem Rechner ein Compiler (gcc), der Befehl make und ncurses-devel installiert sein.

    2.2 Menuconfig

    Bemerkung: /usr/src/linux ist ein Symlink, der immer auf die aktuellen Sourcen zeigen sollte
    root@host #ls -l /usr/src
    lrwxrwxrwx 1 root root 31 20. Sep 21:08 linux -> /usr/src/linux-2.6.9
    drwxr-xr-x 18 root root 720 24. Nov 10:08 linux-2.6.9
    Wenn dem nicht so ist dann muss dieser erstellt bzw geändert werden:
    Code:
    //alten Symlink entfernen
    rm /usr/src/linux
    //neuen Symlink erstellen
    cd /usr/src/
    ln -sf linux-version linux
    Als erstes erzeugen wir uns eine leere Config:
    Code:
    //wechseln in das Verzeichniss mit den Sourcen
    cd /usr/src/linux
    //zur Sicherheit vorher alles bereinigen
    make mrproper
    //leere config erstellen
    make allnoconfig
    im Anschluss kann gleich die Konfigurationsoberfläche gestartet werden, um dann endlich loslegen zu können
    Code:
    //menuconfig starten
    make menuconfig
    2.3 Allgemeine Einstellungen

    2.3.1 Code maturity level options
    hier kann man alles aktivieren (durch drücken der y-Taste wie yes). Wenn man später etwas zu viel aktiviert hat kann man durch drücken von n die Auswahl wieder aufheben.
    Code:
    [*] Prompt for development and/or incomplete code/drivers
    [*]   Select only drivers expected to compile cleanly
    2.3.2 General setup
    Code:
    [*] Support for paging of anonymous memory (swap)
    //Swap wird eigentlich immer benötigt
    [*] System V IPC
    //Interprozesskommunikation wird benötigt, damit Threads miteinander kommunizieren können
    [*] BSD Process Accounting
    [ ]   BSD Process Accounting version 3 file format
    [*] Sysctl support
    //SysCtl um später über das /proc-FS zur Laufzeit Einstellungen verändern zu können
    [ ] Auditing support
    [*] Support for hot-pluggable devices
    //wird für USB/PCMCIA und andere hotplugfähigen Geräte benötigt, sowie auch für udev
    [*] Kernel .config support
    //erzeugt /proc/.config um zur Laufzeit die aktuelle Kernelkonfig anzusehen
    [ ] Configure standard kernel features (for small systems)  --->
    //wir bauen einen Kernel für einen PC, müssen also keine Features entfernen
    2.3.3 Loadable module support
    hierzu ist nicht viel zu sagen, außer das die folgenden Einstellungen das laden/entladen von Modulen ermöglichen, sowie auch das automatische Laden der Module bei Bedarf (z.b Filesystem)
    Code:
    [*] Enable loadable module support
    [*]   Module unloading
    [*]     Forced module unloading
    [ ]   Module versioning support
    [*]   Automatic kernel module loading
    Bei einigen Optionen besteht ab nun die Möglichkeit, diese als Modul zu erstellen. Zu erkennen sind diese Anhand von < > anstatt der bisher üblichen [ ] vor der entsprechende Auswahl. Im nachfolgenden versuche ich möglichst viel als Modul zu aktivieren, um den Kernel schlank zu halten. Desweiteren kann man so später leichter Fehler feststellen, wenn man die Module einzeln laden kann. Natürlich ist es jeden selbst überlassen, ob er die eine Option fest in den Kernel baut oder als Modul.
    Um etwas als Modul zu bauen, brauch man nur m bei der jeweiligen Auswahl drücken. Um es fest in den Kernel zu kompilieren, benutzt man wie gehabt die y-Taste. Und mit n wird die Auswahl widerrufen.

    2.3.4 Processor type and features
    Für diesen Abschnitt benötigen wir die Ausgabe von cat /proc/cpuinfo, das wir schon vorher einmal ausgeführt haben. Wichtig sind da 2 Zeilen:
    model name : Celeron (Coppermine)
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse
    Code:
    Subarchitecture Type (PC-compatible)  --->
    //sollte auf PC-compatible stehen bei x86 Architektur
    Processor family (Pentium-III/Celeron(Coppermine)/Pentium-III Xeon)  --->
    //hier die entsprechende CPU auswählen, siehe model name
    [ ] Generic x86 support
    //wird nicht benötigt, da wir nur für einen CPUtyp den Kernel optimieren
    [*] HPET Timer Support
    //neuer und verbesserter Timer im Kernel, kann gefahrlos aktiviert werden
    [ ] Symmetric multi-processing support //bei einem 1 Prozessor System
    [*] Symmetric multi-processing support //bei mehr als einer CPU im Rechner oder auch bei hyperthread fähiger CPU
    (2)   Maximum number of CPUs (2-255) //Anzahl der CPU's angeben
    [*]   SMT (Hyperthreading) scheduler support //bei hyperthread fähiger CPU aktivieren
    [*] Preemptible Kernel
    //aktivieren je nach belieben. Vorschlag: an bei Desktops, aus bei Servern
    //aktiviert verbessert es die "Reaktionszeit" des Systems auf Benutzerprozesse
    [*] Local APIC support on uniprocessors
    //wenn apic bei den CPU-Flags steht, aktivieren
    [*]   IO-APIC support on uniprocessors
    //kann gefahrlos aktiviert werden, auch bei Sytemen ohne IO-APIC läuft der Kernel ohne Geschwindigkeitsverlust
    [*] Machine Check Exception
    //wenn mce bei den CPU-Flags steht, kann es aktiviert werden
    //damit kann die CPU bei Problemen (Überhitzung, usw) den Kernel informieren
    //was meist in einer Meldung im syslog oder auch auf dem Bildschirm nach sich zieht
    < M >   Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4
    //nicht-kritische Fehler werden automatisch korrigiert, mit diesem Modul, werden die Fehler allerdings zusätzlich noch protokolliert
    [*]   check for P4 thermal throttling interrupt.
    //wenn der P4 wegen Überhitzung automatisch gedrosselt wird, erzeugt das eine Meldung
    < > Toshiba Laptop support
    < > Dell laptop support
    < > /dev/cpu/microcode - Intel IA32 CPU microcode support
    < > /dev/cpu/*/msr - Model-specific register support
    < > /dev/cpu/*/cpuid - CPU information support
    Firmware Drivers  --->
    //lassen wir deaktiviert
    High Memory Support (off)  ---> //bei weniger als 1GB Arbeitsspeicher
    High Memory Support (4GB)  ---> // ab 1 GB Arbeitsspeicher
    [*] Allocate 3rd-level pagetables from highmem
    //kann bei System mit sehr viel Speicher aktiviert werden, um Speicher einzusparen
    [ ] Math emulation
    //wird bei heutigen CPU's eigentlich nicht mehr benötigt
    [*] MTRR (Memory Type Range Register) support
    //wenn mtrr bei den CPU-Flags steht, aktivieren
    [ ] Use register arguments
    2.3.5 Power management options (ACPI, APM)
    Zum Power managment ist zu sagen, das immer nur eins von beiden Standards genutzt wird. ACPI ist der Nachfolger von APM und daher etwas neuer, und kann deshalb auf etwas älteren Rechnern, die kein ACPI konformes Bios besitzen zu Problemen führen. Man kann auch ganz auf diese Optionen verzichten, was keine Einschränkung beim Betrieb des Kernels darstellt. Soll der Rechner aber beim shutdown automatisch ausgeschaltet werden, so ist zumindest eine Option Bedingung.
    Code:
    [*] Power Management support
    //wenn PM benutzt werden soll aktivieren, sonst alles hier und in den Untermenus deaktiviert lassem
    [ ] Power Management Debug Support
    [*] Software Suspend
    //ermöglicht beim shutdown ein Abbild des Speichers in der SWAP-Partition zu speichern, um beim Anschalten an dieser Stelle fortfahren zu können
    (/dev/hda2) Default resume partition
    //hier eine gültige SWAP-Partition angeben, diese sollte grösser als der Arbeitsspeicher sein
    //diese Option kann auch durch den Bootparameter resume=/dev/xyz überschrieben werdem
    2.3.5.1 ACPI (Advanced Configuration and Power Interface) Support
    Dieses Menu benutzen wenn man kein APM benutzen will.
    Code:
    [*] ACPI Support
    [*]   Sleep States
    < M >   AC Adapter
    < M >   Battery
    < M >   Button
    < M >   Fan
    < M >   Processor
    < M >     Thermal Zone
    < >   ASUS/Medion Laptop Extras
    < >   Toshiba Laptop Extras
    (0) Disable ACPI for systems before Jan 1st this year
    [ ] Power Management Timer Support //diese Option aktivieren, wenn die Meldung 'Losing too many ticks!' im Kernellog auftaucht
    2.3.5.2 APM (Advanced Power Management) BIOS Support
    Diese Option nur benutzen wenn man kein ACPI benutzt.
    Wenn man APM benutzt, muss man ein wenig experimentieren, welche Optionen man aktivieren sollte und welche nicht. Deswegen hab ich im folgenden Codesample alles deaktiviert gelassen.
    Code:
    < M > APM (Advanced Power Management) BIOS support
    [ ]   Ignore USER SUSPEND
    [ ]   Enable PM at boot time
    [ ]   Make CPU Idle calls when idle
    [ ]   Enable console blanking using APM
    [ ]   RTC stores time in GMT
    [ ]   Allow interrupts during APM BIOS calls
    [ ]   Use real mode APM BIOS call to power off
    2.3.5.3 CPU Frequency scaling
    Besitzt man eine CPU (z.b. diverse Mobilprozessoren in Laptops), die die Fähigkeit hat die Taktfrequenz während der Laufzeit zu ändern, so muss man dieses Feature hier aktivieren
    Code:
    [*] CPU Frequency scaling
    Default CPUFreq governor (performance)  --->
    //wählt den default CPUFreq govenor aus, siehe auch nächste Optionen
    < M >   'performance' governor
    //setzt die CPUFreq statisch auf den höchst möglichen Wert
    < M >   'powersave' governor
    //setzt die CPUFreq statisch auf den kleinst möglichen Wert
    < M >   'userspace' governor for userspace frequency scaling
    //erlaubt das setzen der CPUFreq manuell oder dynamisch durch ein Benutzerprogramm wie zB LART
    < M >   'ondemand' cpufreq policy governor
    //pollt ständig die CPU, und setzt die CPUFreq dynamisch abhängig von ihrer Auslastung
    [ ]   /proc/sys/cpu/ interface (2.4. / OLD)
    < M >   CPU frequency table helpers
    ---   CPUFreq processor drivers
    //hier dann die entsprechende Option für die eigene CPU auswählen
    2.3.6 Bus options (PCI, PCMCIA, EISA, MCA, ISA)
    Code:
    [*] PCI support
    PCI access mode (Any)  --->
    [ ] Message Signaled Interrupts (MSI and MSI-X)
    [ ] Legacy /proc/pci interface
    //diese Option ist als 'depricated' angesehen und man sollte besser das Userspaceprogramm lspci benutzen
    [ ] PCI device name database
    [*] ISA support
    //auch bei Mainboards, die keine ISA-Steckplätze mehr haben, sollte diese Option aktiviert werden
    //Einige interne Dinge zB PS/2 werden über den ISA-Bus angesprochen
    //siehe auch Ausgabe bei lspci --> ISA bridge
    [ ]   EISA support
    //aktivieren wenn man noch EISA Steckplätze besitzt
    [ ] MCA support
    //aktivieren wenn man einen MicroChannel Anschluss auf dem Mainboard hat
    < > NatSemi SCx200 support
    2.3.6.1 PCMCIA/CardBus support
    Code:
    < M > PCMCIA/CardBus support
    [ ]   Enable PCMCIA debugging
    < M >   xyz bridge support
    //hier den entsprechenden Treiber auswählen, siehe auch Ausgabe bei lspci
    2.3.6.2 PCI Hotplug Support
    Ich geh mal davon aus das die meisten x86 Besitzer keine PCI-hotplugfähigen Geräte in ihren Rechner haben, wenn doch, dann einfach in diesem Untermenu die passenden Treiber dafür aktivieren.

    2.3.7 Executable file formats
    Code:
    [*] Kernel support for ELF binaries
    < M > Kernel support for a.out and ECOFF binaries
    < M > Kernel support for MISC binaries
    2.4 Device Drivers
    Nicht aufgeführte Treibermenus kommen sehr selten oder garnicht bei x86 Architektur zum Einsatz.

    2.4.1 Generic Driver Options
    Code:
    [*] Select only drivers that don't need compile-time external firmware
    [ ] Prevent firmware from being built
    < M > Hotplug firmware loading support
    //diese Option aktivieren, wenn man Hardware hat, die externe Firmware laden muss
    //zB die meisten WLAN Karten benutzen dieses Feature
    2.4.2 Parallel port support
    Wenn man den Parallelport des PCs benutzen will sollten folgende Optionen aktiviert werden
    Code:
    < M > Parallel port support
    < M >   PC-style hardware
    [*]     Use FIFO/DMA if available
    [ ]     SuperIO chipset support
    < >   Support for PCMCIA management for PC-style ports
    //nur aktivieren wenn Parallelport durch eine PCMCIA-Karte bereitgestellt wird
    [ ] Support foreign hardware
    [*] IEEE 1284 transfer modes
    2.4.3 Plug and Play support
    Wenn man noch ISA-Karten im PC hat, die im Plug and Play Modus laufen dann müssen folgende Optionen aktiviert werden.
    Code:
    [*] Plug and Play support
    [ ]   PnP Debug Messages
    ---   Protocols
    [*]   ISA Plug and Play support
    [ ]   Plug and Play BIOS support
    2.4.4 Block devices
    Besitzer von Hardware, die noch in diesem Menu aufgeführt wird, müssen natürlich entsprechende Optionen zusätzlich aktivieren.
    Ist ein solches Gerät ein Bestandteil für den Bootvorgang, zum Beispiel wenn eine Festplatte an einem der aufgeführten Controller hängt und auf dieser Festplatte befindet sich das Root-Filesystem, dann muss dieses Gerät fest in den Kernel kompiliert werden.
    Code:
    < M > Normal floppy disk support
    //nur aktivieren wenn man noch ein Diskettenlaufwerk hat
    < > XT hard disk support
    < > Parallel port IDE device support
    //wenn man eine Festplatte am Parallelport hat, dann aktivieren
    < > 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
    < M >   Cryptoloop Support
    //wer Partitionen verschlüsseln will, muss dies aktivieren
    < > Promise SATA SX8 support
    < > Low Performance USB Block driver
    //dies ist ein neuer Treiber für USB Speichergeräte, wie zB USBSticks
    //dieser kann jedoch noch einige Probleme machen, und deswegen sollte man auf den USB Mass Storage Support im USB Menu zurückgreifen
    < M > RAM disk support
    (4096) Default RAM disk size (kbytes)
    //diejenigen die eine Initrd benötigen, müssen den RAM disk support fest in der Kernel einkompilieren
    [ ] Support for Large Block Devices
    //für Geräte die mehr als 2TB an Speicher bereitstellen, muss dies aktiviert werden
    2.4.5 ATA/ATAPI/MFM/RLL support
    Bei diesem Punkt muss man besonders gut aufpassen, da eine Vielzahl aller PCs von IDE booten, müssen die für den Bootvorgang beteiligten Geräte (im Allgemeinen sind das IDE-Controller, IDE-HDD-Support und später das Filesystem) fest in den Kernel kompiliert werden. Wenn man das nicht beachtet, erhält man beim Booten eine Kernel Panik.
    Anmerkung: S-ATA Support wird unter SCSI konfiguriert.

    Folgende Optionen sind für ein System, das von einer IDE-Festplatte bootet.
    Code:
    < * > ATA/ATAPI/MFM/RLL support
    < * >   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)
    [ ]     Use old disk-only driver on primary interface
    < * >     Include IDE/ATA-2 DISK support
    [ ]       Use multi-mode by default
    < >     PCMCIA IDE support
    //bei Festplatten an einem PCMCIA-Controller hier aktivieren
    < M >     Include IDE/ATAPI CDROM support
    //für CDROM die über den IDE-Bus angesteuert werden
    < >     Include IDE/ATAPI TAPE support
    < >     Include IDE/ATAPI FLOPPY support
    [ ]     IDE Taskfile Access
    [*]     IDE Taskfile IO
    ---     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
    [ ]     Other IDE chipset support
    [ ]     IGNORE word93 Validation BITS
    2.4.6 SCSI device support
    Was für ein System gilt, das von IDE bootet gilt auch für ein System, welches von Scsi bzw S-ATA bootet. Auch hier müssen alle beteiligten Komponenten, die für das Mounten des Root-Filesystem zuständig sind, fest in den Kernel einkompiliert werden.

    Folgende Optionen sind für ein System das von einer SCSI- oder S-ATA-Festplatte bootet.
    Code:
    < * > SCSI device support
    ---   SCSI support type (disk, tape, CD-ROM)
    < * >   SCSI disk support
    //diese Option ist für SCSI und S-ATA Festplatten
    //S-ATA werden wie SCSI Festplatten mit /dev/sd[a-z] angesprochen
    < >   SCSI tape support
    < >   SCSI OnStream SC-x0 tape support
    < M >   SCSI CDROM support
    //für SCSI-CDRoms
    [ ]     Enable vendor-specific extensions (for SCSI CDROM)
    //diese Option aktivieren, wenn man mit älteren SCSI-CDROMs Probleme mit Multisession-CD's 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
    ---   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 oder auch einige USB-Sticks mit mehreren Partitionen
    [ ]   Verbose SCSI error reporting (kernel size +=12K)
    [ ]   SCSI logging facility
    SCSI Transport Attributes  --->
    //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 bzw. S-ATA-Controller auswählen, und fest in den Kernel einbauen lassen
    PCMCIA SCSI adapter support  --->
    //hier das gleiche wenn man einen PCMCIA-SCSI-Controller besitzt
    2.4.7 Multi-device support (RAID and LVM)
    Diese Optionen braucht man nur wenn man ein Softwarraid oder ein LVM (Logical Volume Manager) einsetzen möchte. Auch hier ist wieder zu beachten, falls sich das Root-Filesystem auf einem solchen Softraid oder LVM befindet, muss die entspechende Option fest in den Kernel einkompiliert werden.
    Code:
    [*] Multiple devices driver support (RAID and LVM)
    //Raidoptionen
    < M >   RAID support
    < M >     Linear (append) mode
    < M >     RAID-0 (striping) mode
    < M >     RAID-1 (mirroring) mode
    < M >     RAID-10 (mirrored striping) mode
    < M >     RAID-4/RAID-5 mode
    < M >     RAID-6 mode
    < M >     Multipath I/O support
    //LVM-Optionen
    < M >   Device mapper support
    < M >     Crypt target support
    < M >     Snapshot target
    < M >     Mirror target
    < M >     Zero target
    2.4.8 Fusion MPT device support
    Besitzt man einen LSI Logic Controller mit Fusion MPT Technologie, so ist die Unterstützung hier zu aktivieren.
    Code:
    < * > Fusion MPT (base + ScsiHost) drivers
    (40)  Maximum number of scatter gather entries
    < M >   Fusion MPT misc device (ioctl) driver
    2.4.9 IEEE 1394 (FireWire) support
    Hat man Firewirehardware im PC/Laptop und möchte diese auch einsetzen, dann muss das hier aktiviert werden.
    Code:
    < M > IEEE 1394 (FireWire) support
    ---   Subsystem Options
    [ ]   Excessive debugging output
    [ ]   OUI Database built-in
    [*]   Build in extra config rom entries for certain functionality
    [*]     IP-1394 Entry
    //möchte man das Firewiredevice als Netzwerkschnittstelle benutzen, so benötigt es diese 2 Optionen
    ---   Device Drivers
    < >   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 Firewirecontroller
    //lspci gibt dazu nähere Informationen
    ---   Protocol Drivers
    //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 Phys DMA support for SBP2 (Debug)
    < M >   OHCI-DV I/O support
    < M >   Raw IEEE1394 I/O support
    < M >   IEC61883-1 Plug support
    < M >     IEC61883-6 (Audio transmission) support
    2.4.10 Networking support
    Wie der Name schon vermuten lässt, kann man hier die Netzwerkunterstützung aktivieren. Dieser Abschnitt ist sehr umfangreich, aber nicht allzu schwer .
    Code:
    [*] Networking support
    Networking options  --->
    //dazu kommen wir später
    [ ] Amateur Radio support (NEW)  --->
    < > IrDA (infrared) subsystem support  --->
    //für Infrarothardware hier aktivieren und den passenden Treiber auswählen
    < > Bluetooth subsystem support  --->
    //bei Bluetoothhardware hier aktivieren und den passenden Treiber auswählen
    [*] Network device support
    < >   Dummy net driver support
    < >   Bonding driver support
    //möchte man 2 oder mehrere Netzwerkgeräte zu einem zusammenschliessen, um die Bandbreite zu erhöhen, muss dies aktiviert werden
    //erfordert aber einen Switch der Port-Trunking unterstützt
    < >   EQL (serial line load balancing) support
    //wird zb gebraucht um bei ISDN Kanalbündelung benutzen zu können
    < >   Universal TUN/TAP device driver support
    //wird für Tunnel benötigt zB 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
    Ethernet (1000 Mbit)  --->
    //bei Gigabitnetzwerkkarten 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 (non-hamradio)  --->
    //bei WLAN Support hier mindestens die Wireless Extensions aktivieren, auch wenn kein passender Treiber in der Liste ist
    //dies wird auch bei externen Treiber benötigt
    PCMCIA network device support  --->
    //bei PCMCIA Netzwerkkarten hier den passenden Treiber auswählen
    Wan interfaces  --->
    [ ]   FDDI driver support
    < >   PLIP (parallel port) support
    < M >   PPP (point-to-point protocol) support
    //wird benötigt zB für die Einwahl ins Internet mit Modem, ISDN, DSL
    //oder auch wenn man selber Dienste bereitstellt die auf pppd zurückgreifen
    [ ]     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
    < >     PPP over Ethernet
    //dies ist der Kernelmode PPPOE Support, der aber meiner Meinung schwieriger zu benutzen ist als ein entsprechendes Benutzertool z.B. rp-pppoe
    < >   SLIP (serial line) support
    [ ]   Fibre Channel driver support
    < >   Traffic Shaper
    //hiermit kann man die Geschwindigkeit des Datenverkehrs limitieren
    //eine Alternative dazu wäre im Menupunkt QOS (Quality of Service) -> QBC Class-Based Queueing
    < >   Network console logging support
    2.4.10.1 Networking options
    Code:
    < M > Packet socket
    //wird von Programmen benötigt die direkt mit Netzwerkgeräten kommunizieren können, zb tcpdump
    //damit niemand solche Tools benutzen kann, zB bei einem Mehrbenutzersystem, kann man auf dieses Modul verzichten, um die Sicherheit zu erhöhen
    [*]   Packet socket: mmapped IO
    //in Verbindung mit Packet Sockets empfielt sicht der Memery Mapped IO, diese resultiert in einer höheren Kommunikation
    < > Netlink device emulation
    < M > 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 auf Grund 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 PC's 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
    < >   IP: GRE tunnels over IP
    [ ] IP: multicast routing
    [ ] IP: ARP daemon support
    [ ] IP: TCP syncookie support
    < > 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 (replaces ipchains)  --->
    //für den Einsatz als Router (NAT) oder auch nur um Pakete zu filtern (Firewall) muss dies aktiviert werden
    //zusätzlich muss dann im Untermenu IP: Netfilter Configuration die entsprechenden Module ausgewählt werden
    //es ist hilfreich dort 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
    SCTP Configuration (EXPERIMENTAL)  --->
    //werden die wenigsten benötigen
    < > Asynchronous Transfer Mode (ATM)
    //benötigt man in ATM Netzen
    < > 802.1d Ethernet Bridging
    //möchte man 2 oder mehrere Ethernetgeräte zu einer Bridge zusammenfassen, d.h. mehrere Netzwerksegmente zu einem, so muss dies hier aktiviert werden
    < > 802.1Q VLAN Support
    < > DECnet Support
    < > ANSI/IEEE 802.2 LLC type 2 Support
    < > The IPX protocol
    < > Appletalk protocol support
    < > CCITT X.25 Packet Layer
    < > LAPB Data Link Driver
    [ ] Frame Diverter
    < > Acorn Econet/AUN protocols
    < > WAN router
    [ ] Forwarding between high speed interfaces
    QoS and/or fair queueing  --->
    //Normalerweise werden Pakete so verarbeitet bzw weiter gereicht in der Reihenfolge wie sie eintreffen. Mit QoS kann man aber bestimmten Paketen eine höhere Priorität verschaffen, um diese schneller an die Reihe kommen zu lassen.
    Network testing  --->
    2.4.11 ISDN subsystem
    Zu ISDN kann ich nicht viel sagen, weil ich damit noch nicht allzu viel zu tun hatte. In den meisten Fällen benötigt man noch externe Treiber.
    Code:
    < M > ISDN support
    Old ISDN4Linux  --->
    ---   CAPI subsystem
    < M >   CAPI2.0 support
    [ ]     Verbose reason code reporting (kernel size +=7K)
    [*]     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  --->
    2.4.12 Input device support
    Dieser Menupunkt ist für alle Eingabegeräte außer USB.
    Code:
    --- Userland interfaces
    --- Mouse interface
    [*]   Provide legacy /dev/psaux device
    //aktivieren wenn man eine PS/2 Mouse hat, und neben dem üblichen /dev/input/mice device auch /dev/psaux haben möchte
    //beide devices 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
    < > Event debugging
    --- Input I/O drivers
    < > Gameport support
    //Support für den Gameport (15polig)
    //für einige Karten muss noch ein zusätzliches Modul aktiviert werden
    < > Serial port line discipline
    < > Serial port line discipline
    //für Eingabegeräte (Mouse, Joystick, Tablets) die über die Com-Schnittstelle kommunizieren
    < > ct82c710 Aux port controller
    < > Parallel port keyboard adapter
    //für Keyboards die am Parallelport angeschlossen sind
    < > PCI PS/2 keyboard and PS/2 mouse controller
    //für eine mobile Docking Station die über PS/2 Mouse und Keyboard verfügen
    < > Raw access to serio ports
    --- Input Device Drivers
    --- Keyboards
    < >   Sun Type 4 and Type 5 keyboard support
    < >   DECstation/VAXstation LK201/LK401 keyboard support
    < >   XT Keyboard support
    < >   Newton keyboard
    [*] Mice
    < M >   PS/2 mouse
    //für PS/2 Mouse
    < >   Serial mouse
    //für eine Mouse die am Comport ist
    < >   InPort/MS/ATIXL busmouse
    < >   Logitech busmouse
    < >   IBM PC110 touchpad
    < >   DEC VSXXX-AA/GA mouse and VSXXX-AB tablet
    //weitere spezielle Mäuse
    [ ] Joysticks
    //für spezielle Joysticks
    [ ] Touchscreens
    //Touchscreen
    [ ] Misc
    //verschiedene Geräte, u.A auch PC-Speakersupport
    2.4.13 Character devices
    Code:
    [ ] Non-standard serial port support
    Serial drivers  --->
    //Untermenu für die serielle Schnittstellen (COM Ports) des Computers
    [ ] Legacy (BSD) PTY support
    //alter BSD-Like PTY support, 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  --->
    Watchdog Cards  --->
    < M > Intel/AMD/VIA HW Random Number Generator support
    //ein Pseudozufallsgenerator, der aber nur mit bestimmter Hardware verfügbar ist, und wird über /dev/urandom 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
    Ftape, the floppy tape device driver  --->
    < M > /dev/agpgart (AGP Support)
    //für Mainboards mit AGP Slot
    < 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 deaktivert bleiben, da XOrg-X11 seine eigenen Treiber mitbringt, bzw bei externen Treibern (z.B. NVIDIA) darf diese Option ebenfalls nicht aktivert sein
    PCMCIA character devices  --->
    //Charakterdevices an der PCMCIA Schnittstelle
    < > ACP Modem (Mwave) support
    //Treiber für einige sogenannte Winmodems
    < > RAW driver (/dev/raw/rawN) (OBSOLETE)
    [ ] HPET - High Precision Event Timer
    < > Hangcheck timer
    2.4.13.1 Serial drivers
    Code:
    < M > 8250/16550 and compatible serial support
    < >   8250/16550 PCMCIA device support
    [ ]   8250/16550 device discovery via ACPI namespace
    (4)   Maximum number of non-legacy 8250/16550 serial ports
    [ ]   Extended 8250/16550 serial driver options
    2.4.14 I2C support
    Dieser Menupunkt ist für diejenigen interessant, die Informationen der Hardwaresensoren (Temperaturen, Spannung, Lüfterdrehzahl) unter Linux anzeigen möchten. Da die meisten wohl nicht wissen welche Sensoren sie besitzen, sollten zunächst erst einmal den generellen I2C Support aktivieren, sowie alle Hardwaresensortreiber als Modul aktivieren, um dann später, mit dem neu gebooteten Kernel und dem Paket LM-Sensors mittels des Befehls sensors-detect, zu ermitteln welche Sensorhardware man besitzt.
    Für zukünftige Kernel reicht dann nur noch das passende Modul zu aktivieren.
    Code:
    < M > I2C support
    < M >   I2C device interface
    //die 2 Module sind für den generellen I2C Support
    I2C Algorithms  --->
    I2C Hardware Bus support  --->
    Hardware Sensors Chip support  --->
    //hier den passenden Sensortreiber auswählen, bzw wenn man nicht genau weiß, dann alle Module aktiveren
    Other I2C Chip support  --->
    [ ]   I2C Core debugging messages
    [ ]   I2C Algorithm debugging messages
    [ ]   I2C Bus debugging messages
    [ ]   I2C Chip debugging messages
    2.4.15 Multimedia devices
    Untermenu für Video-, TV-, Radio-, DVB-karten. Hier einfach wieder den passenden Treiber auswählen, wenn man solch eine Karte besitzt.

    2.4.16 Graphics support
    Support für den Framebuffer. Damit kann man die Auflösung in der Konsole verändern. Standard hat die Konsole eine Auflösung von 80x25, damit kann man jedoch nur sehr wenig Informationen darstellen. Mit dem Framebuffer kann man alle gängigen Auflösungen, die die Grafikkarte und der Monitor unterstützt auswählen.
    Code:
    [*] 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
    [*]   VESA VGA graphics support
    < >   Hercules mono graphics support
    < >   nVidia Riva support
    < >   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  --->
    Logo configuration  --->
    Hinweiß: Der Vesatreiber sollte mit jeder Grafikkarte funktionieren. Um den gewünschten Grafikmodus zu aktivieren, sollte man
    1. den passenden Treiber (ich empfehle es erst einmal mit dem Vesa zu versuchen) fest in den Kernel einbauen
    2. später dem Bootloader die entsprechenden Kernelparameter mitzugeben. Im Falle des Standard-Vesa-Treibers wäre dies vga=MODENUMMER
    Die entsprechende Modenummer ist in der Dokumentation -> /usr/src/linux-2.6.9/Documentation/fb/vesafb.txt zu finden.
    Wenn man einen anderen Treiber benutzt dann kann der Kernelparameter anders lauten, in diesem Falle sollte erst einmal die Dokumentation unter /usr/src/linux-2.6.9/Documentation/fb/ zu Rate gezogen werden.

    2.4.16.1 Console display driver support
    Zusätzlich zum Grafiktreiber muss noch der Konsolen Framebuffersupport aktiviert werden, wenn man die Auflösung in der Konsole erhöhen möchte.
    Code:
    --- VGA text console
    [ ]   Video mode selection support
    < > MDA text console (dual-headed)
    <*> Framebuffer Console support
    [ ]   Select compiled-in fonts
    2.4.17 Sound
    Wie man schon vermuten kann, wird hier die Soundunterstützung aktiviert. Dafür gibt es im Kernel 2 verschiedene Standards. Wir sollten uns aber nur auf ALSA (Advanced Linux Sound Architecture) spezialisieren, da es aktueller ist und auch ein breiteres Spektrum an Soundkarten unterstützt werden.
    Code:
    < M > Sound card support
    Advanced Linux Sound Architecture  --->
    //hier müssen wir gleich noch einiges einstellen
    Open Sound System  --->
    //wird nicht benötigt
    2.4.17.1 Advanced Linux Sound Architecture
    Code:
    < M > Advanced Linux Sound Architecture
    < M > Sequencer support
    //ist für die Midi-Unterstützung da, und wenn nicht benötigt kann es auch ausgelassen werden
    < >   Sequencer dummy client
    < M > OSS Mixer API
    < M > OSS PCM (digital audio) API
    [*] OSS Sequencer API
    //diese Option erscheint nur wenn auch Sequencer support weiter oben aktiviert wurde
    //die 2 bzw 3 OSS-Emulationen sollten aktiviert sein, da eine Programme nur die OSS-Ausgabe unterstützen
    < M > RTC Timer support
    [ ] Verbose printk
    [ ] Debug
    Generic devices  --->
    ISA devices  --->
    PCI devices  --->
    PCMCIA devices  --->
    //unter ISA,PCI bzw PCMCIA muss dann noch das entsprechende Soundkartenmodul aktiviert werden, siehe dazu auch lspci -> Multimedia audio controller (nur bei PCI-Karten)
    Hinweiß: Besitzt man eine USB-Soundkarte, dann muss man erst den USB Support im nächsten Schritt aktivieren, und dann zu diesem Menu zurückkehren. Dann erscheint ein neuer Unterpunkt "ALSA USB devices --->"

    2.4.18 USB support
    Code:
    < M > Support for Host-side USB
    [ ]   USB verbose debug messages
    ---   Miscellaneous USB options
    [*]   USB device filesystem
    [ ]   Enforce USB bandwidth allocation
    [ ]   Dynamic USB minor allocation
    [ ]   USB suspend/resume
    ---   USB Host Controller Drivers
    //hier muss der vorhandene Host Controller Driver ausgewählt werden, siehe auch lspci -v -> USB Controller
    //bei Systemen die einen USB2.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
    < >   USB Audio support
    //aktivieren wenn man Soundequipment an USB anschliessen will
    < >   USB Bluetooth TTY support
    //für USB Bluetooth Geräte
    < >   USB MIDI support
    //für Midigerä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
    ---   USB Human Interface Devices (HID)
    < M >   USB Human Interface Device (full HID) support
    //für Eingabegeräte am USB-Port (Mouse, Keyboard, Joystick, usw)
    [*] HID input layer support
    [ ]   Force feedback support
    [ ] /dev/hiddev raw HID device support
    ...
    //ab hier kommt dann die spezielle Treiberunterstützung für diverse USB-Geräte
    //da sollte halt jeder für sich die Sachen aktivieren, die er benötigt, siehe auch lsusb
    Geändert von Stage (28.01.05 um 10:19 Uhr)
    Kernel (2.6.x) Konfigurations-Howto
    Gentoo Optimierungs-Howto
    IRC: irc.freenode.org - #gentoo-anfaenger

Ähnliche Themen

  1. Kernel Meldungen
    Von Eddie im Forum Kompilieren von Kernel und Sourcen
    Antworten: 6
    Letzter Beitrag: 30.08.06, 23:42
  2. isdn karten konfiguration => spezielles problem...
    Von im Forum Anbindung an die Aussenwelt
    Antworten: 11
    Letzter Beitrag: 30.04.06, 11:25
  3. Freeze..
    Von gast44 im Forum System installieren und konfigurieren
    Antworten: 9
    Letzter Beitrag: 01.04.04, 17:43
  4. Computer reagiert nicht mehr
    Von SirAbdul im Forum X-Konfiguration
    Antworten: 6
    Letzter Beitrag: 28.02.04, 18:07
  5. Antworten: 10
    Letzter Beitrag: 21.01.04, 07:51

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •