[Comp.Sci.Dept, Utrecht] Note from archiver<at>cs.uu.nl: This page is part of a big collection of Usenet postings, archived here for your convenience. For matters concerning the content of this page, please contact its author(s); use the source, if all else fails. For matters concerning the archive as a whole, please refer to the archive description or contact the archiver.

Subject: de.comp.os.unix.linux.infos - FAQ (sectionL)

This article was archived around: Sat, 28 Aug 2004 13:42:47 +0000 (UTC)

All FAQs in Directory: de/comp/linux/dcoul-faq
All FAQs posted in: de.comp.os.unix.linux.infos
Source: Usenet Version


Archive-name: de/comp/linux/dcoul-faq/sectionL Posting-frequency: monthly Last-modified: 2004-08-28 15:40:13 Version: CVS revision URL: http://www.dcoul.de/faq/
http://www.dcoul.de/faq/ _________________________________________________________________ L. Veraltete Fragen L.1 Warum funktioniert meine ISDN-Karte nach dem Update auf Kernel 2.0.36 nicht mehr so wie vorher? Im Kernel 2.0.36 sind gegenüber älteren Versionen einige Änderungen am ISDN-Subsystem vorgenommen worden, die eine neue Version der isdn-utils notwendig machen. Diese sind entweder als Binärpaket auf den ftp-Servern der Distributionshersteller zu finden oder als Source auf ftp.franken.de <ftp://ftp.franken.de>. Eine der wichtigen Änderungen ist, dass dial-on-demand ab Kernel 2.0.36 nicht mehr die Standardeinstellung ist, sondern erst über die isdn-utils aktiviert werden muss. L.2 ld findet beim Kernel-Kompilieren die Datei 'binary' auf einmal nicht mehr. Du erhältst eine Fehlermeldung der folgenden Art: gcc -E -D__KERNEL__ -I/usr/src/linux/include -D__BIG_KERNEL__ -traditional -DSVGA_MODE=NORMAL_VGA bootsect.S -o bbootsect.s as -o bbootsect.o bbootsect.s bbootsect.s: Assembler messages: bbootsect.s:253: Warning: indirect lcall without `*' ld -m elf_i386 -Ttext 0x0 -s -oformat binary bbootsect.o -o bbootsect ld: cannot open binary: Datei oder Verzeichnis nicht gefunden Das liegt daran, das sich mit der Version 2.10.91 der Aufruf des Linkers ld verändert hat, statt -oformat wird jetzt --oformat als Option erwartet. Kernel nach 2.4.2 werden diese standardmäßig benutzen, frühere Kernel brauchen eine simple Änderung in der Datei /usr/src/linux/arch/i386/boot/Makefile, dort muss einfach jedes Vorkommen von -oformat in --oformat verändert werden. L.3 Wird der Adaptec AHA 2940 U2W (AIC 7890) von Linux unterstützt? Der AIC 7890 wird in Kernel 2.2.13 unterstützt, ggf. auch schon in älteren Kerneln (ab AIC7XXX_C_VERSION 5.1.0). L.4 Ich habe ein ATAPI-CDROM an den CDROM-Anschluss meiner Soundkarte angeschlossen, Linux erkennt es jedoch nicht. Das kann mehrere Ursachen haben. Wenn die Soundkarte ein Plug 'n Play-Typ ist und das IDE-Interface nicht durch das BIOS beim Booten aktiviert wird, ist es für den Kernel (zumindest für 2.0.x) nicht sichtbar, so dass es nicht initialisiert werden kann. Sofern der IDE-Support nicht als Modul compiliert ist (das wäre nur möglich, wenn NICHT von einer IDE-Platte gestartet wird, also z.B. von einer SCSI-Platte oder über eine inital ramdisk), helfen die isapnptools ohne Tricks auch nicht weiter, da der Kernel bei fest eincompiliertem IDE-Support normalerweise nicht mehr nachträglich nach IDE-Interfaces suchen kann. In der zum isapnptools-Paket gehörenden Datei README.ide ist jedoch ein Weg beschrieben, mit dem man unter Ausnutzung einer eigentlich für PCMCIA-Karten vorgesehenen Kernelfunktion auch nachträglich noch IDE-Interfaces aktivieren kann. Wenn das Interface zwar aktiviert, jedoch als tertiäres Interface konfiguriert ist, wird es ebenfalls nicht gefunden, da der Kernel nur nach den primären und sekundären IDE-Kanälen sucht. Das Vorhandensein eines dritten Interfaces muss daher dem Kernel durch die Boot-Option ide2=<Basisadresse> mitgeteilt werden. In der Regel ist die Basisadresse für das tertiäre Interface 0x1e8. Wie Boot-Optionen übergeben werden, ist ausführlich im BootPrompt-HOWTO beschrieben. L.5 Warum ist nach dem Update auf Kernel 2.2 mein Drucker nicht mehr ansprechbar? Mit Kernel 2.2 haben sich einige Änderungen bei der Druckeransteuerung ergeben. Die Nummer des Devices (/dev/lp[012]) ist jetzt nicht mehr von der Hardwareadresse des IO-Ports abhängig. Der erste gefundene Druckerport ist nun /dev/lp0, wogegen bei Kernel 2.0.x der normale Druckerport auf Adresse 0x378 /dev/lp1 war. Da neben den PC-typischen Druckerschnittstellen nun auch Parallel- schnittstellen anderer Hardwarearchitekturen unterstützt werden sollen, wurde der Treiber für die Druckerschnittstelle in einen High- und einen Low-Level-Teil aufgespalten. Wenn der Treiber als Modul genutzt werden soll, ist bei Linux auf PCs der Eintrag alias parport_lowlevel parport_pc in /etc/conf.modules nötig. L.6 Warum zeigt Linux in /proc/cpuinfo an, im Rechner befände sich ein Pentium 75, obwohl ein Pentium 90/100/120/133/166/200/* eingebaut ist? Das Kommando cat /proc/cpuinfo liefert bei allen normalen (d.h. nicht MMX) Pentiums ab 75 MHz die folgende Ausgabe: model : Pentium 75+ Das Pluszeichen hinter der 75 steht für oder höher. Anhand der CPU-ID kann man nur die alten 60/66 MHz-Typen von den moderneren 75-200 MHz-Versionen unterscheiden. Bei MMX-Pentiums sieht Ausgabe so aus: model name : Pentium MMX Der Takt, für den ein konkreter Chip spezifiziert ist, lässt sich über das CPUID-Kommando leider nicht feststellen, so dass damit nur die Chip-Familie angegeben werden kann. Ab Kernel 2.2 gibt es in /proc/cpuinfo einen alternativen Eintrag: cpu MHz. Der dort angezeigte Wert wird mit Hilfe eines CPU-internen Timers ermittelt und gibt die tatsächliche Taktfrequenz (näherungsweise) an. Der dazu verwendete Timer ist jedoch nicht in allen CPU-Typen vorhanden, so dass diese Funktion nicht bei allen Prozessoren zur Verfügung steht. L.7 Warum habe ich seit dem Update auf Kernel 2.2.x alle Route-Einträge doppelt? Der Kernel setzt ab Version 2.2 beim ifconfig automatisch Interface-Routen, ähnlich wie die BSD-Systeme das schon lange tun. Distributionen, die nicht standardmäßig mit Kernel 2.2 ausgeliefert werden, setzen in den Netzwerkkonfigurationsskripten die Interface-Routen explizit, wie es bei Kernel 2.0.x erforderlich war, so dass beim Betrieb mit Kernel 2.2 jede Interface-Route doppelt in der Routingtabelle erscheint. Das hat keine schädlichen Auswirkungen, es ist aber natürlich der Übersicht nicht gerade förderlich. L.8 Wenn ich unter X arbeite, kommt es manchmal, besonders nach dem Start von Netscape, zu einem seltsamen Effekt: ein oder mehrere Fenster werden in Falschfarben dargestellt. Wenn ich den Mauszeiger dann auf eines dieser Fenster bewege, stimmen die Farben in diesem Fenster wieder, aber alles andere wird in Falschfarben dargestellt. Woran liegt das? Dieser Effekt tritt auf, wenn Programme mehr Farben benutzen möchten, als zur Verfügung stehen. Wird der X-Server mit 8 Bit Farbtiefe betrieben (die Normaleinstellung), stehen maximal 2 hoch 8 = 256 Farben gleichzeitig zur Verfügung. Wenn bereits alle verfügbaren 256 Farbtöpfe vergeben sind, kann ein Programm keine weiteren Farben mehr für sich reservieren. Um dieses Problem zu umgehen, kann ein Programm eine private Colormap anfordern. Dann erhält das Programm eine eigene Farbpalette von 256 Farben nur für sich. Da aber tatsächlich nur 256 Farben gleichzeitig dargestellt werden können, muss, sobald ein Programm bzw. dessen Fenster aktiviert wird, auf dessen Farbpalette umgeschaltet werden, die sich von denen der anderen Programme unterscheidet, so dass die Fenster der übrigen Programme in Falschfarbendarstellung erscheinen. Netscape reserviert sehr viele Farben für sich, so dass das Problem häufig nach dem Start von Netscape auftritt. Lösen lässt sich das Problem durch Betrieb des X-Servers in einer höheren Farbtiefe (16 Bit/65536 Farben oder 24Bit/16,7 Millionen Farben). Wer X auf der Kommandozeile startet, kann einen entsprechenden Parameter übergeben: * startx -- -bpp 16 (für 65536 Farben) oder * startx -- -bpp 24 (für 16,7 Mio. Farben). Je nach Karte muss man statt -bpp 24 -bpp 32 angeben. Ab XFree 3.2 kann auch durch den Parameter DefaultColorDepth <Farbtiefe> in der XF86Config der X-Server standardmäßig in entsprechender Farbtiefe (16/24/32 Bit) gestartet werden, so dass die Kommandozeilenoption bei startx nicht mehr nötig ist. Leider werden nicht alle von XFree grundsätzlich unterstützten Karten auch in Farbtiefen über 8 Bit unterstützt. Im Zweifel helfen die Manpages zu XFree oder Ausprobieren weiter. Wenn der X-Server eine bestimmte Farbtiefe nicht unterstützt, gibt er beim Start eine entsprechende Fehlermeldung aus. Falls die eigene Karte nicht in mehr als 8 Bit Farbtiefe unterstützt wird, lässt sich das Problem bei Netscape durch die Option -no-install umgehen. Mit diesem Parameter legt Netscape keine eigene Farbpalette an, sondern versucht, mit den vorhandenen Farben auszukommen, allerdings kann es dabei natürlich passieren, dass einzelne von einer Webseite geforderte Farben dann nicht verfügbar sind. L.9 Ich verwende Debian unstable oder testing und kann seit kurzem keinen Kernel mehr kompilieren, ich erhalte als Fehlermeldung undefined reference to local symbols in discarded section .text.exit'. Das ist ein Bug im Kernel, der durch die aktuelle Version der binutils (2.11.92.0.12.3) zum Vorschein kommt. Installiere 2.11.92.0.10-4 oder verwende einen aktuellen Kernel, 2.4.17 sollte diesen Bug nicht mehr enthalten. L.10 Wie kann ich mit Linux AOL benutzen? AOL verwendet ein proprietäres Zugangsprotokoll und unterstützt weder PPP noch SLIP, so dass der Zugang zu AOL nur mittels der von AOL gelieferten Software möglich ist, die AOL nicht in einer Linux-Version zur Verfügung stellt. Unter http://pengisnotaol.piranho.de/ findet sich allerdings experimentelle Zugangssoftware für Linux, die ohne Unterstützung von AOL entwickelt wurde. 2003-09-20: Die Frage ist veraltetet, inzwischen bietet AOL Zugang über PPP an. L.11 Ich habe RedHat 7.0 und kann keinen Kernel fehlerfrei kompilieren. Ich kann manche Programme unter RedHat 7.0 nicht kompilieren. Unter RedHat 7.0 kompilierte Programme laufen nicht auf anderen Distributionen. Das liegt daran, das RedHat in 7.0 einen kaputten gcc mitliefert. Die Lösung ist recht einfach, man muss nur das Paket kgcc installieren und den beiliegenden Anweisungen folgen, damit der Kernel mit diesem Compiler übersetzt wird. Linus Torvalds hat hierzu auf der linux-kernel Mailing-Liste in http://www.uwsg.iu.edu/hypermail/linux/kernel/0012.1/1252.html Stellung genommen. Er bezeichnet dort RedHat 7.0 als "unusable as a development platform" (Übers: "unbenutzbar als Entwicklungsplattform"). Weitere Statements dazu findet man unter http://kt.zork.net/kernel-traffic/kt20010101_100.html#3 und http://kt.zork.net/kernel-traffic/kt20010108_101.html#1. Andere Sourcen machen aber teilweise auch Probleme, so scheint es nicht möglich zu sein, die XFree-Sourcen oder TeX damit zu übersetzen, aber das ist nicht in allen Fällen zu 100% gesichert. Um auf der sicheren Seite zu sein, sollte man auf jeden Fall die Updates von RedHat einspielen. Informationen hierzu findet man unter http://www.redhat.com/support/docs/gotchas/7.0/gotchas-7.html. L.12 Welchen Treiber muss ich bei der Kernelkonfiguration für eine NE2000-kompatible PCI-Ethernetkarte wählen? Ab Kernel 2.0.35 gibt es dazu einen eigenen Punkt unter PCI Ethernet adapters. Bei älteren Kerneln benötigt man den ISA-NE2000-Treiber (unter Other ISA cards). Dieser enthält dort auch Unterstützung für PCI-NE2000-Clones. Auf dem Chip Realtek 8029 basierende Karten funktionieren problemlos, bei Karten mit Winbond 89C940 bzw. verwandten Chiptypen ist ggf. Kernel 2.0.33 oder neuer nötig. L.13 Ich versuche auf einem Computer mit AMD Athlon oder Duron Prozessor Linux zu installieren. Er hängt sich jedoch gleich nach dem Laden des Kernels auf. Der Kernel versucht, die PentiumII-Seriennummer abzufragen, die der AMD-Prozessor natürlich nicht hat. Das kannst du verhindern, indem du am LILO-Bootprompt den Parameter x86_serial_nr=1 übergibst. Außerdem stellt der Hersteller deiner Distribution vermutlich aktualisierte Boot-Disketten und Kernelpakete zur Verfügung, die diesen Fehler beseitigen. L.14 Ich habe auf Kernel 2.4.x geupgradet und es werden keine Module mehr geladen. Die Probleme kommen vermutlich daher, dass sich das Layout der Verzeichnisse in /lib/modules/<kernelversion> seit Kernel 2.2.x verändert hat. Mit diesem neuen Layout kommen die modutils erst seit Version 2.4.0 zurecht; deine sind wahrscheinlich zu alt. Welche Version bei Dir läuft, kannst Du einfach durch Eingabe von /sbin/modprobe -V herausfinden. Um das Problem zu beheben, benutzt Du entweder ein von deinem Distributor bereitgestelltes Paket oder beziehst die Sourcen von ftp://ftp.kernel.org/pub/linux/utils/kernel/modutils/ und kompilierst sie selber. Damit wirst du aber vermutlich nicht alle Probleme, die mit einem neuen Kernel auf dich zukommen, gelöst haben. Sicherheitshalber solltest du Kernelquelltext/Documentation/Changes lesen und überprüfen, ob du die erforderlichen Programme in den nötigen Versionen installiert hast. L.15 Inzwischen ist Kernel 2.4 freigegeben worden, was muss ich beim Upgrade von 2.2 beachten? Ja, der neue Linux-Kernel ist da - aber langsam, es gibt einiges, was vor einem Update zu bedenken ist: * Was versprichst du Dir von dem neuen Kernel konkret? Warum möchtest du ihn einsetzen? * Bist du in der Lage herauszufinden, welche zusätzlichen Programme oder neuen Programmversionen zu diesem Kernel benötigt werden? Lies Kernelquelltext/Documentation/Changes! * Bist du in der Lage, die geforderten Programm(versionen) zu finden und zu installieren? * Bedenke, dass die von den Distributoren üblicherweise standardmäßig verwendeten Kernel gepatcht sind und damit bestimmte zusätzliche Funktionen haben, die du evtl. auch nutzt. Diese Funktionalitäten sind mit dem neuen Kernel evtl. nicht mehr vorhanden. * Kernel 2.2.18 nimmt schon einige der Vorteile von 2.4 vorweg (brauchbarer USB-Support, abgesehen von Mass-Storage. NFS-Server und -Client sind auf dem Stand von 2.4), vielleicht kannst du dir das Upgrade auf 2.4 sparen und 2.2.18 verwenden. Wenn du die ersten drei Fragen nicht wirklich sicher beantworten kannst, solltest du auf ein Update so lange verzichten, bis der Hersteller deiner Distribution ein entsprechendes Kernel-Package mit den notwendigen Updates bereit hält. Die Wartezeit bis dahin kann man sich mit der Lektüre von http://linuxtoday.com/news_story.php3?ltsn=2001-01-05-007-04-NW-LF-KN bzw. http://www.uwsg.indiana.edu/hypermail/linux/kernel/0101.0/1204.html verkürzen. ;-) Für Debian 2.2 Potato gibt es unter folgender Adresse inoffizielle Backports der nötigen Pakete aus unstable für Potato: deb http://www.fs.tum.de/~bunk/debian potato main deb-src http://www.fs.tum.de/~bunk/debian potato main Da es sich um Pakete aus unstable handelt, sind sie natürlich nicht so gut getestet und es könnten durchaus Fehler auftreten. Überdies ist es mit aktuellen Modutils nicht mehr möglich, einen modularen 2.0.x Kernel zu booten. Genauere Information dazu sind unter http://www.fs.tum.de/~bunk/kernel-24.html zu finden. L.16 Funktioniert die Hauppage Win/TV PCI unter Linux? Ja, Treiber dafür (und für andere auf dem Bt848- oder Bt878-Chip basierende Fernseh/Video-Karten) gibt es im WWW unter http://www.metzlerbros.de/bttv.html. Seit Kernelversion 2.2 sind die Treiber Bestandteil des Standardkernels. Siehe auch http://www.multimedia4linux.de/. L.17 Werden TV-Karten mit Philips 7134 Chipsatz unterstützt? Ein Treiber in fortgeschrittener Testphase ist unter http://bytesex.org/saa7134/ erhältlich. Der Treiber scheint bis auf VBI (Teletext) schon recht gut zu funktionieren, es ist allerdings nötig einen Kernelpatch einzuspielen, und daher eher nur für fortgeschrittene Anwender zu empfehlen. _________________________________________________________________ Build: 28.08.2004