Instruction fault panic while installing 6.2 on VMware Server

Greg Larkin glarkin at sourcehosting.net
Mon Feb 26 16:44:02 UTC 2007


> 
> Hi,
> 
> On 2/23/07, Greg Larkin <glarkin at sourcehosting.net> wrote:
> > Hi everyone,
> >
> > I'm creating a standard FreeBSD 6.2 ISO image that I can use to
> > perform unattended installations into VMware Server virtual 
> machines.
> > I'm using VMServer 1.0.1, and I've hit a roadblock when sysinstall
> > attempts to create the root filesystem.
> >
> > The first thing to mention is that VMServer is running on a 
> CentOS 4.4
> > host OS, and the CPU architecture is a Via C3 Nehemiah.  
> Technically,
> > the VMServer software is not supposed to work on the Via C3 
> line, but
> > the Nehemiah apparently supports the CMOV instruction that
VMServer
> > requires.  I've been able to install Fedora Core 6 successfully
and
> > run it with no problems, so I'm wondering if I just need to find
the
> > right options to configure FreeBSD 6.2 to get it to work.
> >
> > Anyway, the VM boots fine, loads the FreeBSD ISO, and launches
> > sysinstall, but as soon as newfs is invoked to make the root
> > filesystem, I get this:
> >
> > Making a new root filesystem on /dev/ad0s1a
> > Panic: privileged instruction fault
> > (auto reboot)
> >
> > I've tried installing from the standard 6.2 release ISO as well as
a
> > custom ISO with a recompiled kernel, but I get the same error
either
> > way.  I also tried disabling ACPI during boot with no success.
> >
> > My custom kernel config is included below.  My first 
> thought was that
> > if I explicitly set the CPU to I486, that might help avoid the
> > instruction fault, but that doesn't work.  I didn't see any other
> > options that looked like they would fix the fault, but I'm not
very
> > experienced at kernel configuration either.
> >
> > Does anyone have an idea how to troubleshoot this problem? Thank
you
> > for any help!
> >
> > Regards,
> > Greg Larkin
> 
> I have experienced similar problem in VMware Workstation 
> under Windows XP
> on Via C3 Nehemiah processor since FreeBSD 5.x. In my case
privileged
> instruction fault shot somewhere in rc boot process. Tracing 
> down the cause of
> fault i found out that it was xstore instruction, which 
> VMware did not emulate.
> It turned out to be the merit of new random generator 
> appeared somewhere in
> 5.x, which detected the Via processor and tried to use its 
> hardware random
> number generator. My workaround was to patch kernel to 
> disable using this Via
> processor feature completely. The result was successful 
> booting and running
> FreeBSD 5.x and 6.x under VMware on this machine.
> 
> Attached is the patch i use for 6.x kernel.
> 
> Hope this helps.
> 
> --
> ghozzy
> 

Hi Ghozzy,

Thanks very much for that - I appreciate it!  I'm in the midst of
building a new ISO, and I'll test it out and let you know what
happens.  I should have grepped /usr/src for "Nehemiah"!

Do you (or others) think there is any call for either VMware Server
detection in the kernel or a kernel config option specifying that the
kernel is going to run in a VM?  

I wonder if patches like this and others would be useful to add to the
official kernel sources, since VMware supports FreeBSD as a guest OS?
Perhaps there are other kernel optimizations and configuration options
that would make sense if the kernel knew it was running in a VM?

Regards,
Greg Larkin





More information about the freebsd-hackers mailing list