USB kablosuz cihazım için modül oluşturmak için günlerdir açık ve kapalı çalışıyorum.
Bu bir Edimax EW-7811UN’dur.
Debian için modüller inşa etmek için birkaç kaynak buldum, ancak Arch için yok. Şu anda Raspberry Pi GitHub'da bulunan ToolChain'i kullanarak çapraz derlemeye çalışıyorum . Bunlar attığım adımlar:
- Sürücü kaynaklarını Edimax web sitesinden indirdi .
- Çekirdek kaynaklarını GitHub'dan indirdi .
- Edimax MakeFile'da belirli bir make kural (Edimax belgelerine göre) oluşturuldu:
ifeq ($(CONFIG_PLATFORM_PI), y)
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
ARCH := arm
CROSS_COMPILE := arm-bcm2708-linux-gnueabi-
KVER := 3.1.9-30-ARCH+
KSRC := /pi-sources/lib/modules/3.1.9-30-ARCH+/build
MODDESTDIR := /pi-sources/lib/modules/3.1.9-30-ARCH+/kernel/drivers/net/wireless/
INSTALL_PREFIX :=
endif
KSRC
çekirdek kaynaklarını içeren dizindir.MODDESTDIR
modülün sona ermesini istediğiniz dizin.CROSS_COMPILE
(benim eklendiPATH
) benim takım
İlk deneme şu make
hatayı veriyor:
fatal error: linux/smp_lock.h: No such file or directory
Bunun eski bir başlık olduğunu ve sorunun çözülmesi için eşleştirildiğini buldum smp.h
. Ancak, derleme şuna benzeyen kaynak hatalarıyla başarısız oluyor:
error: field 'recv_tasklet' has incomplete type
Derlemenin en son çekirdek sürümünü desteklemiyormuş gibi göründüğünü bilmek için yeterince derleme yaptım, fakat öyleyse nasıl Debian için yapılmış?
Ekstra bilgi:
- Burada tam çıktı .