VKernel progress update - 11 Jan 2007

Matthew Dillon dillon at apollo.backplane.com
Fri Jan 12 10:25:23 PST 2007


:On Thu, Jan 11, 2007 at 10:08:56PM -0800, Matthew Dillon wrote:
:>     The virtual kernel is a lot more stable now.  My vkernel paniced 
:>     once while I was doing an installworld... it ran out of room in
:>     its kernel_map.  I haven't tracked down the reason for that.
:
:Hi, I played with vkernel for a while today, and here are what I noticed:
:..

    Make sure that you do a full rebuild of the real kernel *and* the
    virtual kernel.  Whenever you see me commit to anything other then
    machine/vkernel that probably means that the real kernel has to be
    rebuilt too.  Make sure you are using the latest HEAD sources from
    the master site.

:- vkernel occasionally fails to find the root fs, and in particular,
:  if I start it with MALLOC_OPTIONS=AJ and it always panics right after
:  printing the copyright messages:
:
:    panic: pmap_zero_page: CMAP3 busy
:    Trace beginning at frame 0xbfbff850

    I get the same panic if MALLOC_OPTIONS are set to AJ.  I will look into
    it right now.

    But when I don't use those malloc options, I have not ever had the
    problem of the virtual kernel not seeing the root filesystem.

    Try using MALLOC_OPTIONS=  (blank).  My real kernel has no 
    /etc/malloc.conf so perhaps your malloc options are creating all
    of these issues.  They shouldn't, I don't understand why they would,
    but I can reproduce the CMAP3 crash so we'll see what my investigation
    turns up.

:  using MALLOC_OPTIONS=Z always let me go to single user mode, or
:  just before "login:" prompt.
:
:- if I type ctrl+T (SIGINFO) and vkernel immediately terminates, and
:  I need to run fsck in the next boot.  Is this intended?
:...
:- the vkernel environment won't make it into "login:" prompt (that was
:  when I pressed ctrl+T :), and when I dropped into DDB in vkernel,

    It kinda sounds like your real kernel and your virtual kernel are 
    out of sync, or you aren't running the latest HEAD.  The ^T issue
    was something that occured 2 days ago, but I can hold it down now
    and get continuous reports with it crashing.

:  I couldn't find getty running.  I don't usually login on the console
:  to this machine, is it related?  this is what I got in single user mode
:  in vkernel:
:    # tty
:    /dev/console
:    # tty < /dev/ttyv0
:    cannot open /dev/ttyv0: Device not configured
:    # tty < /dev/ttyp0
:    (I pressed ctrl+C here)
:    ^Ccannot open /dev/ttyp0: Interrupted system call

    You have to modify the virtual kernel's /etc/ttys.  Turn on the console
    getty, and turn off all the other getty's.

    console "/usr/libexec/getty Pc"         cons25  on secure
    (all others off)

    Adjust the vkernel's /etc/fstab and make sure you have the VKD disk
    devices in /dev.

    If using the VN device in the real kernel to mount the virtual kernel's
    rootfs, make sure that it is all dismounted before you start the virtual
    kernel or you will wind up with two filesystems trying to write to the
    same filesystem image (I destroyed my virtual kernel's root fs that way
    a couple of times before I learned my lesson :-)).
 
:- how can I boot vkernel in single user mode?  I added the following change
:  locally because I couldn't find it elsewhere.  maybe useful for
:  maintenance or debugging purpose.
:
:Cheers.

    I'll commit your -s patch.

						-Matt





More information about the Kernel mailing list