Via heeft nu -eindelijk- de source code beschikbaar gesteld voor hun grafische kaart. Dat is leuk, want nu kan ik een TV
gebruiken om met dat bordje films te kijken. Dat viel dus even tegen.
De setup:
-Debian testing
- linux-source-2.6.12 geinstalleerd
- linux-headers-2.6.12 geinstalleerd
- draaiende kernel: 2.6.12-1-686
Als ik de standaard source download en probeer te compileren krijg ik de volgende error:
De makefile heeft -onder andere- het volgende stukje code:
Waarvan lijnen 133 tot en met 135 de volgende zijn:
Ik heb zelf iets verbouwd om te kijken of het dan wel loopt:
Nu compileert ie wel, zij het met wat foutmeldingen. De driver die gebakken wordt geeft echter een zwart beeld op in ieder geval de TV-out. Dit terwijl de configuratie van xorg niet gewijzigd is ten opzichte van een eerder werkende setup (met oudere kernel).
De makefile heeft op de een of andere manier problemen met het vinden van de juiste kernel headers en mijn oplossing lijkt het ook niet helemaal goed te doen. Ik heb met de originele makefile ook wel wat lopen experimenteren met dingen als
Opdrachten die op een andere machine in dezelfde vorm wel een nvidia driver aan het compileren kregen.
Wat gaat er nu fout en hoe krijg ik de boel toch draaiend?
De setup:
-Debian testing
- linux-source-2.6.12 geinstalleerd
- linux-headers-2.6.12 geinstalleerd
- draaiende kernel: 2.6.12-1-686
Als ik de standaard source download en probeer te compileren krijg ik de volgende error:
code:
1
| Makefile:135: *** Linux kernel source not found. Stop. |
De makefile heeft -onder andere- het volgende stukje code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
| ifeq ($(shell uname -r | cut -c1-3),2.4)
-knip- 2.4 zooi eruit B)
##################################################################
#
# Makefile for kernel 2.6
#
##################################################################
INSTALL_PATH:=/lib/modules/$(shell uname -r)/kernel/drivers/video
KSP := /usr/src/linux-$(shell uname -r) \
/usr/src/linux-$(shell uname -r | sed 's/-.*//') \
/usr/src/linux-$(shell uname -r | sed 's/\([0-9]*\.[0-9]*\)\..*/\1/') \
/usr/src/linux
test_dir = $(shell [ -e $(dir)/include/linux ] && echo $(dir))
KSP := $(foreach dir, $(KSP), $(test_dir))
KSRC :=$(firstword $(KSP))
ifeq (,$(KSRC))
$(error Linux kernel source not found)
endif
PWD := $(shell pwd)
VIA_FB_OBJ = viafbdev.o hw.o iface.o tv.o via_i2c.o vt1622.o vt1622a.o dvi.o lcd.o vt1625.o ioctl.o accel.o
viafb-objs := $(VIA_FB_OBJ)
obj-m += viafb.o
Default::
$(MAKE) -C $(KSRC) SUBDIRS=$(PWD) modules
install::
rm -f /etc/fb.modes
cp viafb.modes /etc/fb.modes
@cp -v viafb.ko $(INSTALL_PATH)/ ; \
depmod -a
clean::
-rm -f *~ *.o *.ko *.mod.c
-rm -f .version .*.o.flags .*.o.d .*.o.cmd .*.ko.cmd |
Waarvan lijnen 133 tot en met 135 de volgende zijn:
code:
1
2
3
| ifeq (,$(KSRC)) $(error Linux kernel source not found) endif |
Ik heb zelf iets verbouwd om te kijken of het dan wel loopt:
code:
Vervangen met: 1
| KSRC :=$(firstword $(KSP)) |
code:
1
| /usr/src/linux-headers-2.6.12-1-686 |
Nu compileert ie wel, zij het met wat foutmeldingen. De driver die gebakken wordt geeft echter een zwart beeld op in ieder geval de TV-out. Dit terwijl de configuratie van xorg niet gewijzigd is ten opzichte van een eerder werkende setup (met oudere kernel).
De makefile heeft op de een of andere manier problemen met het vinden van de juiste kernel headers en mijn oplossing lijkt het ook niet helemaal goed te doen. Ik heb met de originele makefile ook wel wat lopen experimenteren met dingen als
code:
1
2
| export KSRC= bla bla bla export KVERS= bla bla bla |
Opdrachten die op een andere machine in dezelfde vorm wel een nvidia driver aan het compileren kregen.
Wat gaat er nu fout en hoe krijg ik de boel toch draaiend?
ieeeepppppp :P