Nowe posty

Autor Wątek: Kompilacja Kernela  (Przeczytany 2507 razy)

Offline Grzegorz Ziemski

  • Users
  • Stały bywalec
  • ***
  • Wiadomości: 116
    • Zobacz profil
Kompilacja Kernela
« dnia: 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

Offline Pawel Plociennik

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 4
    • Zobacz profil
Kompilacja Kernela
« Odpowiedź #1 dnia: 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" :-)

Offline Grzegorz Ziemski

  • Users
  • Stały bywalec
  • ***
  • Wiadomości: 116
    • Zobacz profil
Kompilacja Kernela
« Odpowiedź #2 dnia: 2007-02-23, 19:31:12 »
Niestety nie pomaga.

Offline Maciej Rutecki

  • Administrator
  • Guru
  • *****
  • Wiadomości: 2107
    • Zobacz profil
Kompilacja Kernela
« Odpowiedź #3 dnia: 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

Offline Grzegorz Ziemski

  • Users
  • Stały bywalec
  • ***
  • Wiadomości: 116
    • Zobacz profil
Kompilacja Kernela
« Odpowiedź #4 dnia: 2007-02-23, 20:39:41 »
W make all pokazuje się to samo. Wydaje mi się, że coś w konfiguracji tego kernela jest źle.

Offline Piotr Chmura

  • Administrator
  • Guru
  • *****
  • Wiadomości: 5060
    • Zobacz profil
Kompilacja Kernela
« Odpowiedź #5 dnia: 2007-02-23, 22:06:16 »
w jaki sposób konfigurowałeś to jądro ?

Offline Grzegorz Ziemski

  • Users
  • Stały bywalec
  • ***
  • Wiadomości: 116
    • Zobacz profil
Kompilacja Kernela
« Odpowiedź #6 dnia: 2007-02-23, 22:19:10 »
Przez make xconfig

Offline Piotr Chmura

  • Administrator
  • Guru
  • *****
  • Wiadomości: 5060
    • Zobacz profil
Kompilacja Kernela
« Odpowiedź #7 dnia: 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'

Offline Grzegorz Ziemski

  • Users
  • Stały bywalec
  • ***
  • Wiadomości: 116
    • Zobacz profil
Kompilacja Kernela
« Odpowiedź #8 dnia: 2007-02-24, 08:45:40 »
2007-02-23 23:43:00 chmooreck napisał:

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

Offline Piotr Chmura

  • Administrator
  • Guru
  • *****
  • Wiadomości: 5060
    • Zobacz profil
Kompilacja Kernela
« Odpowiedź #9 dnia: 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...

Offline Marcin Kubat

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 45
    • Zobacz profil
Kompilacja Kernela
« Odpowiedź #10 dnia: 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.

Offline Paweł Smoliński

  • Administrator
  • Guru
  • *****
  • Wiadomości: 593
    • Zobacz profil
Kompilacja Kernela
« Odpowiedź #11 dnia: 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
Gutta cavat lapidem non vi, sed saepe cadendo / sic homo doctus fit non vi sed saepe studendo