# [solved] make: *** [vmlinux.o] Error 1

## guije

Hallo Freunde, 

ich hatte etwas am Kernel verändert, das DRM Modul deaktiviert, dann ein

```
make && make modules_install

```

gemacht.

Dabei ist mir leider das Notebook ausgegangen, Akku lehr.

Jetzt wollte ich das ganze wiederholen und das sieht so aus :

```
guije linux # make && make modules_install

  CHK     include/linux/version.h

  CHK     include/generated/utsrelease.h

  CALL    scripts/checksyscalls.sh

  CHK     include/generated/compile.h

  LD      vmlinux.o

drivers/built-in.o: file not recognized: File format not recognized

make: *** [vmlinux.o] Error 1

```

Was ist da jetzt los ?

----------

## Josef.95

 *guije wrote:*   

> Dabei ist mir leider das Notebook ausgegangen, Akku lehr.

  Solche Stromausfälle sollten möglichst vermieden werden! Wurde denn beim beim booten die Dateisysteme wieder repariert? Das sollte als erstes sichergestellt werden!

Bei Unsicherheit prüfe es zb von einer LiveCd aus mit einem fsck

Ansonsten würde ich empfehlen den Kernelbaum zu säubern, zb mit einem 

```
# make mrproper
```

 Doch Vorsicht, damit wird auch die .config gelöscht! , also sichere sie bitte vor dem ausführen von " make mrproper", und kopiere sie dann zurück, dann sollte make hoffentlich wieder funktionieren.

----------

## guije

ok, das läuft soweit, ich habe natürlich als Anfänger den Fehler gemacht und dachte du meinst die make.config, das du etwas anderes meinst, die .config habe ich erst jetzt gerallt, bin ja noch Fahranfänger.

Nun denn, fürs nächste mal... wo liegt die .conf ?

Der Kernel wird gebaut, habe aber diese Fehlermeldungen bis jetzt entdeckt:

```
 HOSTCC  scripts/kallsyms

scripts/kallsyms.c: In function 'read_symbol':

scripts/kallsyms.c:112: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result
```

```
 CC      fs/quota/dquot.o

fs/quota/dquot.c:135: warning: 'quotatypes' defined but not used

```

und zum Schluß

```
WARNING: /lib/modules/2.6.34-gentoo-r12/video/fglrx.ko needs unknown symbol agp_backend_release

WARNING: /lib/modules/2.6.34-gentoo-r12/video/fglrx.ko needs unknown symbol agp_backend_acquire

WARNING: /lib/modules/2.6.34-gentoo-r12/video/fglrx.ko needs unknown symbol agp_bind_memory

WARNING: /lib/modules/2.6.34-gentoo-r12/video/fglrx.ko needs unknown symbol agp_unbind_memory

WARNING: /lib/modules/2.6.34-gentoo-r12/video/fglrx.ko needs unknown symbol agp_copy_info

WARNING: /lib/modules/2.6.34-gentoo-r12/video/fglrx.ko needs unknown symbol agp_free_memory

WARNING: /lib/modules/2.6.34-gentoo-r12/video/fglrx.ko needs unknown symbol agp_allocate_memory

WARNING: /lib/modules/2.6.34-gentoo-r12/video/fglrx.ko needs unknown symbol agp_enable

```

----------

## guije

So denn... ich gebe jetzt auf. Mache mir wieder Windos7 drauf. 

Dies war jetzt mein 2ter Ausflug in die Gentoo Welt, und wieder gescheitert, echt schade.

Auf jeden Fall habe ich mit dem neugebauten Kernel jetzt gar keine Chance mehr, der bringt mir irgendwas ganz seltsames beim booten.

Das auf jeden Fall was mit ATI-Driver zu tun hat.

Wenn ich dann CTLR+C drücke, läuft das booten zwar weiter und KDE startet, aber beim Fenster verschieben läuft das alles sowas von träge...

lsmod sagt mir dann auch das frglx nicht geladen ist. 

Ein modeprobe frglx sag FATAL ERROR.

Habe jetzt den alten Kernel im grub aktiviert um überhaupt noch arbeiten zu können.

Hier sehe ich beim booten aber jetzt auch eine Fehlermeldung die da lautet: ATI-AGP konnte nicht geladen werden...

Ich bin echt deprimiert.. egal Windos läuft ja.... Danke für eure Unterstützung, bis zum nächsten mal.

----------

## Josef.95

 *guije wrote:*   

> ok, das läuft soweit, ich habe natürlich als Anfänger den Fehler gemacht und dachte du meinst die make.config, das du etwas anderes meinst, die .config habe ich erst jetzt gerallt, bin ja noch Fahranfänger.
> 
> Nun denn, fürs nächste mal... wo liegt die .conf ?

  Huhh ja, ich meinte natürlich die Kernel .config

Diese lag (bevor sie mit make mrproper gelöscht wurde) im Source Verzeichnis deines Kernels, bei deiner Version also unter

/usr/src/linux-2.6.34-gentoo-r12/.config

oder, da du ja auch ein linux Symlink auf die Sources hast schlicht /usr/src/linux/.config

Nungut, ist blöd gelaufen. Doch das du noch Gentoo "Fahranfänger" bist kann ja hier auch niemand riechen...., in diesem Forum bist du ja doch schon seit etwa vier Jahren unterwegs  :Wink: 

 *guije wrote:*   

> Habe jetzt den alten Kernel im grub aktiviert um überhaupt noch arbeiten zu können.

  Dann könntest du versuchen deine alte .config wiederzubekommen, die .config des aktuell laufenden Kernels kann zb mit 

```
zcat /proc/config.gz
```

 eingesehen (oder auch kopiert) werden, sofern dies vom Kernel unterstützt wird.

----------

## root_tux_linux

 *guije wrote:*   

> So denn... ich gebe jetzt auf. Mache mir wieder Windos7 drauf.
> 
> Dies war jetzt mein 2ter Ausflug in die Gentoo Welt, und wieder gescheitert, echt schade. 

 

Wenn du bei jedem Problem aufgibst wirst du auch beim nächsten Ausflug  scheitern.

Gentoo ist nun mal keine  Easy2Use oder Nooby Distrubtion und da heisst es  Backen zusammen und durch. 

Ich glaub es hat uns alle am Anfang tierisch Nerven gekostet zumindest wars bei mir so  :Smile: 

 *Quote:*   

>  Auf jeden Fall habe ich mit dem neugebauten Kernel jetzt gar keine Chance mehr, der bringt mir irgendwas ganz seltsames beim booten.
> 
> Das auf jeden Fall was mit ATI-Driver zu tun hat. 
> 
> Wenn ich dann CTLR+C drücke, läuft das booten zwar weiter und KDE startet, aber beim Fenster verschieben läuft das alles sowas von träge...
> ...

 

Genaue Fehlermeldung?

Neuer Kernel  --->  Treiber neu kompilieren  ---> emerge --oneshot ati-drivers

 *Quote:*   

> 
> 
> Habe jetzt den alten Kernel im grub aktiviert um überhaupt noch arbeiten zu können.
> 
> Hier sehe ich beim booten aber jetzt auch eine Fehlermeldung die da lautet: ATI-AGP konnte nicht geladen werden...
> ...

 

Wie schon gesagt, wer sich damit nicht beschäftigen will, wird auch beim nächsten mal scheitern.

PS. Warning != Error

----------

## guije

Stimmt Du hast Recht, und deswegen bleibe ich dabei....

Backen zusammen und durch.... Microsoft ??? Ich bin doch nicht blöd, morgen gehts weiter. Windows ist nichts für mich.

Danke für die Aufbauenden Gedanken.

Ich bleibe dabei... Linux ist die bessere Wahl.

----------

## Finswimmer

Sah der Error so aus:

$modprobe  aeaieai

FATAL: Module aeaieai not found.

Dann gibt es das Modul für den Kernel nicht. Wenn du make mrproper gemacht hat, dann löscht er auch alle Module, die von Dritten installiert werden.

Installier also wieder ati-drivers. Oder nimm die OpenSource Treiber (xf86-video-ati).

(root_tux_linux hat das auch schon angedeutet, aber zum besseren Verständnis habe ich es noch mal ausformuliert)

Tobi

----------

## Max Steel

Du kannst dir aus make und dem neubaun der Module auch ein Skript basteln:

```
#!/bin/sh

make "${@}"&& make install && make modules_install && module-rebuild rebuild
```

make "${@}" ist dafür da den Kernel zu baun, mit der Variablen @ die du per ${@} einbindest kannst du diesem Befehl noch Parameter mitgeben wie z.B. -jN (N Jobs parallel)

make install installiert die den Kernel nach /boot/

Wenn du einen Symlink namens vmlinuz unter auf den aktuellen Kernel gesetzt und die grub.conf darauf angepasst hast wird dir make install außerdem den Symlink auf den aktuellen, sowie vmlinuz.old auf den vorherigen Kernel zeigen lassen.

make modules_install ist wie schon erwähnt dafür da die kernel-eigenen Module zu installieren.

und module-rebuild ist ein Befehl welcher dir alle Kernel-module von dritten (also per emerge Installierte wie ati-drivers, virtualbox-modules, etc.) neubaut, wenn du sie einmal installiert hattest.

Nach dem Installieren (emerge module-rebuild) musst du einmal module-rebuild rebuild ausführen damit es portage bekannt ist und verwendet.

Dieses Skript kannst du dir unter /usr/local/bin/ legen (ich habs kmake genannt) und nicht vergessen ausführbar machen: chmod +x <datei>.

Du solltest wegen den Modulen von dritten vorher den Symlink /usr/src/linux auf den jeweils zu bauenden Kernel zeigen lassen.

----------

## Josef.95

 *Finswimmer wrote:*   

> Wenn du make mrproper gemacht hat, dann löscht er auch alle Module, die von Dritten installiert werden.

  Sorry nein, dem ist nicht so.

 *make help wrote:*   

> Cleaning targets:
> 
>   mrproper        - Remove all generated files + config + various backup files

  Da ich mir aber auch nicht hundertprozentig sicher war hab ich es getestet --> Nach einem mrproper sind externe Module weiterhin unter /lib/modules/Kernelversion vorhanden und auch noch ladbar.

@guije

Ich würde aber dennoch nach dem Crash auch empfehlen deinen Kernel samt externer Module ein mal sauber komplett neu zu bauen.

Ich würde dazu auch das /lib/modules/Kernelversion Verzeichnis löschen oder durch umbenennen wegsichern.

boote dann deinen alten noch lauffähigen kernel und gehe etwa wie folgt vor: 

```
cd /usr/src/linux

make mrproper

zcat /proc/config.gz > /usr/src/linux/.config

make oldconfig

make && make modules_install
```

 Und nicht vergessen dann das bzImage auch nach /boot zu kopieren, und es ggf in grub bereitzustellen.

Nun noch deine externen Module neu bauen (wie bereits erwähnt, für dein fglrx Modul mit "emerge ati-drivers") Dann sollte es soweit wieder passen.

----------

## Josef.95

Prima, es scheint ja nun geklappt zu haben.

Eine bitte noch, setze ein Präfix doch bitte in eckige Klammern, und wenn möglich auch vor den Titel

danke

----------

