samba Napisano Listopad 4, 2006 Zgłoszenie Share Napisano Listopad 4, 2006 Witam.Mama karte sieciowa INTEL pro/1000 MT Dual port (serwerowa).Na FC 6 mam nastepujacy problem . gry robie make install wywala mi cos takiego [root@localhost e1000-7.2.9]# cd src [root@localhost src]# make install Makefile:65: *** Linux kernel source not found. Stop. Sciagnalem wiec yum install kernel-devel i dalej to samo. Sciagnalem jeszcze kernel-2.16.18-1.2798.fc6.src.rpm po zainstalowaniu tego mam dalej blad Makefile:65: *** Linux kernel source not found. Stop. Przeczytalem ze w pliku Makefile trzeba zmienic sciezke do zródel bo moze instalator nie widzi ich tak wiec oryginalny plik make file wygladal tak ########################################################################### # Driver files # core driver files CFILES = e1000_main.c e1000_hw.c e1000_param.c \ e1000_ethtool.c kcompat.c HFILES = e1000.h e1000_hw.h e1000_osdep.h kcompat.h ifeq (,$(BUILD_KERNEL)) BUILD_KERNEL=$(shell uname -r) endif ########################################################################### # Environment tests # Kernel Search Path # All the places we look for kernel source KSP := /lib/modules/$(BUILD_KERNEL)/build \ /lib/modules/$(BUILD_KERNEL)/source \ /usr/src/linux-$(BUILD_KERNEL) \ /usr/src/linux-$($(BUILD_KERNEL) | sed 's/-.*//') \ /usr/src/kernel-headers-$(BUILD_KERNEL) \ /usr/src/kernel-source-$(BUILD_KERNEL) \ /usr/src/linux-$($(BUILD_KERNEL) | sed 's/\([0-9]*\.[0-9]*\)\..*/\1/') \ /usr/src/linux # prune the list down to only values that exist # and have an include/linux sub-directory test_dir = $(shell [ -e $(dir)/include/linux ] && echo $(dir)) KSP := $(foreach dir, $(KSP), $(test_dir)) # we will use this first valid entry in the search path ifeq (,$(KSRC)) KSRC := $(firstword $(KSP)) endif ifeq (,$(KSRC)) $(error Linux kernel source not found) else ifeq (/lib/modules/$(shell uname -r)/source, $(KSRC)) KOBJ := /lib/modules/$(shell uname -r)/build else KOBJ := $(KSRC) endif endif # check for version.h and autoconf.h for running kernel in /boot (SUSE) ifneq (,$(wildcard /boot/vmlinuz.version.h)) VERSION_FILE := /boot/vmlinuz.version.h CONFIG_FILE := /boot/vmlinuz.autoconf.h KVER := $(shell $(CC) $(CFLAGS) -E -dM $(VERSION_FILE) | \ grep UTS_RELEASE | awk '{ print $$3 }' | sed 's/\"//g') ifeq ($(KVER),$(shell uname -r)) # set up include path to override headers from kernel source x:=$(shell rm -rf include) x:=$(shell mkdir -p include/linux) x:=$(shell cp /boot/vmlinuz.version.h include/linux/version.h) x:=$(shell cp /boot/vmlinuz.autoconf.h include/linux/autoconf.h) CFLAGS += -I./include else VERSION_FILE := $(KOBJ)/include/linux/version.h CONFIG_FILE := $(KSRC)/include/linux/autoconf.h endif else ifneq (,$(wildcard $(KOBJ)/include/linux/utsrelease.h)) VERSION_FILE := $(KOBJ)/include/linux/utsrelease.h else VERSION_FILE := $(KOBJ)/include/linux/version.h endif CONFIG_FILE := $(KSRC)/include/linux/autoconf.h endif ifeq (,$(wildcard $(VERSION_FILE))) $(error Linux kernel source not configured - missing version.h) endif ifeq (,$(wildcard $(CONFIG_FILE))) $(error Linux kernel source not configured - missing autoconf.h) endif # pick a compiler ifneq (,$(findstring egcs-2.91.66, $(shell cat /proc/version))) CC := kgcc gcc cc else CC := gcc cc endif test_cc = $(shell $(cc) --version > /dev/null 2>&1 && echo $(cc)) CC := $(foreach cc, $(CC), $(test_cc)) CC := $(firstword $(CC)) ifeq (,$(CC)) $(error Compiler not found) endif # we need to know what platform the driver is being built on # some additional features are only built on Intel platforms ARCH := $(shell uname -m | sed 's/i.86/i386/') ifeq ($(ARCH),alpha) CFLAGS += -ffixed-8 -mno-fp-regs endif ifeq ($(ARCH),x86_64) CFLAGS += -mcmodel=kernel -mno-red-zone endif ifeq ($(ARCH),ppc) CFLAGS += -msoft-float endif ifeq ($(ARCH),ppc64) CFLAGS += -m64 -msoft-float LDFLAGS += -melf64ppc endif # standard flags for module builds CFLAGS += -DLINUX -D__KERNEL__ -DMODULE -O2 -pipe -Wall CFLAGS += -I$(KSRC)/include -I. CFLAGS += $(shell [ -f $(KSRC)/include/linux/modversions.h ] && \ echo "-DMODVERSIONS -DEXPORT_SYMTAB \ -include $(KSRC)/include/linux/modversions.h") CFLAGS += $(CFLAGS_EXTRA) #ifeq (,$(shell echo $(CFLAGS_EXTRA) | grep NAPI)) #CFLAGS += -DE1000_NO_NAPI #CFLAGS_EXTRA += -DE1000_NO_NAPI #endif RHC := $(KSRC)/include/linux/rhconfig.h ifneq (,$(wildcard $(RHC))) # 7.3 typo in rhconfig.h ifneq (,$(shell $(CC) $(CFLAGS) -E -dM $(RHC) | grep __module__bigmem)) CFLAGS += -D__module_bigmem endif endif # get the kernel version - we use this to find the correct install path KVER := $(shell $(CC) $(CFLAGS) -E -dM $(VERSION_FILE) | grep UTS_RELEASE | \ awk '{ print $$3 }' | sed 's/\"//g') KKVER := $(shell echo $(KVER) | \ awk '{ if ($$0 ~ /2\.[4-9]\./) print "1"; else print "0"}') ifeq ($(KKVER), 0) $(error *** Aborting the build. \ *** This driver is not supported on kernel versions older than 2.4.0) endif # set the install path INSTDIR := /lib/modules/$(KVER)/kernel/drivers/net/e1000 # look for SMP in config.h SMP := $(shell $(CC) $(CFLAGS) -E -dM $(CONFIG_FILE) | \ grep -w CONFIG_SMP | awk '{ print $$3 }') ifneq ($(SMP),1) SMP := 0 endif ifneq ($(SMP),$(shell uname -a | grep SMP > /dev/null 2>&1 && echo 1 || echo 0)) $(warning ***) ifeq ($(SMP),1) $(warning *** Warning: kernel source configuration (SMP)) $(warning *** does not match running kernel (UP)) else $(warning *** Warning: kernel source configuration (UP)) $(warning *** does not match running kernel (SMP)) endif $(warning *** Continuing with build,) $(warning *** resulting driver may not be what you want) $(warning ***) endif ifeq ($(SMP),1) CFLAGS += -D__SMP__ endif ########################################################################### # 2.4.x & 2.6.x Specific rules K_VERSION:=$(shell uname -r | cut -c1-3 | sed 's/2\.[56]/2\.6/') ifeq ($(K_VERSION), 2.6) # Makefile for 2.6.x kernel TARGET = e1000.ko # man page MANSECTION = 7 MANFILE = $(TARGET:.ko=.$(MANSECTION)) ifneq ($(PATCHLEVEL),) EXTRA_CFLAGS += $(CFLAGS_EXTRA) obj-m += e1000.o e1000-objs := $(CFILES:.c=.o) else default: ifeq ($(KOBJ),$(KSRC)) make -C $(KSRC) SUBDIRS=$(shell pwd) modules else make -C $(KSRC) O=$(KOBJ) SUBDIRS=$(shell pwd) modules endif endif else # ifeq ($(K_VERSION),2.6) # Makefile for 2.4.x kernel TARGET = e1000.o # man page MANSECTION = 7 MANFILE = $(TARGET:.o=.$(MANSECTION)) # Get rid of compile warnings in kernel header files from SuSE ifneq (,$(wildcard /etc/SuSE-release)) CFLAGS += -Wno-sign-compare -fno-strict-aliasing endif # Get rid of compile warnings in kernel header files from fedora ifneq (,$(wildcard /etc/fedora-release)) CFLAGS += -fno-strict-aliasing endif .SILENT: $(TARGET) $(TARGET): $(filter-out $(TARGET), $(CFILES:.c=.o)) $(LD) $(LDFLAGS) -r $^ -o $@ echo; echo echo "**************************************************" echo "** $(TARGET) built for $(KVER)" echo -n "** SMP " if [ "$(SMP)" = "1" ]; \ then echo "Enabled"; else echo "Disabled"; fi echo "**************************************************" echo $(CFILES:.c=.o): $(HFILES) Makefile default: make endif # ifeq ($(K_VERSION),2.6) ifeq (,$(MANDIR)) # find the best place to install the man page MANPATH := $(shell (manpath 2>/dev/null || echo $MANPATH) | sed 's/:/ /g') ifneq (,$(MANPATH)) # test based on inclusion in MANPATH test_dir = $(findstring $(dir), $(MANPATH)) else # no MANPATH, test based on directory existence test_dir = $(shell [ -e $(dir) ] && echo $(dir)) endif # our preferred install path # should /usr/local/man be in here ? MANDIR := /usr/share/man /usr/man MANDIR := $(foreach dir, $(MANDIR), $(test_dir)) MANDIR := $(firstword $(MANDIR)) endif ifeq (,$(MANDIR)) # fallback to /usr/man MANDIR := /usr/man endif # depmod version for rpm builds DEPVER := $(shell /sbin/depmod -V 2>/dev/null | \ awk 'BEGIN {FS="."} NR==1 {print $$2}') ########################################################################### # Build rules $(MANFILE).gz: ../$(MANFILE) gzip -c $< > $@ install: default $(MANFILE).gz # remove all old versions of the driver find $(INSTALL_MOD_PATH)/lib/modules/$(KVER) -name $(TARGET) -exec rm -f {} \; || true find $(INSTALL_MOD_PATH)/lib/modules/$(KVER) -name $(TARGET).gz -exec rm -f {} \; || true install -D -m 644 $(TARGET) $(INSTALL_MOD_PATH)$(INSTDIR)/$(TARGET) ifeq (,$(INSTALL_MOD_PATH)) /sbin/depmod -a || true else ifeq ($(DEPVER),1 ) /sbin/depmod -r $(INSTALL_MOD_PATH) -a || true else /sbin/depmod -b $(INSTALL_MOD_PATH) -a -n $(KVERSION) > /dev/null || true endif endif install -D -m 644 $(MANFILE).gz $(INSTALL_MOD_PATH)$(MANDIR)/man$(MANSECTION)/$(MANFILE).gz man -c -P'cat > /dev/null' $(MANFILE:.$(MANSECTION)=) || true uninstall: if [ -e $(INSTDIR)/$(TARGET) ] ; then \ rm -f $(INSTDIR)/$(TARGET) ; \ fi /sbin/depmod -a if [ -e $(MANDIR)/man$(MANSECTION)/$(MANFILE).gz ] ; then \ rm -f $(MANDIR)/man$(MANSECTION)/$(MANFILE).gz ; \ fi .PHONY: clean install clean: rm -rf $(TARGET) $(TARGET:.ko=.o) $(TARGET:.ko=.mod.c) $(TARGET:.ko=.mod.o) $(CFILES:.c=.o) $(MANFILE).gz .*cmd .tmp_versions tak wiec dodalem w sekcji envoirment tests linijke /usr/src/redhat/SOURCES # Kernel Search Path # All the places we look for kernel source KSP := /lib/modules/$(BUILD_KERNEL)/build \ /lib/modules/$(BUILD_KERNEL)/source \ /usr/src/linux-$(BUILD_KERNEL) \ /usr/src/linux-$($(BUILD_KERNEL) | sed 's/-.*//') \ /usr/src/kernel-headers-$(BUILD_KERNEL) \ /usr/src/kernel-source-$(BUILD_KERNEL) \ /usr/src/linux-$($(BUILD_KERNEL) | sed 's/\([0-9]*\.[0-9]*\)\..*/\1/') \ /usr/src/linux /usr/src/redhat/SOURCES wywalilo mi blad Makefile:53: *** brakujacy separator (czyzby mial byc TAB zamiast 8 spacji?). Stop. Robilem to przez mcedit tak wiec wiersz cofnalem do konca backspace i nacisnalem kilka razy TAB aby dorównac do wiersza. Po zapisaniu pliku, gdy robie make file wywala mi Makefile:53: *** polecenia zaczynaja sie przed pierwszym obiektem. Stop. Prosze bardzo o pomoc co mam zrobic i co robie zle by zadzialalo mi make install ??????!!! Próbowalem szukac gotowego rpm dlla tej karty ale nie moglem znalesc, jesli komus z was udaloby sie to prosze o linka !!!! Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
exbros Napisano Listopad 4, 2006 Zgłoszenie Share Napisano Listopad 4, 2006 tak więc dodałem w sekcji envoirment tests linijkę /usr/src/redhat/SOURCES # Kernel Search Path # All the places we look for kernel source KSP := /lib/modules/$(BUILD_KERNEL)/build \ /lib/modules/$(BUILD_KERNEL)/source \ /usr/src/linux-$(BUILD_KERNEL) \ /usr/src/linux-$($(BUILD_KERNEL) | sed 's/-.*//') \ /usr/src/kernel-headers-$(BUILD_KERNEL) \ /usr/src/kernel-source-$(BUILD_KERNEL) \ /usr/src/linux-$($(BUILD_KERNEL) | sed 's/\([0-9]*\.[0-9]*\)\..*/\1/') \ /usr/src/linux /usr/src/redhat/SOURCES po /usr/src/linux dodaj \ Pozdro Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
samba Napisano Listopad 4, 2006 Autor Zgłoszenie Share Napisano Listopad 4, 2006 dodałem \ # Kernel Search Path # All the places we look for kernel source KSP := /lib/modules/$(BUILD_KERNEL)/build \ /lib/modules/$(BUILD_KERNEL)/source \ /usr/src/linux-$(BUILD_KERNEL) \ /usr/src/linux-$($(BUILD_KERNEL) | sed 's/-.*//') \ /usr/src/kernel-headers-$(BUILD_KERNEL) \ /usr/src/kernel-source-$(BUILD_KERNEL) \ /usr/src/linux-$($(BUILD_KERNEL) | sed 's/\([0-9]*\.[0-9]*\)\..*/\1/') \ /usr/src/linux \ /usr/src/redhat/SOURCES \ i dalej mam [root@localhost src]# make install Makefile:66: *** Linux kernel source not found. Stop. Co robić!!! ???????? Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
exbros Napisano Listopad 4, 2006 Zgłoszenie Share Napisano Listopad 4, 2006 dodałem \ # Kernel Search Path # All the places we look for kernel source KSP := /lib/modules/$(BUILD_KERNEL)/build \ /lib/modules/$(BUILD_KERNEL)/source \ /usr/src/linux-$(BUILD_KERNEL) \ /usr/src/linux-$($(BUILD_KERNEL) | sed 's/-.*//') \ /usr/src/kernel-headers-$(BUILD_KERNEL) \ /usr/src/kernel-source-$(BUILD_KERNEL) \ /usr/src/linux-$($(BUILD_KERNEL) | sed 's/\([0-9]*\.[0-9]*\)\..*/\1/') \ /usr/src/linux \ /usr/src/redhat/SOURCES \ Teraz znow troche przedobrzyles Dodales dwa \ ten drugi po /usr/src/redhat/SOURCES nie jest potrzebny... Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
gajownik Napisano Listopad 4, 2006 Zgłoszenie Share Napisano Listopad 4, 2006 Witam.Mama kartę sieciową INTEL pro/1000 MT Dual port (serwerowa).Na FC 6 mam następujący problem . gry robię make install wywala mi coś takiego [root@localhost e1000-7.2.9]# cd src [root@localhost src]# make install Makefile:65: *** Linux kernel source not found. Stop. 1° Dlaczego nie używasz modułu dostarczanego z jądrem? 2° Skoro już kompilujesz ręcznie sterownik, to dlaczego taka stara wersja? Przecież jest już nowsza → http://sourceforge.net/project/showfiles.p...ackage_id=54835 Przeczytałem że w pliku Makefile trzeba zmienić ścieżkę do źródeł bo może instalator nie widzi ich tak więc oryginalny plik make file wyglądał tak [ciach - pełno śmieciowatych komend] Ten Makefile to horror... Zastąp go tym: obj-m := e1000.o e1000-objs := e1000_ethtool.o \ e1000_hw.o \ e1000_main.o \ e1000_param.o \ kcompat.o \ KDIR := /lib/modules/$(shell uname -r)/build PWD := $(shell pwd) default: $(MAKE) -C $(KDIR) M=$(PWD) modules (daj cytuj i wtedy skopiuj tekst, bo IPB zamienia tabulacje na spacje). W źródłach jest jeszcze błąd - z pliku e1000.h usuń linijkę: #include <linux/config.h> Potem tylko wrzucić moduł do /lib/modules/$(uname -r)/extra/ i odpalić demod -ae. Ja Ci jednak radzę korzystać z modułu dostarczanego z jądrem. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
samba Napisano Listopad 6, 2006 Autor Zgłoszenie Share Napisano Listopad 6, 2006 name='gajownik' date='5 Nov 2006, 0:14 ' post='73995'] 1° Dlaczego nie używasz modułu dostarczanego z jądrem? 2° Skoro już kompilujesz ręcznie sterownik, to dlaczego taka stara wersja? Nie wiedziałem ze na sourceforge jest nowsza wersja.Na logikę myślałem że na stornie producenta karty dostanę najnowsze starowniki a tam są takie http://downloadfinder.intel.com/scripts-df...mp;submit=Go%21 Intel widać daje później nowsze sterowniki na swojej stronie ponieważ kiedy je ściągałem to wersja którą ściągnąłem była najnowszą dostępną. Gajownik skąd wiedziałeś o tym błędzie? Łebski z ciebie gość naprawdę jestem pod wrażeniem. W źródłach jest jeszcze błąd - z pliku e1000.h usuń linijkę: Jednakże dalej pokazuje mi że nie może znaleźć źródeł.Ściągnąłem numer jądra.src.rpm oraz kernel-devel kernel-headers rpm-build gdy uruchamiam źródła z normalnego usera to wywala mi błąd że nie może znaleść użytkownika i grupy bewbuilder i używa użytkownika root jednakże katalogi SPEC i SOURCES powstają. Co robie źle? Możecie podesłać mi jakiś oficjalny link do budowy źródeł? Na innym kompie też na FC6 udało mi się zrobić rpm ze źródeł dla tej karty a u siebie nie mogę.Prawdopodobnie mam źle zainstalowane źródła?? Jak to sprawdzić? Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
roger_sanchez87 Napisano Listopad 6, 2006 Zgłoszenie Share Napisano Listopad 6, 2006 Na innym kompie też na FC6 udało mi się zrobić rpm ze źródeł dla tej karty a u siebie nie mogę.Prawdopodobnie mam źle zainstalowane źródła?? Jak to sprawdzić? To dlaczego z niego nie skorzystasz? Nie ma znaczenia na jakim kompie robisz rpm... przykładem mogą być repo Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
gajownik Napisano Listopad 6, 2006 Zgłoszenie Share Napisano Listopad 6, 2006 Na logikę myślałem że na stornie producenta karty dostanę najnowsze starowniki Tu się można grubo pomylić. Tak samo jest ze sterownikami do kart graficznych Intela ;-) Gajownik skąd wiedziałeś o tym błędzie? Skompilowałem? Miałem podobny problem z innymi modułami jądra. A tak przy okazji, dlaczego nie korzystasz z tego dostarczanego z kernelem? Jednakże dalej pokazuje mi że nie może znaleźć źródeł. Co pokazuje polecenie: ls /lib/modules/$(shell uname -r)/build Ściągnąłem numer jądra.src.rpm To Ci jest całkowicie niepotrzebne. oraz kernel-devel Co pokazują komendy: rpm -q kernel kernel-devel uname -r gdy uruchamiam źródła z normalnego usera to wywala mi błąd że nie może znaleść użytkownika i grupy bewbuilder i używa użytkownika root jednakże katalogi SPEC i SOURCES powstają. To jest mało ważne ostrzeżenie. Nic praktycznie nie znaczy, oprócz tego, że nie masz w systemie tej grupy/użytkownika ;-) Co robie źle? Możecie podesłać mi jakiś oficjalny link do budowy źródeł? Źródła jądra nie są Ci potrzebne. Wystarczą same pliki nagłówkowe. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się