| DEPMOD(8) | depmod | DEPMOD(8) |
نام (NAME)
depmod - ایجاد فایلهای modules.dep و فایلهای نگاشت
خلاصه دستور (SYNOPSIS)
depmod [-b basedir] [-m
moduledir] [-o outdir] [-e] [-E
Module.symvers]
[-F System.map] [-n] [-v] [-A] [-P
prefix] [-w] [version]
depmod [-e] [-E Module.symvers]
[-F System.map] [-n] [-v] [-P
prefix]
[-w] [version] [filename...]
توضیحات (DESCRIPTION)
ماژولهای هسته لینوکس میتوانند خدماتی (با نام «نمادها» یا symbols) را برای استفاده سایر ماژولها ارائه دهند (با استفاده از یکی از انواع EXPORT_SYMBOL در کد منبع). اگر ماژول دومی از این نماد استفاده کند، مشخصاً به ماژول اول وابسته است. این وابستگیها میتوانند بسیار پیچیده شوند.
دستور depmod با خواندن تمام ماژولهای موجود در مسیر <BASEDIR>/<MODULEDIR>/version فهرستی از وابستگیهای ماژولها ایجاد میکند. بهطور پیشفرض <MODULEDIR> برابر /lib/modules و <BASEDIR> خالی است. برای بازنویسی و تغییر این مقادیر در صورت نیاز، گزینههای زیر را ببینید. این دستور مشخص میکند که هر ماژول چه نمادهایی را صادر (export) کرده و به چه نمادهایی نیاز دارد. این فهرست در فایل modules.dep و نسخه دودویی هششده آن به نام modules.dep.bin در همان دایرکتوری ذخیره میشود. اگر نام فایلها در خط فرمان مشخص شده باشد، تنها آن ماژولها بررسی میشوند (که بهندرت کاربرد دارد مگر اینکه تمام ماژولها فهرست شده باشند). همچنین depmod فهرستی از نمادهای ارائهشده توسط ماژولها را در فایلی با نام modules.symbols و نسخه دودویی هششده آن، modules.symbols.bin ایجاد میکند. در نهایت، اگر ماژولها نامهای خاص دستگاه (devname) را ارائه دهند که باید در زمان بوت (توسط ابزاری مانند systemd-tmpfiles) در /dev بارگذاری شوند، depmod فایلی با نام modules.devname تولید خواهد کرد.
اگر یک version (نسخه) مشخص شود، دایرکتوری ماژول مربوط به آن نسخه هسته بهجای نسخه جاری هسته (که توسط uname -r برگردانده میشود) استفاده خواهد شد.
گزینهها (OPTIONS)
-a, --all
-A, --quick
-b basedir, --basedir=basedir
اگر یک مسیر نسبی داده شود، نسبت به دایرکتوری کاری جاری محاسبه میشود.
مثال:
این دستور انتظار دارد تمام فایلهای ورودی در مسیر /my/build/staging/dir/lib/modules/$(uname -r) باشند و فایلهای نمایه را زیر همان دایرکتوری تولید میکند.
-m moduledir, --moduledir=moduledir
مسیرهای نسبی و مطلق پذیرفته میشوند، اما همیشه نسبت به basedir سنجیده میشوند.
مثالها:
depmod -b /tmp/build -m kernel-modules
این دستور انتظار دارد تمام فایلهای ورودی در مسیر /tmp/build/kernel-modules/$(uname -r) قرار داشته باشند و فایلهای نمایه را زیر همان دایرکتوری تولید میکند.
بدون آرگومان همگام -b، مقدار moduledir نسبت به / سنجیده میشود.
مثال:
این دستور انتظار دارد تمام فایلهای ورودی در مسیر /foo/bar/$(uname -r) باشند و فایلهای نمایه را در همان دایرکتوری تولید میکند. توجه داشته باشید که مگر در صورتی که libkmod برای مدیریت این مکان دلخواه آماده شده باشد، در زمان اجرا کار نخواهد کرد.
-o outdir, --outdir=outdir
اگر یک مسیر نسبی داده شود، نسبت به دایرکتوری کاری جاری محاسبه میشود.
مثال:
این دستور انتظار دارد تمام فایلهای ورودی زیر مسیر /lib/modules/$(uname -r) باشند و فایلهای نمایه را در مسیر /my/build/staging/dir/lib/modules/$(uname -r) تولید میکند.
-C file or directory, --config=file or directory
-e, --errsyms
-E Module.symvers, --symvers=Module.symvers
-F System.map, --filesyms=System.map
-h, --help
-n, --show, --dry-run
-P
-v, --verbose
-V, --version
-w
کپیرایت (COPYRIGHT)
حق نشر این صفحه راهنما در اصل متعلق به 2002، Rusty Russell، شرکت IBM Corporation است. بخشی از حق نشر متعلق به Jon Masters و دیگران است.
همچنین ببینید (SEE ALSO)
گزارش باگها (REPORTING BUGS)
لطفاً
هرگونه
گزارش باگ
را همراه با
نسخه
استفادهشده،
مراحل
بازتولید
مشکل و
خروجی مورد
انتظار به
بخش پیگیری
مسائل kmod
ارسال کنید:
https://github.com/kmod-project/kmod/issues
نویسندگان (AUTHORS)
مشارکتهای فراوانی از طریق فهرست پستی linux-modules به نشانی <linux-modules@vger.kernel.org> و گیتهاب انجام شده است. اگر رونوشتی از خود مخزن kmod.git در اختیار دارید، خروجی دستورات git-shortlog(1) و git-blame(1) میتواند نویسندگان بخشهای خاص پروژه را به شما نشان دهد.
Lucas De Marchi <lucas.de.marchi@gmail.com> نگهدارنده فعلی این پروژه است.
| 2025-03-28 | kmod |