
Многие в Интернете говорят, что ядро ESX 5 не основано на ядре Linux, но в то же время они говорят, что «ESX(i) включает режим совместимости с драйверами Linux (драйверы все равно должны быть скомпилированы специально для ESXi)», поэтому мой простой вопрос: если это vmkernel не основано на ядре Linux, как я могу портировать драйвер Linux на ядро ESXI 5?
Я скачал исходный код драйвера megaraid для esxi 5 и в этом файле 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.