Saya telah mencoba dan menonaktifkan selama berhari-hari untuk membangun modul untuk perangkat nirkabel USB saya.
Ini adalah Edimax EW-7811UN
Saya telah menemukan beberapa sumber tentang membangun modul untuk Debian, tetapi tidak ada untuk Arch. Saat ini saya mencoba mengkompilasi silang menggunakan ToolChain yang ditemukan di Raspberry Pi GitHub . Inilah langkah-langkah yang telah saya ambil:
- Mengunduh sumber driver dari situs web Edimax .
- Mengunduh sumber kernel dari GitHub .
- Membuat aturan make tertentu (sesuai dengan dokumentasi Edimax) di Edimax MakeFile:
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
KSRCadalah direktori yang berisi sumber kernel.MODDESTDIRadalah direktori yang Anda inginkan modul berakhir.CROSS_COMPILEadalah toolchain saya (yang telah ditambahkan kePATH)
Upaya pertama makememberi kesalahan ini:
fatal error: linux/smp_lock.h: No such file or directory
Saya menemukan bahwa ini adalah header yang sudah ketinggalan zaman, dan menghubungkannya untuk smp.hmemperbaiki masalah. Namun, build masih gagal dengan kesalahan sumber, yang terlihat seperti ini:
error: field 'recv_tasklet' has incomplete type
Saya telah melakukan cukup kompilasi untuk mengetahui ini terlihat seolah-olah build tidak mendukung versi kernel terbaru, tetapi jika demikian maka bagaimana ia dibangun untuk Debian?
Informasi tambahan:
- Output penuh di sini .