Ich möchte gerne verstehen, wie man ein aktuelles v4l mit einem Kernel verheiratet und zwar so, das dabei wieder saubere Debian-Pakete herauskommen, die man an andere weiter geben kann, also Binary-, Source- und Header-Paket.
Wie man einen Kernel zieht, umkonfiguriert und wieder paketiert weiss ich. Eben so, wie man sich das aktuelle v4l zieht. Nur, wie transplantiert man die v4l-Sourcen sauber in den Kernel? makelinks.sh führt bei mir dazu, dass der Kernel anschliessend nicht mehr übersetzbar ist:
vdr2:/usr/src/hg-v4l-dvb-c5b558bbb8d1# v4l/scripts/makelinks.sh /usr/src/linux
...
vdr2:/usr/src/linux# make-kpkg kernel_image --initrd
...
CC [M] drivers/i2c/i2c-sensor-detect.o
drivers/i2c/i2c-sensor-detect.c: In Funktion »i2c_detect«:
drivers/i2c/i2c-sensor-detect.c:37: error: `I2C_ALGO_ISA' undeclared (first use in this function)
drivers/i2c/i2c-sensor-detect.c:37: error: (Each undeclared identifier is reported only once
drivers/i2c/i2c-sensor-detect.c:37: error: for each function it appears in.)
make[3]: *** [drivers/i2c/i2c-sensor-detect.o] Fehler 1
make[2]: *** [drivers/i2c] Fehler 2
make[1]: *** [drivers] Fehler 2
make[1]: Leaving directory `/usr/src/kernel-source-2.6.12-ct-1'
make: *** [stamp-build] Fehler 2
Alles anzeigen
Nun gibt es hier im Forum Leute, die behaupten, makelinks.sh sei nicht mehr angezeigt. 'Einfach' make und 'make install'. Nur scheint mir das überhaupt nicht Debian-like und weitergebbare Pakete gibt's so auch nicht!? Dazu funktioniert selbst das bei mir nicht auf Anhieb:
vdr2:/usr/src/hg-v4l-dvb-c5b558bbb8d1# make
make -C /usr/src/hg-v4l-dvb-c5b558bbb8d1/v4l
make[1]: Entering directory `/usr/src/hg-v4l-dvb-c5b558bbb8d1/v4l'
creating symbolic links...
make -C /lib/modules/2.6.12-ct-1/build SUBDIRS=/usr/src/hg-v4l-dvb-c5b558bbb8d1/v4l modules
make: *** /lib/modules/2.6.12-ct-1/build: No such file or directory. Stop.
make: Entering an unknown directorymake: Leaving an unknown directorymake[1]: *** [default] Fehler 2
make[1]: Leaving directory `/usr/src/hg-v4l-dvb-c5b558bbb8d1/v4l'
make: *** [all] Fehler 2
Schon mal im Vorgriff: Wie gelangen dann die aktuellen (v4l-) Header nach /usr/include (damit man Programme der Anwendungsschicht sauber übersetzten kann)? Passiert das dann beim installieren des Kernel-Pakets? Aber was ist dann, wenn ich unterschiedliche Kernel installiert habe...?