Problemy w budowaniu modułów okołokernelowych ze specy

Arkadiusz Miskiewicz arekm w pld-linux.org
Pią, 21 Kwi 2006, 13:43:34 CEST


On Friday 21 April 2006 13:33, Bartosz Świątek wrote:
> Dnia piątek, 21 kwietnia 2006 12:59, Arkadiusz Miskiewicz napisał(a):
> > On Friday 21 April 2006 12:46, Bartosz Świątek wrote:
> > > Witam,
> > >
> > > Pisałem o tym już kiedyś, ale nie zaszkodzi jeszcze raz.
> > > Oprę się na przykładzie btsco.spec bo akurat jego przed chwilą
> > > przerabiałem. Problem polega na tym gdy buduje się speca z opcją
> > > --without dist_kernel dlatego, że już na wstępie jest burak. Kto o
> > > zdrowym umyśle ma w drzewku jądra config-nondist ? Nikt.
> >
> > Nie nikt tylko masz go tam zrobić jak chcesz --without dist_kernel
> > używać.
>
> Po co ? Da rade i bez.

Da? U mnie konfig jest w /fiu/bzdziu/config i sobie go symlinkuje 
pod /usr/src/linux/config-nondist.


> > Jak to dlaczego? Bo potrzebujesz mieć ten konfig w katalogu o/, a nie
> > w /usr/src/costam.
>
> Jeśli robie czysty make to nie potrzebuje go w o/.
Swego czasu potrzebował bo inaczej chciał robić skrypty różne 
w /usr/src/linux, a to jest read-only. Testowałeś swoją metodę na 2.6.14.x z 
AC i 2.6.16 cieciwowym?

>
> > > W
> > > ogóle całe linkowanie np. Module.symvers jest zbędne dla jajek
> > > niepldowych.
> >
> > Dlaczego zbędne? Bez tego nie generują się zależności pomiędzy modułami.
>
> Generują, mówimy tu o kernelu niedystrybucyjnym, czyli ktoś musiał go
> kompilować, są też na pewno źródła. Modules.symvers istnieje w drzewku.
> Mówie, że niepotrzebne jest linkowanie typu Modules.symvers-nondist ->
> Modules.symvers.
Ja kompilowałem i zrobiłem make clean na dowidzenia. Nadal mam 
niedystrybucyjny.

> > Po to są te opcje by w drzewku jądra się nic nie musiało zapisywać.
>
> Nie zrozumieliśmy się. Właśnie kiedy są te opcje to probuje coś zapisywać w
> drzewku jądra.
Coś się w takim razie musiało pozmieniać bo opcje O i M są właśnie od 
wskazania kbuildowi gdzie ma sobie pisać.


> Moja propozycja wygląda tak (patrz załączony btsco.spec). Nie jest
> ostateczna i chętnie popolemizuję nad jej zmianami. Jakoś trzeba to
> zmienić, żeby to działało w dwie strony. W obecnej wersji buduje się u mnie
> bez konieczności jakiegokolwiek linkowania czegokolwiek.

Pewnie by się uprosciło sprawę gdyby wymagać przekompilowanego kernela 
niedystrybucyjnego w /usr/src/linux.

-- 
Arkadiusz Miśkiewicz        PLD/Linux Team
arekm / maven.pl            http://ftp.pld-linux.org/


Więcej informacji o liście dyskusyjnej pld-devel-pl