网络上许多人都说,esxi 5 内核不是基于 linux 内核,但同时他们又说“ESX(i) 包含 Linux 驱动程序兼容模式(驱动程序仍然必须专门为 ESXi 编译)”,所以我的简单问题是,如果这个 vmkernel 不是基于 linux 内核,我该如何将 linux 驱动程序移植到 esxi 5 内核
我下载了适用于 esxi 5 的 megaraid 源代码驱动程序,并在此文件 megaraid_sas.ci 中看到了此内容
* Send feedback to: <[email protected]>
*
* Mail to: LSI Corporation, 1621 Barber Lane, Milpitas, CA 95035
* ATTN: Linuxraid
*/
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/pci.h>
#include <linux/list.h>
#include <linux/moduleparam.h>
#include <linux/module.h>
#include <linux/spinlock.h>
#include <linux/interrupt.h>
#include <linux/delay.h>
#include <linux/uio.h>
#include <asm/uaccess.h>
#include <asm/div64.h>
#include <linux/fs.h>
#include <linux/compat.h>
#include <linux/blkdev.h>
#include <linux/mutex.h>
#if defined(__VMKLNX__)
#include <linux/miscdevice.h>
#include <scsi/scsi_tcq.h>
#include "vmklinux_scsi.h"
#endif
#include <linux/poll.h>
#include <scsi/scsi.h>
#include <scsi/scsi_cmnd.h>
#include <scsi/scsi_device.h>
#include <scsi/scsi_host.h>
如果我理解正确的话,vmkernel 不是基于 linux 内核,但它使用 linux 内核头文件
答案1
我没有看到这里的问题...
VMware 内核不是 Linux...不过,您确实看到了经过修改的 Busybox 用户空间。此外,许多核心驱动程序支持都源自现有的 Linux 驱动程序库。