از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
روش کامپایل ماژول های کرنل VMware Workstation Pro روی اوبونتو/دبیان
سرفصلهای مطلب
پس از نصب نرم افزار مجازی سازی دسکتاپ VMware Workstation Pro (hypervisor Type-II). روی سیستم اوبونتو/دبیان خود، باید ماژول های هسته VMware Workstation Pro را برای سیستم اوبونتو/دبیان خود کامپایل کنید تا کار کند.
در این مقاله، روش کامپایل کردن ماژول های هسته VMware Workstation Pro را به شما نشان می دهم روی اوبونتو/دبیان همچنین در مورد مشکلاتی که ممکن است هنگام کامپایل ماژول های هسته VMware Workstation Pro و روش حل آنها با آن مواجه شوید، صحبت خواهم کرد.
روش های نشان داده شده در این مقاله باید کارساز باشند روی توزیع های لینوکس زیر:
-
اوبونتو
-
دبیان
-
لینوکس مینت
-
سیستم عامل ابتدایی
-
لینوکس را عمیق کنید
-
KDE Neon
-
سایر توزیع های لینوکس مبتنی بر اوبونتو/دبیان
فهرست مطالب
- ارتقاء بسته های موجود اوبونتو/دبیان
- نصب ابزارهای ساخت ماژول هسته VMware مورد نیاز روی اوبونتو/دبیان
- غیرفعال کردن UEFI Secure Boot از میانافزار BIOS/UEFI مادربرد شما
- روش 1: کامپایل ماژول های رسمی VMware Workstation Pro Kernel روی اوبونتو/دبیان
- روش 2: دانلود و کامپایل وصله شده ماژول های VMware Workstation Pro Kernel روی اوبونتو/دبیان
- رفع مشکل شروع نشدن سرویس های VMware Workstation Pro روی اوبونتو/دبیان
- نتیجه
- منابع
ارتقاء بسته های موجود اوبونتو/دبیان
قبل از تلاش برای کامپایل ماژولهای هسته VMware Workstation Pro، باید تمام بهروزرسانیهای موجود را نصب کنید روی سیستم اوبونتو/دبیان شما
برای بررسی اینکه آیا بهروزرسانیهای جدید در دسترس هستند یا خیر روی سیستم اوبونتو/دبیان خود، دستور زیر را اجرا کنید:
اگر هر گونه به روز رسانی برای سیستم اوبونتو/دبیان شما موجود باشد، آنها را در خروجی فرمان خواهید دید.
همانطور که می بینید، 28 بسته قابل ارتقا هستند روی سیستم اوبونتو/دبیان من.
برای نصب تمام به روز رسانی های موجود روی سیستم اوبونتو/دبیان خود، دستور زیر را اجرا کنید:
برای تأیید نصب، فشار دهید Y و سپس فشار دهید <ورود>.
به روز رسانی ها در حال دانلود و نصب هستند. مدتی طول می کشد تا تکمیل شود.
در این مرحله، تمام به روز رسانی ها باید نصب شوند روی سیستم اوبونتو/دبیان شما
برای اعمال تغییرات، سیستم Ubuntu/Debian خود را راه اندازی مجدد کنید.
نصب ابزارهای ساخت ماژول هسته VMware مورد نیاز روی اوبونتو/دبیان
برای نصب ابزارهای مورد نیاز برای ساخت ماژول های هسته VMware روی Ubuntu/Debian دستور زیر را اجرا کنید:
برای تأیید نصب، فشار دهید Y و سپس فشار دهید <ورود>.
تمامی بسته های مورد نیاز در حال دانلود و نصب هستند. مدتی طول می کشد تا تکمیل شود.
در این مرحله، تمام ابزارهای ساخت مورد نیاز باید نصب شوند.
غیرفعال کردن UEFI Secure Boot از میانافزار BIOS/UEFI مادربرد شما
اگر UEFI Secure Boot در میانافزار BIOS/UEFI مادربرد شما فعال باشد، بهطور پیشفرض، ماژولهای هسته VMware Workstation Pro در زمان بوت بارگیری نمیشوند.
برای بارگیری ماژول هسته VMware Workstation Pro در زمان بوت و استفاده از VMware Workstation Pro، باید UEFI Secure Boot را از میانافزار BIOS/UEFI مادربرد خود غیرفعال کنید.
اگر میخواهید ماژولهای هسته VMware Workstation Pro را بدون غیرفعال کردن UEFI Secure Boot بارگیری کنید، باید ماژولهای هسته VMware Workstation Pro را پس از کامپایل و نصب امضا کنید. روی سیستم اوبونتو/دبیان شما
روش 1: کامپایل ماژول های رسمی VMware Workstation Pro Kernel روی اوبونتو/دبیان
ماژولهای هسته رسمی VMware (نصب شده در کنار نصب VMware Workstation Pro) باید کامپایل شوند. روی اکثر نسخههای اوبونتو/دبیان و توزیعهای لینوکس مبتنی بر اوبونتو/دبیان بسیار خوب هستند.
برای کامپایل ماژول های رسمی کرنل VMware روی Ubuntu/Debian دستور زیر را اجرا کنید:
آخرین نسخه ماژول های هسته VMware Workstation Pro (v17.5.2) کامپایل نمی شود روی اوبونتو 24.04 LTS در زمان نگارش این مقاله.
اگر می خواهید VMware Workstation Pro v17.5.2 را کامپایل کنید روی Ubuntu 24.04 LTS، ممکن است پیام های خطای زیر را مشاهده کنید. مشکل اینجاست که ماژولهای هسته VMware Workstation Pro v17.5.2 هنوز از آخرین هستههای لینوکس پشتیبانی نمیکنند. بنابراین، در کامپایل شکست خورده است.
برای حل این مشکل باید نسخه وصلهشده ماژولهای هسته VMware Workstation Pro را کامپایل کنید.
این پیام خطای کامل است.
بسته به روز “libaio” یا “libaio1” از سیستم شما ترجیح داده می شود.
[AppLoader] GLib از GSettings پشتیبانی نمی کند.
توقف خدمات VMware:
VMware Authentication Daemon انجام شد
مانیتور ماشین مجازی انجام شد
make: وارد کردن دایرکتوری ‘/tmp/modconfig-14X4lZ/vmmon-only’
استفاده از سیستم ساخت هسته
/usr/bin/make -C /lib/modules/6.8.0-31-generic/build/include/.. M=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= ماژول ها
ساختن[1]: وارد کردن دایرکتوری ‘/usr/src/linux-headers-6.8.0-31-generic’
هشدار: کامپایلر با کامپایلری که برای ساختن هسته استفاده می شود متفاوت است
هسته توسط: x86_64-linux- ساخته شده استgnu-gcc-13 (Ubuntu 13.2.0-23ubuntu4) 13.2.0
شما در حال استفاده از: gcc (اوبونتو 13.2.0-23 ubuntu4) 13.2.0
CC [M] /tmp/modconfig-14X4lZ/vmmon-only/linux/driver.o
CC [M] /tmp/modconfig-14X4lZ/vmmon-only/linux/driverLog.o
CC [M] /tmp/modconfig-14X4lZ/vmmon-only/linux/hostif.o
CC [M] /tmp/modconfig-14X4lZ/vmmon-only/common/apic.o
CC [M] /tmp/modconfig-14X4lZ/vmmon-only/common/comport.o
CC [M] /tmp/modconfig-14X4lZ/vmmon-only/common/cpuid.o
CC [M] /tmp/modconfig-14X4lZ/vmmon-only/common/crosspage.o
CC [M] /tmp/modconfig-14X4lZ/vmmon-only/common/memtrack.o
/tmp/modconfig-14X4lZ/vmmon-only/common/crosspage.o: warning: objtool: CrossPage_CodePage+0x207: بازگشت “نها” در ساخت RETHUNK یافت شد
ساختن[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-14X4lZ/vmmon-only/common/crosspage.o] خطای 255
ساختن[3]: *** در حال حذف فایل ‘/tmp/modconfig-14X4lZ/vmmon-only/common/crosspage.o’
ساختن[3]: *** منتظر کارهای ناتمام ….
/tmp/modconfig-14X4lZ/vmmon-only/linux/hostif.c:2926:1: هشدار: نمونه اولیه قبلی برای \u2018HostIFCheckTrackedMPN\u2019 وجود ندارد [-Wmissing-prototypes]
2926 | HostIFCheckTrackedMPN(VMDriver *vm, // IN: نمونه VM
| ^~~~~~~~~~~~~~~~~~~~~
/tmp/modconfig-14X4lZ/vmmon-only/linux/hostif.c:3046:1: هشدار: نمونه اولیه قبلی برای \u2018HostIFWritePhysicalWork\u2019 وجود ندارد [-Wmissing-prototypes]
3046 | HostIFWritePhysicalWork(MA ma، // MA برای نوشتن
| ^~~~~~~~~~~~~~~~~~~~~~~~
/tmp/modconfig-14X4lZ/vmmon-only/linux/hostif.c:3205:1: هشدار: نمونه اولیه قبلی برای \u2018HostIFStartTimer\u2019 وجود ندارد [-Wmissing-prototypes]
3205 | HostIFStartTimer(Bool rateChanged, //IN: آیا نرخ تغییر کرد؟
| ^~~~~~~~~~~~~~~~~
/tmp/modconfig-14X4lZ/vmmon-only/linux/driver.c:271:1: هشدار: نمونه اولیه قبلی برای \u2018LinuxDriverInit\u2019 وجود ندارد [-Wmissing-prototypes]
271 | LinuxDriverInit (void)
| ^~~~~~~~~~~~~~~~
/tmp/modconfig-14X4lZ/vmmon-only/linux/driver.c:339:1: هشدار: نمونه اولیه قبلی برای «LinuxDriverExit» وجود ندارد [-Wmissing-prototypes]
339 | LinuxDriverExit (بی اعتبار)
| ^~~~~~~~~~~~~~~~
ساختن[2]: *** [/usr/src/linux-headers-6.8.0-31-generic/Makefile:1926: /tmp/modconfig-14X4lZ/vmmon-only] خطای 2
ساختن[1]: *** [Makefile:240: __sub-make] خطای 2
ساختن[1]: خروج از فهرست ‘/usr/src/linux-headers-6.8.0-31-generic’
ساخت: *** [Makefile:117: vmmon.ko] خطای 2
make: خروج از فهرست ‘/tmp/modconfig-14X4lZ/vmmon-only’
make: وارد کردن دایرکتوری ‘/tmp/modconfig-14X4lZ/vmnet-only’
استفاده از سیستم ساخت هسته
/usr/bin/make -C /lib/modules/6.8.0-31-generic/build/include/.. M=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= ماژول ها
ساختن[1]: وارد کردن دایرکتوری ‘/usr/src/linux-headers-6.8.0-31-generic’
هشدار: کامپایلر با کامپایلری که برای ساختن هسته استفاده می شود متفاوت است
هسته توسط: x86_64-linux- ساخته شده استgnu-gcc-13 (Ubuntu 13.2.0-23ubuntu4) 13.2.0
شما در حال استفاده از: gcc (اوبونتو 13.2.0-23 ubuntu4) 13.2.0
CC [M] /tmp/modconfig-14X4lZ/vmnet-only/driver.o
CC [M] /tmp/modconfig-14X4lZ/vmnet-only/hub.o
CC [M] /tmp/modconfig-14X4lZ/vmnet-only/userif.o
CC [M] /tmp/modconfig-14X4lZ/vmnet-only/netif.o
/tmp/modconfig-14X4lZ/vmnet-only/userif.c:1091:1: هشدار: نمونه اولیه قبلی برای \u2018VNetUserIf_Create\u2019 وجود ندارد [-Wmissing-prototypes]
1091 | VNetUserIf_Create(VNetPort **ret) // OUT
| ^~~~~~~~~~~~~~~~~~
/tmp/modconfig-14X4lZ/vmnet-only/netif.c:173:1: هشدار: نمونه اولیه قبلی برای \u2018VNetIf_Create\u2019 وجود ندارد [-Wmissing-prototypes]
173 | VNetNetIf_Create(char *devName, // IN:
| ^~~~~~~~~~~~~~~~~
CC [M] /tmp/modconfig-14X4lZ/vmnet-only/bridge.o
CC [M] /tmp/modconfig-14X4lZ/vmnet-only/procfs.o
/tmp/modconfig-14X4lZ/vmnet-only/userif.o: warning: objtool: VNetCsumAndCopyToUser+0x2d: تماس با csum_partial_copy_nocheck() با UACCESS فعال
CC [M] /tmp/modconfig-14X4lZ/vmnet-only/smac_compat.o
CC [M] /tmp/modconfig-14X4lZ/vmnet-only/smac.o
CC [M] /tmp/modconfig-14X4lZ/vmnet-only/vnetEvent.o
CC [M] /tmp/modconfig-14X4lZ/vmnet-only/vnetUserListener.o
/tmp/modconfig-14X4lZ/vmnet-only/bridge.c:258:1: هشدار: نمونه اولیه قبلی برای \u2018VNetBridge_Create\u2019 وجود ندارد [-Wmissing-prototypes]
258 | VNetBridge_Create(const char *devName, // IN: نام دستگاه (به عنوان مثال، “eth0”)
| ^~~~~~~~~~~~~~~~~~
/tmp/modconfig-14X4lZ/vmnet-only/bridge.c:1411:1: هشدار: نمونه اولیه قبلی برای \u2018VNetBridgeSendLargePacket\u2019 وجود ندارد [-Wmissing-prototypes]
1411 | VNetBridgeSendLargePacket(struct sk_buff *skb, // IN: بسته برای تقسیم
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/modconfig-14X4lZ/vmnet-only/vnetUserListener.c:87:1: هشدار: نمونه اولیه قبلی برای \u2018VNetUserListener_Create\u2019 وجود ندارد [-Wmissing-prototypes]
87 | VNetUserListener_Create(uint32 classMask, // IN: ماسک کلاس شنونده
| ^~~~~~~~~~~~~~~~~~~~~~~~
LD [M] /tmp/modconfig-14X4lZ/vmnet-only/vmnet.o
MODPOST /tmp/modconfig-14X4lZ/vmnet-only/Module.symvers
CC [M] /tmp/modconfig-14X4lZ/vmnet-only/vmnet.mod.o
LD [M] /tmp/modconfig-14X4lZ/vmnet-only/vmnet.ko
BTF [M] /tmp/modconfig-14X4lZ/vmnet-only/vmnet.ko
رد شدن از تولید BTF برای /tmp/modconfig-14X4lZ/vmnet-only/vmnet.ko به دلیل در دسترس نبودن vmlinux
ساختن[1]: خروج از فهرست ‘/usr/src/linux-headers-6.8.0-31-generic’
/usr/bin/make -C $PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= postbuild
ساختن[1]: وارد کردن دایرکتوری ‘/tmp/modconfig-14X4lZ/vmnet-only’
ساختن[1]: ‘postbuild’ به روز است.
ساختن[1]: خروج از فهرست ‘/tmp/modconfig-14X4lZ/vmnet-only’
cp -f vmnet.ko ./../vmnet.o
make: خروج از فهرست ‘/tmp/modconfig-14X4lZ/vmnet-only’
نصب همه ماژول ها ممکن نیست. برای جزئیات به لاگ مراجعه کنید.
روش 2: دانلود و کامپایل وصله شده ماژول های VMware Workstation Pro Kernel روی اوبونتو/دبیان
مخزن GitHub mkubecek/vmware-host-ماژول ها نسخه های وصله شده ماژول های هسته VMware Workstation Pro را به طور منظم منتشر می کند تا ماژول های هسته VMware Workstation Pro برای آخرین هسته های لینوکس کامپایل شوند.
اگر ماژولهای هسته رسمی VMware Workstation Pro کامپایل نشوند روی سیستم Ubuntu/Debian شما، تنها گزینه شما کامپایل و استفاده از ماژول های هسته VMware Workstation Pro وصله شده است.
در این بخش، روش دانلود وصله ماژول های کرنل VMware Workstation Pro برای نسخه نصب شده VMware Workstation Pro و کامپایل آن را به شما نشان خواهم داد. روی سیستم اوبونتو/دبیان شما برای نمایش از VMware Workstation Pro v17.5.2 استفاده می کنم روی اوبونتو 24.04 LTS (نسخه کرنل لینوکس نسخه 6.8.0).
ابتدا به مسیر بروید /tmp دایرکتوری به شرح زیر
مخزن GitHub را شبیه سازی کنید mkubecek/vmware-host-ماژول ها با دستور زیر:
دایرکتوری جدید vmware-host-ماژول ها/ باید ایجاد شود. حرکت به vmware-host-ماژول ها/ دایرکتوری به شرح زیر
برای بررسی نسخه VMware Workstation Pro که نصب کرده اید، دستور زیر را اجرا کنید:
همانطور که می بینید، من VMware Workstation Pro v17.5.2 را نصب کرده ام روی سیستم Ubuntu 24.04 LTS من.
برای بررسی ماژولهای هسته VMware Workstation Pro 17 وصلهشده موجود روی مخزن کلون شده GitHub، دستور زیر را اجرا کنید:
همانطور که می بینید، VMware Workstation Pro v17.5.2 هنوز در دسترس نیست، اما v17.5.1 در دسترس است. ماژول های هسته VMware Workstation Pro v17.5.1 باید به خوبی کار کنند روی VMware Workstation Pro نسخه 17.5.2.
توجه داشته باشید: تا زمانی که این مقاله را می خوانید، ماژول هسته وصله شده باید برای نسخه VMware Workstation Pro شما در دسترس باشد. یا، VMware ممکن است مشکلات مربوط به ماژولهای هسته رسمی خود را برطرف کند و دیگر نیازی به ماژولهای هسته VMware Workstation Pro وصلهشده نداشته باشید.
را بررسی کنید ایستگاه کاری-17.5.1 شعبه به شرح زیر
دو پوشه پیدا خواهید کرد vmmon-only/ و vmnet-only/ در /tmp/vmware-host-ماژول ها فهرست راهنما.
را فشرده کنید vmmon-only/ دایرکتوری به vmmon.tar و vmnet-only/ دایرکتوری به vmnet.tar به شرح زیر است:
$ tar -cf vmnet.tar vmnet-only/
فشرده شده را کپی کنید vmmon.tar و vmnet.tar فایل از /tmp/vmware-host-مدول دایرکتوری به /usr/lib/vmware/modules/source دایرکتوری برای جایگزینی ماژول های هسته رسمی VMware Workstation Pro با ماژول های هسته اصلاح شده.
برای کامپایل ماژول های کرنل VMware Workstation Pro وصله شده، دستور زیر را اجرا کنید:
ماژول های هسته VMware Workstation Pro در حال کامپایل شدن هستند. چند ثانیه طول می کشد تا کامل شود.
در این مرحله، ماژولهای کرنل VMware Workstation Pro باید کامپایل و نصب شوند.
رفع مشکل شروع نشدن سرویس های VMware Workstation Pro روی اوبونتو/دبیان
ماژول های هسته VMware Workstation Pro بارگیری نمی شوند روی UEFI Secure Boot سیستمهای Ubuntu/Debian را فعال کرد و در نتیجه سرویسهای VMware Workstation Pro راهاندازی نشد. به همین دلیل، خطاهای مشخص شده را درست پس از کامپایل کردن ماژول های هسته VMware Workstation Pro مشاهده خواهید کرد.
برای حل این مشکل، UEFI Secure Boot را از میانافزار BIOS/UEFI مادربرد خود غیرفعال کنید. یا، ماژولهای هسته VMware Workstation Pro را برای سیستم اوبونتو/دبیان فعال شده بوت امن UEFI خود امضا کنید.
نتیجه
در این مقاله، من به شما نشان دادم که چگونه ماژولهای هسته رسمی VMware Workstation Pro را کامپایل کنید روی اوبونتو/دبیان من همچنین به شما نشان داده ام که چگونه ماژول های هسته VMware Workstation Pro وصله شده را دانلود و کامپایل کنید. روی اوبونتو/دبیان در صورتی که ماژولهای هسته رسمی VMware Workstation Pro کامپایل نشوند. در نهایت، من مشکلاتی را که ممکن است در بارگذاری ماژولهای هسته VMware Workstation Pro و راهاندازی سرویسهای systemd VMware Workstation Pro با آن مواجه شوید، مورد بحث قرار دادهام. روی UEFI Secure Boot سیستمهای Ubuntu/Debian را فعال کرد و به مقالههای دیگری که نشاندهنده process از حل مشکلات
منابع
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1403-05-28 17:52:05