لطفا وارد شوید یا ثبت‌نام کنید تا به انجمن‌ها دسترسی کامل داشته باشید.



 
امتياز موضوع :
  • 0 رأي - معدل امتيازات : 0
  • 1
  • 2
  • 3
  • 4
  • 5
Problem with writing module
2005-10-15, 07:05 PM,
ارسال : #1
Problem with writing module
Hello
I am new in making module in linux ,I treid the first module programming as you see as follows
/*
* hello-1.c - The simplest kernel module.
*/
#include <linux/module.h> /* Needed by all modules */
#include <linux/kernel.h> /* Needed for KERN_INFO */
int init_module(void)
{
printk(KERN_INFO "Hello world 1.\n");
/*
* A non 0 return means init_module failed; module can't be loaded.
*/
return 0;
}
void cleanup_module(void)
{
printk(KERN_INFO "Goodbye world 1.\n");
}

Then the tutorials told me for comoling the module I should use the following commands

obj-m += hello-1.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean

would you please explain me what is $(sehll uname –r) and M=$(PWD)

Sincerely yours Mohsena
نقل قول این ارسال در یک پاسخ
2005-10-17, 07:59 AM,
ارسال : #2
 
براي كامپايل ماژولت در عمل فقط به خط اول Make File فوق "نياز" داري ؛ بهتره براي شروع از Kbuild استفاده كني و خودتو درگير Make File ها نكني ؛ اما در جواب سوالت : از uname -r براي مشخص كردن محل هدرهاي كرنل استفاده ميشه و از PWD$ براي دريافت محل فعلي كه Main Treeي سورس ماژول اونجاست و در كنار هدرهاي كرنل بايد از كدهاي آپديت شده موجود در اين محل هم استفاده بشه
نقل قول این ارسال در یک پاسخ
2005-10-17, 06:20 PM,
ارسال : #3
 
uname -r نسخه کرنل رو نشون میده . مثلا تو سیستم من 386-2-2.6.8 است . تو دایرکتوری lib/modules/ یه دایرکتوری به همین نام است که محل قرار گیری تمام ماجول های کرنل است . تو این دایرکتوری یه لینک است به نام build که به محل قرارگیری فایل های header و Makefile های کرنل اشاره می کند . PWD$ هم به دایرکتوری جاری که Makefile قرار دارد اشاره می کند . شما باید همون طور که در tutorial گفته شده دستورات بین obj-m و clean رو در یک فایل به نام Makefile بذاری و با اجرای دستور make ماجول شما توسط مکانیزم kbuild ساخته خواهد شد .
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ


رفتن به انجمن :


کاربران در حال مشاهده موضوع : 1 مهمان