Hi,
I run vmware workstation 5.5.4 on Windows XP and try to run Gentoo Linux 2007.0 using Kernel 2.6.21.3 as guest. This does not work!
During kernel-initialization (LSI SCSI Driver initialization), the last "valid" line I see is:
scsi0_ ioc0: LSI53C1030, FwRev=00000000h, Ports=1, MaxQ=128, IRQ=17
And usually after that line one should see the installed SCSI Drives, but they do not appear as if no drives were connected. But kernel-initialization continues, it does not freeze.
But finally I get a Kernel Panic: "/dev/sda3" not found! (Obvious, when no drives are found!)
As last Idea I installed kernel 2.6.20 and it works (with same Kernel .config-file).
The LSI Driver Version of the non-workin Kernel 2.6.21.3 is
Fusion MPT SPI Host driver 3.04.04
Best regards,
Silke
We have the same problem and I've found a post refering to a bug in the LSI emulation in VMWare 5 which is suposedly fixed in VMware 6.
Here's the patch, but it didn't work for us. We still can't reboot a box after upgrading the kernel from 2.6.18.3 to 2.6.21.3.
diff -uNr linux-2.6.21.3/drivers/message/fusion/mptbase.c linux-2.6.21.3-patched/drivers/message/fusion/mptbase.c
\--- linux-2.6.21.3/drivers/message/fusion/mptbase.c 2007-05-24 18:22:47.000000000 -0300
\+++ linux-2.6.21.3-patched/drivers/message/fusion/mptbase.c 2007-05-30 15:46:49.000000000 -0300
@@ -2564,6 +2564,16 @@
pfacts->IOCStatus = le16_to_cpu(pfacts->IOCStatus);
pfacts->IOCLogInfo = le32_to_cpu(pfacts->IOCLogInfo);
pfacts->MaxDevices = le16_to_cpu(pfacts->MaxDevices);
+ /*
+ * VMware emulation is broken, its PortFact's MaxDevices reports value
+ * programmed by IOC Init, so if you program IOC Init to 256 (which is 0,
+ * as that field is only 8 bit), it reports back 0 in port facts, instead
+ * of 256... And unfortunately using 256 triggers another bug in the
+ * code (parallel SCSI can have only 16 devices).
+ */
+ if (pfacts->MaxDevices == 0) {
+ pfacts->MaxDevices = 16;
+ }
pfacts->PortSCSIID = le16_to_cpu(pfacts->PortSCSIID);
pfacts->ProtocolFlags = le16_to_cpu(pfacts->ProtocolFlags);
pfacts->MaxPostedCmdBuffers = le16_to_cpu(pfacts->MaxPostedCmdBuffers);
Thank you for this information!!!
What a pity! I wanted to use the latest kernel...
Hi,
today I tested the patch mentioned above.
And it works!
Silke
This is weird... I still can't get the patch to work with 2.6.21.5 kernel either.
Anybody have any ideas?
Switch to buslogic in VMware, instead??
Or create a new VM selecting the "Custom" option to configure the VM to use virtual IDE.
Yes, of course, I can switch... it's a pain though because I have to add BusLogic to the initrd image, shutdown the box, edit the vmx file and power it back up.
Besides, I'm not sure that all is good since VMWare pops up a warning about changing the disk information and that it might not be supported properly.
We have about 20 machines on which I'll have to do that. We also can't stay with the old kernel because our application needs the new kernel and vmware is our test and build environment and it needs to match.
Oh, the mkinitrd doesn't take that long :-).
Which is less of a pain - backing out to a earlier kernel version or remaking initrd? If you find backing out to an earlier kernel easier, that's great - go with it. If I'm stuck using 2.6.21, though, I just go ahead and convert to BusLogic.
I hand-edited-in the patch contents to the 2.6.20-gentoo-r8 kernel with success. It seems the gentoo kernels have the same issue running in VMWare-Workstation6. Thank you!
I found out why it wasn't working for me... silly, but it's because the SCSI driver can't be a module. If I build it in the kernel, and apply the patch, it works in WS5.
The SCSI driver can be a module if it's in the initial ram drive. There is a bug in the LSI driver/VMware emulation in kernel 2.6.21 & 2.6.22. You can use the BusLogic driver, but you need to update the OS to load the kernel module.
VMware Linux guest kernel panics on boot with LSI Logic HBA and kernel 2.6.21-2.6.22
Cheers.
Are there any plans to fix VMware 5.5 too (6 requires a new license)?
There is a Workstation 5.5.5, but not sure if this fix made it into the build. You may want to give it a try.
I believe it did make it into VMware Server 1.0.4
I've just installed 5.5.5 but it does not appear to be fixed.