# [Gelöst] Kernel-Module wurden nicht installiert

## mptaiko

Hallo ich habe ein Problem beim Kernel-Update.

kernel-Module wurden nicht installiert, sodass mein QEMU nicht funktioniert. Darum habe ich versucht, eine neue .Config zu erzeugen. Beim make && make modules_install kamen folgende Fehler:

```
fritz linux # make && make modules_install

scripts/kconfig/conf  --syncconfig Kconfig

  CALL    scripts/checksyscalls.sh

  DESCEND  objtool

  CHK     include/generated/compile.h

  CC      drivers/base/devtmpfs.o

  AR      drivers/base/built-in.a

  AR      drivers/built-in.a

  CC      lib/oid_registry.o

lib/oid_registry.c: In Funktion »look_up_OID«:

lib/oid_registry.c:54:11: Fehler: »oid_search_table« nicht deklariert (erstmalige Verwendung in dieser Funktion); meinten Sie »sys_desc_table«?

   xhash = oid_search_table[j].hash;

           ^~~~~~~~~~~~~~~~

           sys_desc_table

lib/oid_registry.c:54:11: Anmerkung: jeder nicht deklarierte Bezeichner wird nur einmal für jede Funktion, in der er vorkommt, gemeldet

lib/oid_registry.c:65:9: Fehler: »oid_index« nicht deklariert (erste Verwendung in dieser Funktion)

   len = oid_index[oid + 1] - oid_index[oid];

         ^~~~~~~~~

lib/oid_registry.c:79:22: Fehler: »oid_data« nicht deklariert (erstmalige Verwendung in dieser Funktion); meinten Sie »OID_data«?

    unsigned char a = oid_data[oid_index[oid] + --len];

                      ^~~~~~~~

                      OID_data

lib/oid_registry.c: In Funktion »sprint_OID«:

lib/oid_registry.c:173:19: Fehler: »oid_data« nicht deklariert (erstmalige Verwendung in dieser Funktion); meinten Sie »OID_data«?

  ret = sprint_oid(oid_data + oid_index[oid],

                   ^~~~~~~~

                   OID_data

lib/oid_registry.c:173:30: Fehler: »oid_index« nicht deklariert (erste Verwendung in dieser Funktion)

  ret = sprint_oid(oid_data + oid_index[oid],

                              ^~~~~~~~~

make[1]: *** [scripts/Makefile.build:304: lib/oid_registry.o] Fehler 1

make: *** [Makefile:1047: lib] Fehler 2

fritz linux # 

```

Dafür habe ich leider keine Plan, wie ich dieses Problem lösen kann. Was kann ich tun?

Wenn man einen neuen Kernel istalliert, werden doch die Einstellunge aus der alten .config übernommen? Dies hat bei mir nicht funktioniert, warum auch immer.

Dann dachte ich baue ich eine neue .config und nun kamen diese Fehler. Bittehelft mir auf die Sprünge.

LG MichaLast edited by mptaiko on Mon Mar 18, 2019 7:00 pm; edited 2 times in total

----------

## mptaiko

Habe mich nochmal rangesetzt und den meine Kerneleinstellungen bei 

```
make menueconfig
```

 komplett überprüft.

Der Abbruch passiert immer noch, wenn der Kernel mit 

```
make
```

 kompiliert wird. 

Der Fehler liegt hier 

```
CC      lib/oid_registry.o

```

 beim Kompilieren des Kernels

dann erscheinten die Fehlermeldungen

```
lib/oid_registry.c: In Funktion »look_up_OID«:

lib/oid_registry.c:54:11: Fehler: »oid_search_table« nicht deklariert (erstmalige Verwendung in dieser Funktion); meinten Sie »sys_desc_table«?

   xhash = oid_search_table[j].hash;

           ^~~~~~~~~~~~~~~~

           sys_desc_table

lib/oid_registry.c:54:11: Anmerkung: jeder nicht deklarierte Bezeichner wird nur einmal für jede Funktion, in der er vorkommt, gemeldet

lib/oid_registry.c:65:9: Fehler: »oid_index« nicht deklariert (erste Verwendung in dieser Funktion)

   len = oid_index[oid + 1] - oid_index[oid];

         ^~~~~~~~~

lib/oid_registry.c:79:22: Fehler: »oid_data« nicht deklariert (erstmalige Verwendung in dieser Funktion); meinten Sie »OID_data«?

    unsigned char a = oid_data[oid_index[oid] + --len];

                      ^~~~~~~~

                      OID_data

lib/oid_registry.c: In Funktion »sprint_OID«:

lib/oid_registry.c:173:19: Fehler: »oid_data« nicht deklariert (erstmalige Verwendung in dieser Funktion); meinten Sie »OID_data«?

  ret = sprint_oid(oid_data + oid_index[oid],

                   ^~~~~~~~

                   OID_data

lib/oid_registry.c:173:30: Fehler: »oid_index« nicht deklariert (erste Verwendung in dieser Funktion)

  ret = sprint_oid(oid_data + oid_index[oid],

                              ^~~~~~~~~

  CC      arch/x86/lib/error-inject.o

make[1]: *** [scripts/Makefile.build:303: lib/oid_registry.o] Fehler 1

make: *** [Makefile:1047: lib] Fehler 2

make: *** Es wird auf noch nicht beendete Prozesse gewartet....

  AS      arch/x86/lib/getuser.o

```

Die Moduleinrichtung schlägt fehl

```
fritz linux # make modules-install

make: *** Keine Regel, um „modules-install“ zu erstellen.  Schluss.
```

Ich glaube es macht wenig Sinn den Kernel zu installieren. 

Beim Suchen im Netz habe ich für mich keine verwertbaren Informationen erhalten können.

Von welcher Seite kann ich mich dem Problem nähern? Wer hat eine Idee?

Als ich die Kerneleinstellungen überprüft habe, waren es genau die, die ich ursprünglich eingestellt hatte, bwohl ich bei der Prüfung die 

```
/usr/src/linux/.config
```

 umbenannt hatte. Somit habe ich keine komplett neue Konfiguration erzeugen können.

LG Micha

----------

## musv

Nach Übernahme der alten .config in den neuen Kernel solltest du erst mal ein 

```
make oldconfig
```

aufrufen. Allerdings macht wohl make menuconfig dasselbe, bevor Dir die Konfigurationsoberfläche präsentiert wird. 

Der von Dir beschriebene Fehler klingt irgendwie nach einer inkompatiblen Headerdatei, in der die Definitionen fehlen. Ist aber nur so ein Schuss ins Blaue. Selbst wirst du da nicht viel machen können. Wird wohl eher ein Kernelbug sein.

Eine andere Möglichkeit wäre, dass Deine Kernelconfig verstrubbelt ist. Kannst ja mal anfangen, mit 

```
make clean
```

eine komplett neue Kernelconfig zu erstellen.

----------

## LuxJux

Sind das dann die Kernel-Einstellungen vom Profil ? (Edit: bzw der stage3)

Oder ist der Kernel dann ganz leer ?

Müssen Internet, Grafikkarte und Audio manuell dazueditiert werden ?

----------

## Child_of_Sun_24

Nur mal so am Rande, es heißt "make modules_install" nicht "make modules-install"

----------

## mptaiko

Hallo und vielen Dank für eure Hinweise.

Child of Sun - Dein Tipp war gut. Ich hatte auf meiner Checkliste tatsächlich keinen Unterstrich!! - Aber

Musv - hatte auch recht. Ich habe irgendwie meine Kernelkonfiguration dermaßen zerschossen, dass ich den Kernel komplett neu bauen musste. Der Hinweis von Child of Sun funktionierte erst, nachdem ich 

```
make clean
```

 ausgeführt und die neuen Werte über 

```
make menuconfig
```

 eingegeben hatte. Da wie geagt bei meiner alten .config eine Headerdatei nicht geladen wurde, blieb mir nichts anderes übrig - aber Make clean kannte ich noch nicht!

Diesmal war ich aber schlauer. Ich habe mir alle Änderungen an den Grundeinstellungen in eine separate Datei geschrieben!!

Lux Jux - was ich jetzt noch einmal machen muss - ist das Soundsystem anpassen. Alles ander funktioniert wieder! Dazu habe ich jetzt aber keine Lust mehr. 

Nochmals allen Helfern - vielen Dank. Habe wieder was gelernt - und wenn es nur ein bisschen üben beim Kernelinstallieren war.

LG Micha

----------

## Max Steel

Wenn dein Kernel mal zufriedenstellend läuft reicht das kopieren der .config in die neuen Kernelsourcen und dort ein make oldconfig auszuführen. Dann wirst du bei neuen Optionen gefragt was du tun willst und ansonsten werden die Einstellungen übernommen.

Damit ist der Upgrade echt einfach... fast.

----------

## mptaiko

Hallo Max,

danke für die Info. Ich bin ja noch Gentooanfänger. Und in diesem Sinne ist es gut, ab und zu einmal einen Kernel von Grund auf zu kompilieren, denn der Lerneffekt ist nicht unerheblich. Wiederholung ist die Mutter der Wissenschaft - sagen wohl Lateiner. 

Andererseits ist es so auch möglich, die Konfiguration schrittweise zu verfeinern. Und wenn dann wieder mal was Scheußliches passiert, geht man anhand seiner Checkliste die einzelnen Schritte wieder durch.

Ich werde mich auf jeden Fall eingehender mit dem Kernel befassen. In anderen Distros kommt man mit dem "Kerngeschäft" fast gar nicht in Berührung. Vielleicht bekomme ich ja sogar noch  raus, welche Einstellung zu diesem Verhalten geführt hat. Es waren schließlich alle KVM-Einstellungen wie im Wiki beschrieben. 

Kurz und gut - Gentoo macht schon Spaß!

LG Micha

----------

