Fehler beim compilieren von Kernel

Lesenswerte Artikel, Anleitungen und Diskussionen
unclefaster
Posts: 68
Joined: 2006-03-30 23:28

Fehler beim compilieren von Kernel

Post by unclefaster » 2006-09-19 22:10

Hi erstma,

ich denke mein problem ist in diesem forum besser aufgehoben.

ich hab nen server von server4you auf dem suse 9.3 läuft.

bei der anleitung von marvin_monroe ( http://www.rootforum.org/forum/viewtopic ... 585#267585 )komme ich auch fast bis zum schluss, leider nur "fast".

Ich beende dieses configurationsmenü mit klick auf "exit" vorauf ich die frage ob ich die config speichern möchte mit "yes" beantworte.

So, beim nächsten befehl, nämlich "make bzImage modules modules_install " kommen die ersten fehler.

Das kommt wenn ich "make bzImage modules modules_install" eingebe

CHK include/linux/version.h
CHK include/linux/compile.h
CC mm/filemap.o
mm/filemap.c: In function `add_to_page_cache_lru_tail':
mm/filemap.c:443: warning: implicit declaration of function `lru_cache_add_tail'
mm/filemap.c: At top level:
mm/filemap.c:449: error: redefinition of `add_to_page_cache_lru_tail'
mm/filemap.c:439: error: `add_to_page_cache_lru_tail' previously defined here
mm/filemap.c: In function `large_isize':
mm/filemap.c:818: error: `total_pages' undeclared (first use in this function)
mm/filemap.c:818: error: (Each undeclared identifier is reported only once
mm/filemap.c:818: error: for each function it appears in.)
mm/filemap.c: At top level:
mm/filemap.c:839: error: redefinition of `large_isize'
mm/filemap.c:817: error: `large_isize' previously defined here
mm/filemap.c: In function `large_isize':
mm/filemap.c:840: error: `total_pages' undeclared (first use in this function)
mm/filemap.c: At top level:
mm/filemap.c:817: warning: `large_isize' defined but not used
make[1]: *** [mm/filemap.o] Error 1
make: *** [mm] Error 2


Ja wenn ich dann "cp System.map /boot/System-map-2.6.17-cks1" eingebe kommt einfach nur "no such file or directory"

Wo hab ich einen fehler gemacht? Oder ist da einfach was falsch eingestellt?

Ich weiss jetzt immerhin das er kein image erstellt, was er anscheinend tun sollte.

MFG Uncle Faster

spasswolf
Posts: 27
Joined: 2006-06-09 11:00

Re: Fehler beim compilieren von Kernel

Post by spasswolf » 2006-09-19 22:24

Es sieht so aus, als ob in der Datei mm/filemap.c ein

Code: Select all

#include <who/knows>
fehlt, und etwas zweimal definiert wird(was dann doch nicht beutzt wird). Ist das der neuste cks-patch? Sieht aus wie win Bug im Patch, wenn es einen neueren Patch gibt, benutz den.

unclefaster
Posts: 68
Joined: 2006-03-30 23:28

Re: Fehler beim compilieren von Kernel

Post by unclefaster » 2006-09-19 23:15

also in der "mm/filemap.c" kann ich tatsächlich den eintrag "#include <who/knows>" nicht finden.

Kann ich denn einfach "#include <who/knows>" unter das hier schreiben?


* This file handles the generic file mmap semantics used by
* most "normal" filesystems (but you don't /have/ to use this:
* the NFS filesystem used to do this differently, for example)
*/
#include <linux/config.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/compiler.h>
#include <linux/fs.h>
#include <linux/aio.h>
#include <linux/capability.h>
#include <linux/kernel_stat.h>
#include <linux/mm.h>
#include <linux/swap.h>
#include <linux/mman.h>
#include <linux/pagemap.h>
#include <linux/file.h>
#include <linux/uio.h>
#include <linux/hash.h>
#include <linux/writeback.h>
#include <linux/pagevec.h>
#include <linux/blkdev.h>
#include <linux/security.h>
#include <linux/syscalls.h>
#include <linux/cpuset.h>
#include "filemap.h"
#include "internal.h"


und ja es ist der neueste patch.

Sonst vilt irgendwelche ahnungen woran es liegen könnte (hardware etc.)?

MFG Uncle Faster

flo
RSAC
Posts: 2297
Joined: 2002-07-28 13:02
Location: Berlin

Re: Fehler beim compilieren von Kernel

Post by flo » 2006-09-19 23:24

unclefaster wrote:also in der "mm/filemap.c" kann ich tatsächlich den eintrag "#include <who/knows>" nicht finden.

Kann ich denn einfach "#include <who/knows>" unter das hier schreiben?
[X] Du hast den obigen Beitrag gelesen
[X] Du hast ihn nicht wirklich verstanden

Generell gilt vorm Patchen ersteinmal zu testen, ob die Config so durchläuft und überhaupt korrekt ist.

Den 2.6er Kernel übersetzt man in erster Linie mit "make" und sieht zu, was er macht - lies Dir dringend die Anleitungen zu dem Thema und evtl. auch Umstieg/Übernahme Kernel24 - Kernel26.

flo.

unclefaster
Posts: 68
Joined: 2006-03-30 23:28

Re: Fehler beim compilieren von Kernel

Post by unclefaster » 2006-09-19 23:32

es läuft ja bereits ein 2.6er kernel mir geht es ja eigentlich nur um die config_hz=1000 damit unsere gameserver stabil auf tickrate 100 laufen......ich hätte also kein problem damit den bestehen kernel beizubehalten aber eben nur mit der timer freq. von 1000. das ist übrigens das erste mal das ich mit dem thema kernel befasse.

Also kann ich einfach in der "config-2.6.15-20060112174634-smp" die timer freq. auf 1000 umstellen? was muss ich weiter tun?

User avatar
daemotron
Administrator
Administrator
Posts: 2800
Joined: 2004-01-21 17:44

Re: Fehler beim compilieren von Kernel

Post by daemotron » 2006-09-20 09:21

Wenn Du nur einen Konfigurationsparameter im Kernel angepasst haben möchtest, gehst Du am besten folgendermaßen vor:
  • Zuerst Source-Paket des Kernels für Deine Distribution installieren (heißen meist linux-sources o. ä.)
  • Prüfen, ob die Kernel-Sourcen unter /usr/src/linux o. ä. abgelegt wurden. Ich verwende mal beispielhaft dieses Verzeichnis...
  • Konfiguration des bestehenden Kernels übernehmen. Entweder liegt in Deinem /boot-Verzeichnis bereits eine config-xyz Datei. Ansonsten bietet sich folgender Weg an:

    Code: Select all

    gunzip /proc/config.gz > /usr/src/linux/.config
  • Danach ins Verzeichnis /usr/src/linux wechseln und mit make menuconfig die (bereits bestehende) Kernel-Konfiguration anpassen. In Deinem Fall also Timer Frequency auf 1000 einstellen...
  • Kernel mit make erstellen. Falls (was im Falle eines Distributionskernels wahrscheinlich ist) auch einige Dinge als Kernel-Modul gebaut wurde, diese noch mit make modules_install installieren.
  • /usr/src/linux/arch/i386/boot/bzImage nach /boot kopieren (am besten mit neuem Dateinamen, z. B. kernel-eigenbau-2.6.16-r5 oder welche Version das auch immer sein mag). Außerdem die System.map und die .config-Datei entsprechend wegsichern (ich pack die auch immer mit nach /boot).
  • Bootloader entsprechend neu konfigurieren
  • Kiste neu starten und beten, dass es klappt.
HTH

[EDIT]
unclefaster wrote:Also kann ich einfach in der "config-2.6.15-20060112174634-smp" die timer freq. auf 1000 umstellen? was muss ich weiter tun?
Nein. Diese Datei ist nur ein Backup der .config-Datei, mit der der bestehende Kernel gebaut wurde. Du kannst sie aber (wie oben beschrieben) als Vorlage für das bauen eines eigenen Kernels benutzen...

User avatar
Joe User
Project Manager
Project Manager
Posts: 11583
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Fehler beim compilieren von Kernel

Post by Joe User » 2006-09-20 15:07

unclefaster wrote:Wo hab ich einen fehler gemacht?
Du verwendest keinen Vanilla-Source und wunderst Dich über Bugs!? Als Alpha/Beta-Tester solltest Du solche Bugs selbst fixen können...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

unclefaster
Posts: 68
Joined: 2006-03-30 23:28

Re: Fehler beim compilieren von Kernel

Post by unclefaster » 2006-09-20 16:44

ich sagte doch ich fummel das erste mal an einem kernel run und ihr bombardiert mich gleich mit sachen wie

Bootloader entsprechend neu konfigurieren
Source-Paket des Kernels für Deine Distribution installieren
Vanilla-Source ???
Als Alpha/Beta-Tester solltest Du solche Bugs selbst fixen können...

Ich wäre sehr dankbar wenn ihr mir ein bissschen mehr unter die Arme greifen könntet. Klar ihr schafft das wahrscheinlich innerhalb von 5 Minuten, aber ihr sitzt auch schon seit weiss Gott wie vielen Jahren vor Linux Kisten. Ich dagegen habe unter Linux in den 9 Monaten die ich mich mit Linux auseinander gesetzt habe lediglich sachen wie counterstrike, ts2, ventrilo oder sonstige spielereien installiert.

MFG Uncle Faster

mattiass
Userprojekt
Userprojekt
Posts: 608
Joined: 2005-12-16 17:57

Re: Fehler beim compilieren von Kernel

Post by mattiass » 2006-09-20 17:00

unclefaster wrote: Ich wäre sehr dankbar wenn ihr mir ein bissschen mehr unter die Arme greifen könntet. Klar ihr schafft das wahrscheinlich innerhalb von 5 Minuten, aber ihr sitzt auch schon seit weiss Gott wie vielen Jahren vor Linux Kisten.
Nö. Sitzen wir nicht.

Aber einen Linux-Kernel sollte man schon einmal vor den ersten Rootserver-Experimenten auf einem testrechner übersetzt haben.

Vanilla-Kernel sind die Kernel von http://www.kernel.org. Den Bootloader passt man meist in der /boot/grub/menu.lst an und Deine Konfigurationsdatei hat nunmal dem Namen nach den Eindruck erweckt, dass Du keinen Standardkernel verwendest.

User avatar
daemotron
Administrator
Administrator
Posts: 2800
Joined: 2004-01-21 17:44

Re: Fehler beim compilieren von Kernel

Post by daemotron » 2006-09-20 17:10

unclefaster wrote:ich sagte doch ich fummel das erste mal an einem kernel run und ihr bombardiert mich gleich mit sachen wie

Bootloader entsprechend neu konfigurieren
Source-Paket des Kernels für Deine Distribution installieren
Vanilla-Source ???
Als Alpha/Beta-Tester solltest Du solche Bugs selbst fixen können...
Ich sag's ja nicht gerne, aber wenn Du noch nicht mal weißt, wie man bei Deiner Distri ein Software-Paket einspielst, solltest Du darauf verzichten, einen Root-Server betreiben zu wollen - geschweige denn am Kernel herumspielen zu wollen, und das auf nem System, auf das Du nicht mal physischen Zugriff hast...

Und komm mir jetzt bitte nicht mit der Nummer "jeder fängt schließlich mal an" - ja, das tut er und das habe ich auch mal. Aber verdammt noch mal nicht auf einem Rootserver! Dafür gibt's VMWare oder notfalls ausrangierte Hardware zu Hause.

unclefaster
Posts: 68
Joined: 2006-03-30 23:28

Re: Fehler beim compilieren von Kernel

Post by unclefaster » 2006-09-20 18:16

"jeder fängt schließlich mal an" ^^ so ist es.

Der Kenel den ich instellieren wollte ist von kernel.org, der aktuelle kernel ist der den server4you drauf gemacht hat, bzw so haben wir den server übereicht bekommen. Und es wäre auch kein weltuntergang falls ich den server neu installieren lassen müsste. Es laufen nur 2 Gameserver und 1 Voiceserver drauf, was alles innerhalb von einer Stunde wieder da wäre.

Wie wärs mit ner schritt für schritt anleitung mit befehlen? pls :)

MFG Uncle Faster

mattiass
Userprojekt
Userprojekt
Posts: 608
Joined: 2005-12-16 17:57

Re: Fehler beim compilieren von Kernel

Post by mattiass » 2006-09-20 18:22

unclefaster wrote:
Der Kenel den ich instellieren
Es heisst "installieren"!
wollte ist von kernel.org, der aktuelle kernel ist der den server4you drauf gemacht hat, bzw so haben wir den server übereicht bekommen. Und es wäre auch kein weltuntergang falls ich den server neu installieren lassen müsste.

Wie wärs mit ner schritt für schritt anleitung mit befehlen? pls :)
OK, Vorbereitung: Existiert eine Datei /proc/config.gz?

Was sagt der folgende Befehl (Du ermittelst damit die Kernelversion)?

Code: Select all

uname -a
Was sagt der folgende Befehl (Du ermittelst damit den tatsächlich installierten Bootloader)?

Code: Select all

dd if=/dev/hda bs=446 count=1 | strings
Was sagt der folgende Befehl (wir finden damit heraus, ob Dein Kernel eine Initrd nutzt oder für den Bootvorgang benötigte Module statisch integriert sind)?

Code: Select all

lsmod

unclefaster
Posts: 68
Joined: 2006-03-30 23:28

Re: Fehler beim compilieren von Kernel

Post by unclefaster » 2006-09-20 19:33

- Ja die Datei /proc/config.gz existiert

- Linux sofia161 2.6.15-20060112174634-smp #1 SMP Thu Jan 12 17:46:34 UTC 2006 i686 athlon i386 GNU/Linux

- dd: opening `/dev/hda': No such device or address....es existieren zwar viele hda dateien aber alle mit dateigröße = 0

- Module Size Used by
nvram 12552 0
ipv6 245216 95
edd 13024 0
quota_v2 12800 2
joydev 12992 0
st 39968 0
sr_mod 19236 0
sg 37920 0
sis5513 18312 0 [permanent]
sis_agp 12292 0
ohci_hcd 22532 0
agpgart 35532 1 sis_agp
ehci_hcd 33416 0
usbcore 116228 3 ohci_hcd,ehci_hcd
parport_pc 40388 0
lp 14884 0
parport 36680 2 parport_pc,lp
dm_mod 55320 0
ext3 124808 1
jbd 64160 1 ext3
ide_cd 40580 0
cdrom 37408 2 sr_mod,ide_cd
sata_sis 11780 3
libata 57736 1 sata_sis
r8169 30472 0
raid1 22784 0
raid0 11520 0
ide_generic 5248 0 [permanent]
ide_disk 20096 0
ide_core 120144 4 sis5513,ide_cd,ide_generic,ide_disk
sd_mod 21248 4
scsi_mod 130824 5 st,sr_mod,sg,libata,sd_mod

MFG Uncle Faster

mattiass
Userprojekt
Userprojekt
Posts: 608
Joined: 2005-12-16 17:57

Re: Fehler beim compilieren von Kernel

Post by mattiass » 2006-09-20 19:36

unclefaster wrote:
- dd: opening `/dev/hda': No such device or address....es existieren zwar viele hda dateien aber alle mit dateigröße = 0
Wo ist denn der Bootloader dann installiert?

Der Befehl

Code: Select all

df 
könnte eine Ahnung verschaffen...

unclefaster
Posts: 68
Joined: 2006-03-30 23:28

Re: Fehler beim compilieren von Kernel

Post by unclefaster » 2006-09-20 19:38

Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda3 77633092 15719940 57969600 22% /
tmpfs 500872 0 500872 0% /dev/shm
/dev/sda1 101086 9267 86600 10% /boot

mattiass
Userprojekt
Userprojekt
Posts: 608
Joined: 2005-12-16 17:57

Re: Fehler beim compilieren von Kernel

Post by mattiass » 2006-09-20 19:44

unclefaster wrote:Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda3 77633092 15719940 57969600 22% /
tmpfs 500872 0 500872 0% /dev/shm
/dev/sda1 101086 9267 86600 10% /boot
Gut, ein Rechner mit Hardware-RAID. Du hast Dir die einfachste Baustelle für einen selbst kompilierten Kernel ausgesucht.

Du lädst zunächst den aktuellen 2.6.16.x von http://www.kernel.org herunter, entpackst ihn und wechselst in das enstandene Verzeichnis. Dort extrahierst Du die alte Konfiguration:

Code: Select all

gunzip -c /proc/config.gz > .config
und passt Sie auf die Standardkonfiguration an:

Code: Select all

make oldconfig
Alle Fragen kannst Du mit dem Default beantworten...

Probier dann man, ob Du mit

Code: Select all

make menuconfig
das textbasierte Konfigurationsmenü bekommst.

unclefaster
Posts: 68
Joined: 2006-03-30 23:28

Re: Fehler beim compilieren von Kernel

Post by unclefaster » 2006-09-20 19:55

OK hab ich gemacht ging auch alles, beim default wert waren immer [N,y,m,?] oder so ich nehme an das der default wert immer das ist was groß geschrieben war?!

Das textbasierte Menü kam auch hab die "Timer Frequenzy" auf 1000 umgestellt wie ich es mir wünsche, danach habe ich mit "exit" und mit dem beantworten der Frage nach dem speichern mit "yes" beendet.

mattiass
Userprojekt
Userprojekt
Posts: 608
Joined: 2005-12-16 17:57

Re: Fehler beim compilieren von Kernel

Post by mattiass » 2006-09-20 20:00

unclefaster wrote:OK hab ich gemacht ging auch alles, beim default wert waren immer [N,y,m,?] oder so ich nehme an das der default wert immer das ist was groß geschrieben war?!

Das textbasierte Menü kam auch hab die "Timer Frequenzy" auf 1000 umgestellt wie ich es mir wünsche, danach habe ich mit "exit" und mit dem beantworten der Frage nach dem speichern mit "yes" beendet.
Jetzt machste nochmal "make menuconfing" und konfigurierst alle SATA-Treiber, alle DM-Module und alle (benutzten) Dateisysteme (wohl Reiser, Ext2 und Ext3) als statische Bestandteile des Kernels, also mit * statt M.

Wenn Du das durch hast, suchst Du ein Webclipboard und pastest dort Deine .config rein.

PS: DU wolltest es ja nicht anders. Jetzt musst Du halt beschleunigt lernen :twisted:

unclefaster
Posts: 68
Joined: 2006-03-30 23:28

Re: Fehler beim compilieren von Kernel

Post by unclefaster » 2006-09-20 20:46

Also da komm ich jetzt nicht mehr weiter...

1. finde ich nichts mit SATA und DM-Modulen. Kannst du mir die ungefähren Menüpfade nennen?


2. Das mit den Dateisystemen hab ich gefunden, verstehe aber nicht wie ich das von M auf * ändern soll, ich hab mal versucht z.B. bei "Ext3 journalling file system support" einfach [SHIFT] + [*] zu drücken is aber nichts passiert.

Außerdem ist ein [M] nur bei

- Ext3 journalling file system support
- Reiserfs support
- JFS filesystem support
- XFS filysystem support
- OCFS2 filesystem support
- old quota format support
- kernel automounter support
und noch ein paar

//EDIT

achja ich hab bei google nach "Webclipboard" gesucht aber finde da nur sachen mit denen ich nichts anfangen kann. Bin ich richtig der Annahme dass das ein Forum sein soll? Weil mit dem suchbegriff finde ich echt kein forum. Und wieso soll ich da überhaupt die .config posten?

MFG Uncle Faster

mattiass
Userprojekt
Userprojekt
Posts: 608
Joined: 2005-12-16 17:57

Re: Fehler beim compilieren von Kernel

Post by mattiass » 2006-09-20 21:07

unclefaster wrote: verstehe aber nicht wie ich das von M auf * ändern soll,
Leertaste (ggf. zweimal)
achja ich hab bei google nach "Webclipboard" gesucht aber finde da nur sachen mit denen ich nichts anfangen kann.
Es geht um Seiten, auf die man wie auf das Clipboard des OS schnell mal eine Config stellen kann... Mir ist es jetzt zu doof, eine zu suchen.

unclefaster
Posts: 68
Joined: 2006-03-30 23:28

Re: Fehler beim compilieren von Kernel

Post by unclefaster » 2006-09-20 21:24

wenn ich Leertaste drücke kommt "[ ]" und nicht "[*]", wenn ich nochmal drücke kommt wieder [M]

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: Fehler beim compilieren von Kernel

Post by Roger Wilco » 2006-09-20 21:29

unclefaster wrote:1. finde ich nichts mit SATA und DM-Modulen. Kannst du mir die ungefähren Menüpfade nennen?
Device Drivers

unclefaster wrote:2. [...]
Außerdem ist ein [M] nur bei

- Ext3 journalling file system support
- Reiserfs support
- JFS filesystem support
- XFS filysystem support
Binde alle statisch in den Kernel ein, mit denen du deine Partitionen formatiert hast. Eigentlich reicht das Dateisystem der Rootpartition, aber sicher ist sicher...
unclefaster wrote:Bin ich richtig der Annahme dass das ein Forum sein soll? Weil mit dem suchbegriff finde ich echt kein forum.
http://rafb.net/paste/
http://www.paste.uni.cc/
unclefaster wrote:Und wieso soll ich da überhaupt die .config posten?
Ich sehe auch nicht ein, warum wir deine Hausaufgaben machen sollten.
unclefaster wrote:wenn ich Leertaste drücke kommt "[ ]" und nicht "[*]", wenn ich nochmal drücke kommt wieder [M]
Dann ist ein Treiber oder ein Option, die davon benötigt wird, auch nur als Modul eingebunden.

unclefaster
Posts: 68
Joined: 2006-03-30 23:28

Re: Fehler beim compilieren von Kernel

Post by unclefaster » 2006-09-20 21:33

also soll ichs dann lieber auf [M] lassen?!

mattiass
Userprojekt
Userprojekt
Posts: 608
Joined: 2005-12-16 17:57

Re: Fehler beim compilieren von Kernel

Post by mattiass » 2006-09-20 21:34

unclefaster wrote:Und wieso soll ich da überhaupt die .config posten?
Weil der Oberlehrer die Hausaufgaben kontrollieren will. Und wenn Du sie gut gemacht hast, bekommst Du einen Micky-Mouse-Stempel. ARRRGGGGH.

mattiass
Userprojekt
Userprojekt
Posts: 608
Joined: 2005-12-16 17:57

Re: Fehler beim compilieren von Kernel

Post by mattiass » 2006-09-20 21:35

unclefaster wrote:also soll ichs dann lieber auf [M] lassen?!
NEIN! NEIN! NEIN!