আমি আমার ইউএসবি ওয়্যারলেস ডিভাইসটির জন্য মডিউলটি তৈরি করতে কয়েকদিন চেষ্টা চালিয়ে যাচ্ছি।
এটি একটি এডিম্যাক্স EW-7811UN
আমি দেবিয়ানের জন্য মডিউল তৈরির বিভিন্ন সংস্থান পেয়েছি, তবে আর্কের জন্য কিছুই নেই। বর্তমানে আমি রাস্পবেরি পাই গিটহাবের মধ্যে পাওয়া টুলচেইনটি ব্যবহার করে ক্রস-সংকলনের চেষ্টা করছি । এই পদক্ষেপগুলি আমি গ্রহণ করেছি:
- এডিম্যাক্স ওয়েবসাইট থেকে ড্রাইভার উত্স ডাউনলোড করেছেন ।
- গিটহাব থেকে কার্নেল উত্স ডাউনলোড করেছেন ।
- এডিম্যাক্স মেকফাইলে একটি নির্দিষ্ট মেক বিধি তৈরি করেছেন (এডিম্যাক্স ডকুমেন্টেশন অনুযায়ী):
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
কার্নেল উত্স সম্বলিত ডিরেক্টরি।MODDESTDIR
ডিরেক্টরিটি আপনি মডিউলটি শেষ করতে চান।CROSS_COMPILE
আমার সরঞ্জামচেন (যা যোগ করা হয়েছেPATH
)
প্রথম প্রচেষ্টাটি make
এই ত্রুটিটি দেয়:
fatal error: linux/smp_lock.h: No such file or directory
আমি দেখতে পেয়েছি যে এটি একটি পুরানো শিরোলেখ, এবং এটির smp.h
সমস্যা সমাধানের জন্য এটি সিমেন্টিং করা । যাইহোক, বিল্ডটি এখনও উত্স ত্রুটিগুলির সাথে ব্যর্থ হয়, যা দেখতে এটির মতো দেখাচ্ছে:
error: field 'recv_tasklet' has incomplete type
আমি এই চেহারাগুলি জানার জন্য যথেষ্ট সংকলন করেছি যাতে বিল্ডটি সর্বশেষতম কার্নেল সংস্করণটিকে সমর্থন করে না, তবে এটি যদি তাই হয় তবে এটি ডেবিয়ানের জন্য কীভাবে তৈরি করা হয়েছে?
অতিরিক্ত তথ্য:
- পূর্ণ আউটপুট এখানে ।