am Sonntag, 11. Januar 2004 17:41 schrieb David Haller:
Leider klappt das mit keinem Kernel - auch nicht mit 2.4.20 (auf den ja auch die SuSE 8.2 aufbaut) und 2.4.24. Die Probleme sind bei allen Kerneln unterschiedlich: Mal bricht das Kompilieren des Kernels, mal das der Module an unterschiedlichen Stellen ab, mal geht ein make mudules_install schief. Den SuSE-Kernel und die Module hingegen kann ich kompilieren. Leider verraetst du nicht mit _welchen_ Fehler abgebrochen wird... Aber ich rate mal: du bekommst 'signal 11' bzw. 'segmentation fault'?
Nein, es sieht eigentlich eher nach einem Syntax-, make-Fehler o.ä. aus. Ich habe die .config des SuSE8.2-Kernels genommen und ein make oldconfig aufgerufen. Alle Komponenten, die ein 'm' zuliessen, haben das bekommen, alle anderen die Defaulteinstellung. Beim Kernel 2.4.20 (der von kernel.org) bricht 'make modules' so ab: ------------------------------------------------------------------------------------ horizon.c:2129: warning: comparison between signed and unsigned horizon.c: In function `atm_pcr_check': horizon.c:2147: warning: comparison between signed and unsigned horizon.c:2157: warning: comparison between signed and unsigned horizon.c: In function `hrz_check_args': horizon.c:2923: warning: comparison is always false due to limited range of data type horizon.c: At top level: /usr/src/linux-2.4.20/include/linux/module.h:299: warning: `__module_kernel_version' defined but not used horizon.c:2935: warning: `__module_license' defined but not used gcc -D__KERNEL__ -I/usr/src/linux-2.4.20/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=athlon -DMODULE -g -nostdinc -iwithprefix include -DKBUILD_BASENAME=ambassador -c -o ambassador.o ambassador.c In file included from /usr/src/linux-2.4.20/include/linux/atmdev.h:212, from ambassador.c:31: /usr/src/linux-2.4.20/include/linux/skbuff.h: In function `__pskb_pull': /usr/src/linux-2.4.20/include/linux/skbuff.h:855: warning: comparison between signed and unsigned /usr/src/linux-2.4.20/include/linux/skbuff.h: In function `pskb_may_pull': /usr/src/linux-2.4.20/include/linux/skbuff.h:871: warning: comparison between signed and unsigned In file included from ambassador.c:31: /usr/src/linux-2.4.20/include/linux/atmdev.h: In function `atm_may_send': /usr/src/linux-2.4.20/include/linux/atmdev.h:450: warning: comparison between signed and unsigned ambassador.c:301:21: pasting "." and "start" does not give a valid preprocessing token ambassador.c:305:23: pasting "." and "regions" does not give a valid preprocessing token ambassador.c:310:20: pasting "." and "data" does not give a valid preprocessing token ambassador.c: At top level: /usr/src/linux-2.4.20/include/linux/module.h:299: warning: `__module_kernel_version' defined but not used ambassador.c:2588: warning: `__module_license' defined but not used make[2]: *** [ambassador.o] Fehler 1 make[2]: Leaving directory `/usr/src/linux-2.4.20/drivers/atm' make[1]: *** [_modsubdir_atm] Fehler 2 make[1]: Leaving directory `/usr/src/linux-2.4.20/drivers' make: *** [_mod_drivers] Fehler 2 tux:/usr/src/linux-2.4.20 # ------------------------------------------------------------------------------------ Für den 2.4.24er Kernel habe ich die .config des obrigen 2.4.20er genommen und ein make oldconfig aufgerufen. Alle Komponenten, die ein 'm' zuliessen, haben das bekommen, alle anderen die Defaulteinstellung. Beim Kernel 2.4.24 (der von kernel.org) bricht das 'make modules' so ab: ------------------------------------------------------------------------------------ /usr/src/linux-2.4.24/include/linux/blkdev.h: In function `blk_queue_bounce': /usr/src/linux-2.4.24/include/linux/blkdev.h:192: warning: comparison between signed and unsigned /usr/src/linux-2.4.24/include/linux/blkdev.h: In function `blk_finished_sectors': /usr/src/linux-2.4.24/include/linux/blkdev.h:333: warning: comparison between signed and unsigned aic7xxx_osm.c: In function `ahc_linux_setup_tag_info_global': aic7xxx_osm.c:1614: warning: comparison between signed and unsigned aic7xxx_osm.c: In function `ahc_linux_setup_tag_info': aic7xxx_osm.c:1626: warning: comparison between signed and unsigned aic7xxx_osm.c: In function `ahc_linux_setup_dv': aic7xxx_osm.c:1639: warning: comparison between signed and unsigned aic7xxx_osm.c: In function `aic7xxx_setup': aic7xxx_osm.c:1691: warning: comparison between signed and unsigned aic7xxx_osm.c: In function `ahc_platform_abort_scbs': aic7xxx_osm.c:2168: warning: comparison between signed and unsigned aic7xxx_osm.c:2175: warning: comparison between signed and unsigned aic7xxx_osm.c: In function `ahc_linux_user_tagdepth': aic7xxx_osm.c:3560: warning: comparison between signed and unsigned aic7xxx_osm.c: In function `ahc_linux_user_dv_setting': aic7xxx_osm.c:3589: warning: comparison between signed and unsigned aic7xxx_osm.c: In function `ahc_send_async': aic7xxx_osm.c:4092: warning: comparison between signed and unsigned aic7xxx_osm.c: In function `ahc_done': aic7xxx_osm.c:4213: warning: comparison between signed and unsigned aic7xxx_osm.c: In function `ahc_linux_handle_scsi_status': aic7xxx_osm.c:4338: warning: comparison between signed and unsigned aic7xxx_osm.c: At top level: /usr/src/linux-2.4.24/include/linux/module.h:299: warning: `__module_kernel_version' defined but not used aic7xxx_osm.c:451: warning: `__module_license' defined but not used make[3]: *** [aic7xxx_osm.o] Fehler 1 make[3]: Leaving directory `/usr/src/linux-2.4.24/drivers/scsi/aic7xxx' make[2]: *** [_modsubdir_aic7xxx] Fehler 2 make[2]: Leaving directory `/usr/src/linux-2.4.24/drivers/scsi' make[1]: *** [_modsubdir_scsi] Fehler 2 make[1]: Leaving directory `/usr/src/linux-2.4.24/drivers' make: *** [_mod_drivers] Fehler 2 tux:/usr/src/linux-2.4.24 # ------------------------------------------------------------------------------------ Ich bin ein wenig verwundert, denn ich dachte, ein Orginalkernel kann in jedem Fall kompiliert werden wenn die Rahmenbedingungen (u.a. gcc-Version) stimmen. Besonders der Fehler beim 2.4.20 verwundert mich stark, denn darauf baut ja sie SuSE 8.2 auf. Deren Kernel und die Module kann ich hier problemlos erzeugen. -- Gruß Bernd PGP Key: 1024/90F8BC35 FP: 9C 1F D1 8B BD D0 FA 62 BA D6 C7 C8 89 7D 5F E8