kwestia zewnetrznych modulow do kernela

Tomasz Kłoczko kloczek w rudy.mif.pg.gda.pl
Pon, 6 Wrz 1999, 15:42:22 CEST


On Mon, 6 Sep 1999, Robert Slaski wrote:

> Jacek Konieczny wrote:
> > 
> > Raczej nie. Przecież źródła tych modułów nie są rozprowadzane z jądrem.
> > Nie można przecież mieszać pakietów, bo będzie bajzel.
> > Ktoś kompiluje jądro - to kompiluje jądro, a nie vmware - i powinien mu
> > wystarczyć spec oraz źródła kernela (oraz łaty, ale nie dodatkowe modułyu).
> 
> Moja propozycja idzie wlasnie w kierunku 'odciazenia' kernela. Zarowno w
> RH, jak i w MDK, cala pcmcia 'ginie' w kernelu, tzn budowana jest ze
> speca kernela i znajduje sie w: kernel-x.y.z (moduly) oraz
> kernel-pcmcia-cs-x.y.z (reszta softu). I nawet nie widac przy tym, ktora
> jest to wersja pcimci. Ja chce (byc moze jako rozwiazanie przejsciowe)
> wydlubac pcimcie z kernela i zostawic tylko moduly.

Żeby na to pytanie odpowiedzieć trzeba sobie (najpierw) zadać pytanie po
co się łączy takie rzeczy i/lub po co się rozdzieal. Łączy sie dlatego
żeby to _było proste_ do zbudowanai i żeby przy właczonym mod version info
w konfiguracji modułów moułu zewnętrzne w stosunku do kernela nie gryzły
się z kernelem.

Mniej więcej z dość podobnych powodów dzieli się (o dziwo) te rzeczy i to
po mimo tego że cele jakie trzaba osiagać w tych dwuch podejściach są do
pewnego stopnia przeciwstawne.  A Dzieli się je żeby _było prosto_ w
momencie keidy się nie używa źródeł kernela z dystrybucji tylko
normalne/seryjne z tar.gz.

Dla tych dla których lepsze jest piewrwsze podejście ważne żeby to
wszystko jakoś działało bez wnikania w szczegóły. Dla tych drugich ważne
jest to, że prawie zawsze już w momencie wyjścia dystrybucji już jest
dostępna kolejna wersja kernela i tacy w swoim systemie wykonując "rpm -qa
| grep kernel" dostają ciąg pusty jako wynik.

Kolejna sprawa to to, że moduły zewnętrzne to nie tylko pcmcia-cs ale
także iBCS, vmware czy moduły jakie mają w sobie rózne inne emulatory jak
dosemu czy BasiliskII (emulator Maca).
I jeszcze jdno .. każde z powyższych to nie tylko źródła modułow ale także
dodatkowe narzędzia.
Kolejna rzecz którą warto podkreślić w przypadku pcmcia-cs to to, że
źródła tego czegoś są paskudnie prowadzone i już nie raz było o właczeniu
źródeł obsługi kart pcmcia w źródła kernela na co Linus chętnie by
przystał o ile ktoś wreszcie uporządkowałby bajzel jaki tam panuje.

Możan zadać sobie pytanie czym mają być pakiety z kernelem .. otóż IMHO
mają ine zawierać źródła jądra i modułów .. wszystkie narzadzia zewnętrzne
nie są częścią kernela i jako takie powinny być kompilowane w innych
pakietach.
W przypadku RH (a za nimi poszli ludzie z MDK .. nie zastanawiając się
widac za bardzo nad tym) poszli na łatwiznę co powoduje, że instalując
moduły kernela dostaje sie także moduły pcmcia i iBCSa.

W przyadku kiedy zapewnimy sobie że niezawodnie będziemy mogli zrobić
pakiety z dystrybucyjnym kernelem i nie pomieszać przy tym wersji modułów
dodatkowych mozna mieć wszystko rozdzielone. Dla neofity taka sytuacja
nie powinna być w najmniejszym stopniu komplikująca obsługę całości, a
obsługa pcmcia przy tym wpadnie do systemu (z kernelem) tylko wtedy kiedy
będzie potzrebna. Z drugiej strony dla kogoś kto bedzie chciał mieć pcmcia
i bedzi chciał kompilować kernel z własnych źródeł powyższe powinno być
też prostrze gyż po skompilowaniu nowego kernela wystaczyłoby wziąć
src.srpm z pcmcia, dosemu, vmware czy BasiliskII i wykonac proste "rpm
--rebuild .." żeby otrzymać binarki dopasowane do własnego systemu.

Jeżeli jeszcze raz w tym momencie się temu ptrzyjrzeć to lepiej byłoby
utrzymać właśnie separację, a argumenty w postaci tego czy coś jest
częścia czegoś nie mają i tak tu za bardzo znaczenia ponieważ powinny
decydować tutaj argumenty przemawiające za jakąś funkcjonalnościa lub jej
brakiem.

Jeżeliby utzumac powyższe podejście to sprawa dołaczania w przyszłości
jakichkolwiek innych modułów (a tych są dziesiątki zbiorów) byłaby jasna i
przejrzysta. Kwestia tylkko zapewnienia, że dysrybucyjne pakiety binarne z
kernelem i nmodułami dodatkwymi będą do siebie zawsze pasować .. co nie
powinno być trudne w obecnej sytuacji gdy to co się dzieje na build
hostach jest pod chyba wystarczająco dobrą kontrolą żeby takowy warunek
zapewnić.

Ktoś ma coś do dodania ? widzi to jakoś inaczej ?

kloczek
PS. spece z kernelem i pakietami zawierającymi moduły dodatkowe nie są
nadal gotowe.
-- 
-----------------------------------------------------------
*Ludzie nie mają problemów, tylko sobie sami je stwarzają*
-----------------------------------------------------------
Tomasz Kłoczko, sys adm @zie.pg.gda.pl|*e-mail: kloczek w rudy.mif.pg.gda.pl*



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