Zrób to sam: Nvidia 173.14.05, kernel 2.6.25-2-686 i XEN, który jest, a go nie ma
Nvidia niedawno wydała w nasze ręce sterowniki o numerze 173.14.05, w repozytoriach pojawił się kernel 2.6.25-2, a mnie dopadł marazm poniedziałkowego poranka. Dlatego wykonałem odpowiednie komendy aktualizacyjne i po chwili mój komputer prężył z dumą 2.6.25-2 w swoich mikroukładach, a ja z przystąpiłem do kompilacji sterowników Nvidii pod rzeczony kernel (prawdziwi twardziele nie robią i nie korzystają z paczek – przynajmniej w tym przypadku).
Podążałem utartym od wieków szlakiem. Nasajmpierw wyłaczyłem X’y, przekonałem instalator Nvidii, żeby użył odpowiedniego kompilatora (export CC=gcc-4.1), uruchomiłem, nawciskałem ‘ok’, ‘ok’, ‘accept’, ‘ok’ i takie tam… A tu nie wiadomo dlaczego, instalator obrzucił mnie stekiem wyzwisk, że mam kernel skompilowany z XEN’em. No jak mam, jak nie mam, upewniłem się sprawdzając wersję paczki linux-image. No jak byk, 2.6.25-2-686, bez XEN (bo i taka wersja jest w repo). Ale faktycznie, w konfigach do tegoż kernela co widzę? CONFIGURE_XEN=y.
‘E, to proste, ja wiem co zrobię. Po prostu rozkażę instalatorowi nie sprawdzać obecności tego XEN’a’, a o słuszności tej drogi przekonało mnie respektowanie przez Nvidie zmiennej IGNORE_XEN_PRESENCE, którą ustawiłem na true (export IGNORE_XEN_PRESENCE=1). No, instalator ruszył, ale szybko przestał. Błędy, błędy i wszędzie błędy. Wyraziłem dezaprobatę pod adresem instalatora i osoby, która umieściła w repozytoriach kernel w wersji bez XEN, a jednak z XEN. No ale nie takie problemy się rozwiązywało, najwyżej sobie kernel skompiluję samodzielnie, a na ten czas poszukałem odpowiedzi na łamach internetu. Szukałem patch’a do sterowników, lub co zmienić w linux-headers, a znalazłem fajnego łamańca konsolowego. Po przejściu do /lib/modules/2.6.25-2-686 odprawiłem następujący rytuał:
grep CONFIGURE_XEN . -Rl | xargs -i sed -i -e 's/CONFIGURE_XEN/CONFIGURE_LUPO/g' {}
(oczywiście, trzeba pamiętać o export CC=gcc-4.1 i export IGNORE_XEN_PRESENCE=1)
I tym razem instalator nie miał nic ciekawego do powiedzenia.
Czy było warto przechodzić na te komponenty systemu? Nie – wyniki w gtkperf spadły mi z 4.8ms do 7.2ms. Ale nie samym rysowaniem widgetów GTK człowiek żyje i całość zostawiłem w spokoju.
I tak przeszedłem do dalszej prozy poniedziałkowego marazmu.