2.6.x i skrypty startowe (fbset, hotplug, rc-scripts)
Jakub Bogusz
qboosh w pld-linux.org
Czw, 18 Mar 2004, 01:35:23 CET
Akurat po 102 dniach uptime na 2.6.0-test11 (stabilnie pracującego,
o ile nie robiłem paru rzeczy o których wiedziałem co spowodują) zaczęły
się dziać dziwne rzeczy (jakieś deadlocki w jądrze - w momencie, gdy
jakiś program - w szczególności g++ - zażyczył sobie *czegoś*
(prawdopodobnie pamięci, a może czegoś w systemie plików) stawały
wszystkie procesy próbujące się odwoływać do *czegoś* (pewnie tego
samego) - aż do momentu ubicia owego g++... ubicie X nieco złagodziło
sytuację, ale dużych plików nie dało się skompilować) - więc miałem
dobry pretekst do uaktualnienia.
Przy okazji zobaczyłem oopsa przy hotplug stop - który zresztą istnieje
nadal w 2.6.4 (to by było na tyle jeśli chodzi o używanie 2.6.x do celów
produkcyjnych w najbliższym czasie).
Ale do rzeczy: w dystrybucyjnym 2.6 jest CONFIG_FRAMEBUFFER_CONSOLE=y
i CONFIG_FB_${chipset}=m (nie licząc VESA, ale to... się i tak nie
nadaje do normalnej pracy - chyba że z łatami na VESA 3.0 i kartą
obsługującą te funkcje). Akurat teraz mam taką konfigurację (fbcon
wkompilowane, tdfxfb w module - zrezygnowałem z modularnego fbcon, bo
denerwował mnie brak obsługi FBIO{GET,PUT}_CON2FBMAP - używanych m.in.
przez fbi i DirectFB; a poza tym i tak rmmod fbcon wywala system).
Przy takiej konfiguracji po wczytaniu modułu i fbset to, co widać na
ekranie i to, co jest wyświetlane na konsoli to dwie różne rzeczy
(widać śmieci z pamięci karty graficznej, np. konsolę sprzed rebootu).
Z tego co wyśledziłem pomagają odpowiednie wywołania FBIOPUT_CON2FBMAP
(żeby fbcon przypiął konsole do framebuffera - jeśli moduł do fb jest
wczytywany po kodzie fbcon, to to się nie dzieje automatycznie).
witekfl dodał niedawno do pakietu fbset dodatkowy program wywołujący
tego ioctla - i proponuję go jednak dodać do skryptu fbset, bo
inaczej to działać nie będzie (nie, parametr -w dla open nie wystarcza).
Ktoś w ogóle próbował używać framebuffera innego niż vesa na
dystrybucyjnym 2.6?
Jednak działa (no dobra, nie na dystrybucyjnym, ale z podobną
konfiguracją fb), ale skrypty startowe nie są na to gotowe.
Przy okazji:
- rc-scripts marudzą przy starcie próbując koniecznie ładować moduł
HID (którego nie mam)
- hotplug przy starcie śmieci komunikatami, że nie może znaleźć modułów
do dwóch urządzeń PCI (które u mnie są =y, a nie =m)
--
Jakub Bogusz http://cyber.cs.net.pl/~qboosh/
Więcej informacji o liście dyskusyjnej pld-devel-pl