linux 2.6.36-rc3-20100831-1507-pz+
Technicy mieli do mnie przyjść dwa razy i dwa razy nie przyszli. Miałem Neostradę 2 MBit, przestawiłem się na 6 MBit i prawie działa. Za pierwszym razem coś tam posprawdzali nie będąc u mnie (mimo, że się umówili) i orzekli, że na 6 MBit nie będzie działać, bo stan tych chyba kabli jest za słaby. Zadzwoniłem i Pan po drugiej stronie mi to powiedział, a następnie sprawdził jak to od niego wygląda i uznal, że ci technicy bredzili i że spokojnie może być 6 MBit. Umówił mnie na wczoraj i znowu nie przyszli.
Dbają o klienta czyli.
Currently the kernel is undergoing bkl removal project, specifically getting rid of ioctl in file operations. I frequently build new kernels and used to run NVidia supplied driver build script. It no longer works as is.
Here is the procedure step by step. First unpack the driver:
bash /data/ins/nvidia/NVIDIA-Linux-x86_64-256.44.run --extract-only
It will extract the files in your current directory. It will be a simple file and directory structure. Go to the kernel subdirectory. Now do what kernel developers routinely do at the moment. The problem is in line 426 of nv.c file, at the moment, driver version as above. Comment out the ioctl line:
// .ioctl = nv_kern_ioctl,
Now pray and build it:
make module
make install
And try to launch Xes:
/etc/init.d/kdm restart
If you can't find the ioctl line then try to build the driver without modifying nv.c. You would get a build error simillar to the below:
nv.c:426: error: unknown field ‘ioctl’ specified in initializer
It says that the problem is in line 426.
If applicable the make module command should be changed to something like:
make SYSSRC=/path/to/linux-2.x.y module
It specifies path to fully configured running kernel.
Errata: I examined it all more closely and it appears that NVidia prepared for those changes and to be proper you should do what I described above and also make a define in this file somewhere at the beginning: #define HAVE_UNLOCKED_IOCTL 1 .
Jak codzień (wczoraj) postanowiłem zbudować sobie jądro. Padło na świeżutkie źródła z repozytorium GIT. Zsynchronizowało się, zapuściłem budowanie i padło. Metodą rozpoznania bojem doszedłem, że mu coś nie pasuje w pliku od dźwięku w moim chipsecie. Szybko znalazłem miejsce gdzie mu nie pasuje, jakaś z przeproszeniem pieprzona adnotacja GIT'a, że jest jakaś kolizja między starymi źródłami a nowymi, no to skasowałem, do tego jeszcze jakieś dwie linie powiązane i zapuściłem znów. Znowu się nie zbudowało, bo wyszło, że jeszcze za mało o jakiś nawias wąsiasty { skasowałem. No to trach! I wreszcie się zbudowało. A skleroza polega na tym, że w chwilę wyleciało mi z głowy co to był za charakterystyczny ciąg znaków który kolidował na wstępie. Chciałbym sobie jakiś skrypt napisać, żeby to wyłapywał. Spytałem na LKMLu, ale zostałem póki co olany, nie dziwota, bo pytanie brzmiało dość głupkowato, "czy ktoś mógłby mi przypomnieć co skasowałem na początku". No nic. Dzisiaj nie mam na czym sprawdzić, bo wszystko się pięknie zbudowało od ręki. Inna sprawa, że ledwo zacząłem budować, pokazało się oficjalnie 2.6.35-git5. Chrzanię to, zbuduję se jutro, wolę moje świeże 2.6.35-20100807-1405+.