Re: Wie am besten Kernelmodul-Patch effizient einpflegen?
On Mon, Jul 07, 2008 at 06:42:31PM +0200, Martin Reising wrote:
> On Mon, Jul 07, 2008 at 06:10:49PM +0200, Nikolaus Schulz wrote:
> > Als zweites, als Sahnehäubchen könnte man noch versuchen, den jedesmal
> > anfallenden, beträchtlichen Overhead des Downloads der kompletten
> > Kernelquellen zu umgehen. Kann man vielleicht statt mit den vollen
> > Kernelquellen auch mit dem reinen Treiber-Code und den passenden
> > linux-header-* Paketen auszukommen?
>
> Ja, kann man. Mein Makefile für atl1 sieht folgendermaßen aus:
>
> atl1-y = atl1_main.o atl1_hw.o atl1_ethtool.o atl1_param.o
>
> ifneq ($(KERNELRELEASE),)
> obj-m := atl1.o
>
> else
> KDIR := /usr/src/linux-headers-2.6.24-1-686-bigmem
> PWD := $(shell pwd)
>
> default:
> $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
> endif
>
> clean:
> rm -f *.o *.ko atl1.mod* Module.symvers 2>/dev/null
Aahja, sowas ähnliches hab ich schon probiert, das tut es leider nicht.
So ein Makefile macht hier rein gar nichts, make führt praktisch nur ein
':' aus. Hier ist mein Makefile (es geht um den ATI Radeon Treiber),
ich hab praktisch nur die ifneq-Clause und das default target
dazugepackt:
------ Makefile ------
ifneq ($(KERNELRELEASE),)
atyfb-y := atyfb_base.o mach64_accel.o mach64_cursor.o
atyfb-$(CONFIG_FB_ATY_GX) += mach64_gx.o
atyfb-$(CONFIG_FB_ATY_CT) += mach64_ct.o
atyfb-objs := $(atyfb-y)
radeonfb-y := radeon_base.o radeon_pm.o radeon_monitor.o radeon_accel.o
radeonfb-$(CONFIG_FB_RADEON_I2C) += radeon_i2c.o
radeonfb-$(CONFIG_FB_RADEON_BACKLIGHT) += radeon_backlight.o
radeonfb-objs := $(radeonfb-y)
obj-$(CONFIG_FB_ATY) += atyfb.o
obj-$(CONFIG_FB_ATY128) += aty128fb.o
obj-$(CONFIG_FB_RADEON) += radeonfb.o
else
default:
$(MAKE) -C /usr/src/linux-headers-2.6.18-6-powerpc M=$(shell pwd) modules
endif
----------------------
Alldieweil ist mir schmerzhaft klar geworden, daß der fragliche Treiber
im Debian-Kernel offenbar builtin ist. Argh! Sehe ich das richtig, daß
damit all meine Hoffnungen durchkreuzt sind?
$ egrep 'RADEON|ATY' .config
CONFIG_DRM_RADEON=m
CONFIG_FB_RADEON=y
CONFIG_FB_RADEON_I2C=y
CONFIG_FB_RADEON_BACKLIGHT=y
# CONFIG_FB_RADEON_DEBUG is not set
CONFIG_FB_ATY128=y
CONFIG_FB_ATY128_BACKLIGHT=y
CONFIG_FB_ATY=y
CONFIG_FB_ATY_CT=y
CONFIG_FB_ATY_GENERIC_LCD=y
CONFIG_FB_ATY_GX=y
CONFIG_FB_ATY_BACKLIGHT=y
Nikolaus
Reply to: