Forum Linux.pl

System => Konfiguracja => Wątek zaczęty przez: Earth w 2007-02-23, 18:34:08

Tytuł: Kompilacja Kernela
Wiadomość wysłana przez: Earth w 2007-02-23, 18:34:08
Mam problem z komplikacją jądra.

---------------------------------------------------------------------------------------------------------------------
root@earth:/usr/src/linux-source-2.6.17# make dep && make bzImage && make modules
*** Warning: make dep is unnecessary now.
  CHK     include/linux/version.h
  SPLIT   include/linux/autoconf.h -> include/config/*
  CHK     include/linux/compile.h
  GZIP    kernel/config_data.gz
  IKCFG   kernel/config_data.h
  CC      kernel/configs.o
  LD      kernel/built-in.o
  GEN     .version
  CHK     include/linux/compile.h
  UPD     include/linux/compile.h
  CC      init/version.o
  LD      init/built-in.o
  LD      .tmp_vmlinux1
drivers/built-in.o: In function `ide_wait_not_busy':
(.text+0x86d11): undefined reference to `touch_nmi_watchdog'
make: *** [.tmp_vmlinux1] Błąd 1
root@earth:/usr/src/linux-source-2.6.17#
---------------------------------------------------------------------------------------------------------------------



Tak wygląda plik .config:


{ucięte - za długie...}
Kaka
Tytuł: Kompilacja Kernela
Wiadomość wysłana przez: tuksik-foksik w 2007-02-23, 18:59:28
2007-02-23 18:34:08 Earth napisał:

> Mam problem z komplikacją jądra.
 >
 > ---------------------------------------------------------------------------------------------------------------------
 > root@earth:/usr/src/linux-source-2.6.17# make dep && make bzImage && make
 > modules
 > *** Warning: make dep is unnecessary now.
   .   .   .
   .   .   .
   .   .   .
   .   .   .
 > CONFIG_GENERIC_HARDIRQS=y
 > CONFIG_GENERIC_IRQ_PROBE=y
 > CONFIG_X86_BIOS_REBOOT=y
 > CONFIG_KTIME_SCALAR=y
 
Prawdopodobnie nie wyczysciles pozostalosci zaleznosci miedzy modulami (make dep) po poprzedniej kompilacji.

przed "make dep" zastosuj "make clean" do wyczyszczenia smieci lub "make mrproper" ktory usunie smieci oraz dodatkowo plik po poprzedniej konfiguracji ".config" :-)
Tytuł: Kompilacja Kernela
Wiadomość wysłana przez: Earth w 2007-02-23, 19:31:12
Niestety nie pomaga.
Tytuł: Kompilacja Kernela
Wiadomość wysłana przez: Maciek_Rutecki w 2007-02-23, 19:43:56
2007-02-23 18:34:08 Earth napisał:

> Mam problem z komplikacją jądra.
 >
 > ---------------------------------------------------------------------------------------------------------------------
 > root@earth:/usr/src/linux-source-2.6.17# make dep && make bzImage && make
 > modules


W 2.6 spróbuj tak tak: make clean&& make all&& make modules_install&& make install.

--
Maciek
Tytuł: Kompilacja Kernela
Wiadomość wysłana przez: Earth w 2007-02-23, 20:39:41
W make all pokazuje się to samo. Wydaje mi się, że coś w konfiguracji tego kernela jest źle.
Tytuł: Kompilacja Kernela
Wiadomość wysłana przez: chmooreck w 2007-02-23, 22:06:16
w jaki sposób konfigurowałeś to jądro ?
Tytuł: Kompilacja Kernela
Wiadomość wysłana przez: Earth w 2007-02-23, 22:19:10
Przez make xconfig
Tytuł: Kompilacja Kernela
Wiadomość wysłana przez: chmooreck w 2007-02-23, 23:43:00
a na podstawie jakiego startego/działającego config'a, czy wszystkie opcje chciałeś poprawnie ustawić ręcznie ?

P.S. poczytaj o 'make oldconfig'
Tytuł: Kompilacja Kernela
Wiadomość wysłana przez: Earth w 2007-02-24, 08:45:40
2007-02-23 23:43:00 chmooreck napisał:

Na podstawie nowego i wszystko chciałem ustawić ręcznie.
Tytuł: Kompilacja Kernela
Wiadomość wysłana przez: chmooreck w 2007-02-24, 20:58:53
2007-02-24 08:45:40 Earth napisał:

 > Na podstawie nowego i wszystko chciałem ustawić ręcznie.

To weź sobie jako bazę jakiś działający config, tylko dostosuj go do swoich potrzeb...
Tytuł: Kompilacja Kernela
Wiadomość wysłana przez: marcinqu w 2007-03-02, 11:19:25
2007-02-23 18:34:08 Earth napisał:

> Mam problem z komplikacją jądra.
> drivers/built-in.o: In function `ide_wait_not_busy':
 > (.text+0x86d11): undefined reference to `touch_nmi_watchdog'
 > make: *** [.tmp_vmlinux1] Błąd 1
 > root@earth:/usr/src/linux-source-2.6.17#

miałem ten sam problem
przy wyłączeniu SMP musi byś zaznaczona opcja:

Local APIC support on uniprocessors

tak na marginesie proponowałbym zwrócić większą uwagę na tytuł wypowiedzi.
"Kompilacja kernel" IMO jest zbyt ogólny.
Tytuł: Kompilacja Kernela
Wiadomość wysłana przez: ZipoKing w 2007-03-02, 11:50:27
Jak widać, sprawa tyczy się wersji 2.6.17.
Polecam zajrzeć do kodu jądra (funkcja touch_nmi_watchdog() zdefiniowana jest w arch/i386/nmi.c) i sprawdzić, czy wszystko jest tam OK (tzn. czy jest tam wiersz EXPORT_SYMBOL(touch_nmi_watchdog)) i sprawdzić, czy plik ten jest przede wszystkim kompilowany (w katalogu tym jest plik nmi.o) - jeśli tego pliku nie ma, wina leży tylko i wyłącznie po stronie configa