Kernel-Neukompilierung: Module sind sehr fett
Hallo zusammen, aus verschiedenen Gründen verwende ich gerne selbstkompilierte Kernels ohne die ganzen SuSE-Patches. Für die Kernel-Konfiguration habe ich bislang die Kernel-Konfiguration einer älteren Knoppix-Version als Ausgangspunkt genommen und mit "make oldconfig" aktiviert. Gestern hab ich's dann mal mit der Kernel-Konfiguration von SuSE probiert (/boot/config-2.6.11.4-21.7-smp), alle Fragen bei "make oldconfig" einfach mit ENTER abgenickt. Problem: Mit der KNOPPIX-config nehmen alle Module etwa 60 MB ein, mit der SuSE-config über 200 MB. Es fällt auf, dass die einzelnen Module mit der SuSE-config viel fetter sind: - KNOPPIX-config: 50542 Jun 30 10:20 ./kernel/drivers/net/e100.ko 123992 Jun 30 10:20 ./kernel/drivers/net/e1000/e1000.ko - SuSE-config: 851179 Jul 1 07:25 ./drivers/net/e1000/e1000.ko 289910 Jul 1 07:25 ./drivers/net/e100.ko Beides mal handelt es sich um Kernel-Version 2.6.12.2. Hat jemand eine Idee, woran das liegen könnte? Wenn ich mir die Modulgrößen des Standard-SuSE-Kernels ansehe, dann stimmen diese grob mit meinen bisherigen KNOPPIX-config-Größen überein. Bin für jeden Tipp dankbar! MfG, Uli. Hier noch der Ablauf, falls es jemand interessiert: - Kernel-Sourcen inkl. patch-2.6.12.2 einspielen unter .../linux-2.6.12.2 - Wechseln in dieses Verzeichnis - "config" einspielen: cp /boot/config-2.6.11.4-21.7-smp .config - make oldconfig --> Mehrfach ENTER drücken - make - make modules_install
Uli Heller wrote:
Beides mal handelt es sich um Kernel-Version 2.6.12.2. Hat jemand eine Idee, woran das liegen könnte? Wenn ich mir die Modulgrößen des Standard-SuSE-Kernels ansehe, dann stimmen diese grob mit meinen bisherigen KNOPPIX-config-Größen überein. Bin für jeden Tipp dankbar!
In der Default-Konfiguration von make sind IMHO noch die Debug-Informationen enthalten. Diese müssen mit (schlagt-mich-tot-ich-weiss-nicht-mehr-genau) mit --strip-symbols --strip-debug oder so ähnlich entfernt werden. Ah, das geht mit strip, duh... strip -g -S -d --strip-debug "$binary-name" strip --remove-section=.comment "$binary-name" Das entfernt die Debug-Symbols und die Comments. Sandy -- Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply (@) japantest (.) homelinux (.) com
Am Freitag, 1. Juli 2005 12:39 schrieb Sandy Drobic:
Uli Heller wrote:
Beides mal handelt es sich um Kernel-Version 2.6.12.2. Hat jemand eine Idee, woran das liegen könnte? Wenn ich mir die Modulgrößen des Standard-SuSE-Kernels ansehe, dann stimmen diese grob mit meinen bisherigen KNOPPIX-config-Größen überein. Bin für jeden Tipp dankbar!
...
Ah, das geht mit strip, duh...
strip -g -S -d --strip-debug "$binary-name" strip --remove-section=.comment "$binary-name"
Das entfernt die Debug-Symbols und die Comments.
Vielen Dank schonmal, das probiere ich gleich aus: - find . -name "*.ko"|xargs strip -g -S -d --strip-debug - find . -name "*.ko"|xargs strip --remove-section=.comment Die Module werden auf jeden Fall schonmal deutlich kleiner. Leider funktioniert's nicht: "depmod" meldet, dass "symtab" und "strtab" in den Modulen nicht gefunden werden kann. Hab's nun nochmal probiert mit: - find . -name "*.ko"|xargs strip -g Das sorgt auch für schlanke Module und "depmod" meckert nicht. Der Rechner startet mit dem neuen Kernel. Vielen Dank nochmal, Uli.
Am Freitag, 1. Juli 2005 15:26 schrieb Uli Heller:
Am Freitag, 1. Juli 2005 12:39 schrieb Sandy Drobic:
Uli Heller wrote:
Beides mal handelt es sich um Kernel-Version 2.6.12.2. Hat jemand eine Idee, woran das liegen könnte? Wenn ich mir die Modulgrößen des Standard-SuSE-Kernels ansehe, dann stimmen diese grob mit meinen bisherigen KNOPPIX-config-Größen überein. Bin für jeden Tipp dankbar!
...
Ah, das geht mit strip, duh...
strip -g -S -d --strip-debug "$binary-name" strip --remove-section=.comment "$binary-name"
Das entfernt die Debug-Symbols und die Comments.
Vielen Dank schonmal, das probiere ich gleich aus: - find . -name "*.ko"|xargs strip -g -S -d --strip-debug - find . -name "*.ko"|xargs strip --remove-section=.comment
Die Module werden auf jeden Fall schonmal deutlich kleiner. Leider funktioniert's nicht: "depmod" meldet, dass "symtab" und "strtab" in den Modulen nicht gefunden werden kann.
Hab's nun nochmal probiert mit: - find . -name "*.ko"|xargs strip -g
Das sorgt auch für schlanke Module und "depmod" meckert nicht. Der Rechner startet mit dem neuen Kernel.
Vielen Dank nochmal, Uli.
Hallo Uli, ich hbae da mal ne Frage zum Kernel 2.6.12.x. Bootet das System ordentlich bei dir durch? Ich hbae das Problem, das während des Bootens meiner SuSE 9.3 folgende Meldung erscheint: Waiting for device /dev/hda5 to appear ... can't access tty; job control turned off Ist dir oder jemand anderes bekannt, was man dagegen tun kann? Rene
Hallo Liste, heute habe ich auf einem SuSE 9.3-Server einen LDAP-Server wie im Admin-Handbuch beschrieben installiert. Ich kann mich nun von einem anderen Rechner aus, mit einem unter yast auf dem Server eingerichteten LDAP-Benutzer, einloggen. Nun würde ich gerne die /home-Verzeichnisse zentral auf dem Server verwalten und auf den Workstations mounten. Wenn ich das richtig sehe, habe ich dazu zwei Möglichkeiten: * das gesamte /home auf dem Server auf jeder Worksstation per NFS mounten. * automount benutzen Mir ist leider nicht ganz klar welches Vorgehen, welche Vor- und Nachteile mit sich bringt, wollte aber erstmal die komplizierte Version mit autofs ausprobieren. Automount habe ich mal im yast-LDAP-Client auf der Workstation angekreuzt und im yast-LDAP-Client auf dem Server die Option aktiviert, damit der Server die /home-Verzeichnisse verwaltet. Gut, das hat nicht ausgereicht. In /usr/share/doc/packages/autofs4 gibt es die Datei README.SuSE.ldap. Den Anweisungen folgend habe ich die Datei /usr/share/doc/packages/autofs4/autofs.schema nach /etc/openldap/schema/ kopiert. In der slapd.conf habe ich die letzte Zeile angefügt: include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/inetorgperson.schema include /etc/openldap/schema/rfc2307bis.schema include /etc/openldap/schema/yast.schema include /etc/openldap/schema/autofs.schema Wenn ich nun den LDAP-Server neu starte, bekomme ich folgende Fehlermeldung: pc126:/home/nico # rcldap start Starting ldap-server/etc/openldap/schema/autofs.schema: line 14: Duplicate attributeType: "automountInformation" startproc: exit status of parent of /usr/lib/openldap/slapd: 1 failed Was habe ich nun falsch gemacht? Ich habe schon eine ganze Weile im Netz nach Informationen gesucht, aber leider nichts wirklich schlüssiges dazu gefunden. Wäre schön wenn ihr mir helfen könntet. Gruß Nico Die autofs.scheme: # Depends upon core.schema and cosine.schema # OID Base is 1.3.6.1.4.1.2312.4 # # Attribute types are under 1.3.6.1.4.1.2312.4.1 # Object classes are under 1.3.6.1.4.1.2312.4.2 # Syntaxes are under 1.3.6.1.4.1.2312.4.3 # Attribute Type Definitions attributetype ( 1.3.6.1.1.1.1.25 NAME 'automountInformation' DESC 'Information used by the autofs automounter' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) objectclass ( 1.3.6.1.1.1.1.13 NAME 'automount' SUP top STRUCTURAL DESC 'An entry in an automounter map' MUST ( cn $ automountInformation $ objectclass ) MAY ( description ) ) objectclass ( 1.3.6.1.4.1.2312.4.2.2 NAME 'automountMap' SUP top STRUCTURAL DESC 'An group of related automount objects' MUST ( ou ) )
Nicolas Trapp wrote:
include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/inetorgperson.schema include /etc/openldap/schema/rfc2307bis.schema include /etc/openldap/schema/yast.schema include /etc/openldap/schema/autofs.schema
Wenn ich nun den LDAP-Server neu starte, bekomme ich folgende Fehlermeldung:
pc126:/home/nico # rcldap start Starting ldap-server/etc/openldap/schema/autofs.schema: line 14: Duplicate attributeType: "automountInformation" startproc: exit status of parent of /usr/lib/openldap/slapd: 1 failed
Was habe ich nun falsch gemacht? Ich habe schon eine ganze Weile im Netz nach Informationen gesucht, aber leider nichts wirklich schlüssiges dazu gefunden. Wäre schön wenn ihr mir helfen könntet.
grep -ri 'automountInformation' /etc/openldap/schema/*.schema Und dann mal nachschauen, in welchen anderen Dateien, die du mit include eingebettet hast, schon das Attribut 'automountInformation' auftaucht. Sandy -- Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply (@) japantest (.) homelinux (.) com
Sandy Drobic schrieb:
Nicolas Trapp wrote:
include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/inetorgperson.schema include /etc/openldap/schema/rfc2307bis.schema include /etc/openldap/schema/yast.schema include /etc/openldap/schema/autofs.schema
Wenn ich nun den LDAP-Server neu starte, bekomme ich folgende Fehlermeldung:
pc126:/home/nico # rcldap start Starting ldap-server/etc/openldap/schema/autofs.schema: line 14: Duplicate attributeType: "automountInformation" startproc: exit status of parent of /usr/lib/openldap/slapd: 1 failed
grep -ri 'automountInformation' /etc/openldap/schema/*.schema
Und dann mal nachschauen, in welchen anderen Dateien, die du mit include eingebettet hast, schon das Attribut 'automountInformation' auftaucht.
Sandy
pc126:/etc/openldap/schema # grep -ri 'automountInformation' /etc/openldap/schema/*.schema /etc/openldap/schema/autofs.schema:attributetype ( 1.3.6.1.1.1.1.25 NAME 'automountInformation' /etc/openldap/schema/autofs.schema: MUST ( cn $ automountInformation $ objectclass ) /etc/openldap/schema/rfc2307bis.schema:attributetype ( 1.3.6.1.1.1.1.33 NAME 'automountInformation' /etc/openldap/schema/rfc2307bis.schema: MUST ( automountKey $ automountInformation ) Soll ich jetzt eines davon wieder 'rauswerfen? Oder bedeutet dies, dass ich autofs.schema eigentlich gar nicht einbinden muss, da die erforderlichen Klassen schon in rfc2307bis enthalten sind? Nico
Nicolas Trapp <nicolas.trapp@gmx.net> writes:
Sandy Drobic schrieb:
Nicolas Trapp wrote:
include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/inetorgperson.schema include /etc/openldap/schema/rfc2307bis.schema include /etc/openldap/schema/yast.schema include /etc/openldap/schema/autofs.schema [...] Soll ich jetzt eines davon wieder 'rauswerfen? Oder bedeutet dies, dass ich autofs.schema eigentlich gar nicht einbinden muss, da die erforderlichen Klassen schon in rfc2307bis enthalten sind?
Welche Objektklassen aus rfc2307bis.schema benötigst du? Wenn du nur die Klassen posixaccount und posixgroup verwendest, nimm lieber das nis.schema und zusätzlich autofs.schema, lies dazu die Erklärungen in nis.schema und RFC-2307.txt. Andernfalls solltest du nur rfc2307bis.schema einbinden. -Dieter -- Dieter Klünter | Systemberatung http://www.dkluenter.de GPG Key ID:8EF7B6C6
participants (5)
-
Dieter Kluenter
-
Nicolas Trapp
-
Rene Lehmann
-
Sandy Drobic
-
Uli Heller