I’ve recently run into a problem with 7-STABLE on VMware ESXi 3.5u4. With a recent change my VM shuts off shortly after probing the LSI (mpt) disk controller. The same behavior started occurring over the summer in HEAD and the quick workaround is to change the VM’s disk controller type from LSI to BusLogic. Lately I have some time to poke people about this issue so I figured I would. The problem is getting as much as I can while booting and having some usable boot messages for someone to look at. This would usually be accomplished by redirecting console output to a serial port on the problem machine and hooking up a cross over cable between it and another box. I haven’t done this on VMware before though so I had to do a little googling and it’s pretty simple.
On the FreeBSD side the following needs to be added to /boot/loader.conf:
This will redirect the console to both the video display and a serial port. Once that is done shutdown the VM so the serial port can be added and configured.
With the crashing VM turned off go to “Edit Settings”:
Click the “Add” button to add a serial port to the VM:
For the serial port output select “Connect to named pipe”:
Finally configure the pipe:
The name of the pipe should be a file location on the VM host machine, not the guest. The near end is “Server” since I want to see the output from this VM and the far end will be another virtual machine. For the VM I’ll be connecting from to view the console output I would do the same but near end would be “Client”.
Once all this is done, from the second working VM launch cu(1).
# cu -l cuad0
After that boot the crashing VM and kernel messages should appear on the second VM. That’s all it takes to setup a serial connection between two FreeBSD VMs on VMware.
Update: Images fixed.