OpenBSD Journal

VMware Community Virtual Machines

Contributed by marco on from the building-a-machine-in-a-machine dept.

Today on misc Will Backman pointed the following out:

On the VMware Technology Network is a link to an OpenBSD 3.8 image. These images can be used with VMware products including the free VMware player. Neat to see the community doing these things.

Note: This has not been tested by the undeadly editors YMMV.

(Comments are closed)


Comments
  1. By Justin (216.17.68.210) on

    ...and you thought the time it takes to get OpenBSD up and running from scratch was fast...

    Nice work... I ran it for a little bit, seemed to work good though I didn't really do anything with it.

  2. By Tobias Weisserth (143.93.17.28) on http://www.weisserth.net

    I'm running OpenBSD inside QEMU on a Mandriva GNU/Linux box and it works just fine. I used to run it in BOCHS but QEMU is faster and seems to get more attention from developers improving it.

    Comments
    1. By Anonymous Coward (128.2.13.178) on

      just a quick note of caution when using OpenBSD as a guest OS in qemu...

      The qemu release notes list the following known limitation for x86 emulation:

      "The x86 segment limits and access rights are not tested at every memory access (yet). Hopefully, very few OSes seem to rely on that for normal use."

      This has implications for at least the ELF .rodata PROT_EXEC protection feature in OpenBSD (and maybe W^X too). Consider the following example. The fact that it doesn't do anything useful or even make much sense isn't important.

      foo.c:
      -----
      #include 
      
      extern ulong getcallerpc(void *);
      
      int
      main()
      {
              ulong n;
              n = (12*1024*1024); 
      
              if(getcallerpc(&n))
                      printf("ok\n");
      }
      
      bar.S:
      -----
              .section rodata
      
              .type   getcallerpc,@function
              .global getcallerpc
      getcallerpc:
              pushl   %ebp
              movl    %esp, %ebp
              movl    4(%ebp), %eax
              popl    %ebp
              ret
      

      Notice that getcallerpc is in .rodata so on a system running OpenBSD natively on x86, we get:

      $ cc -g3 -c foo.c bar.S
      $ cc -o foo foo.o bar.o
      $ gdb ./foo
      [...]
      Program received signal SIGSEGV, Segmentation fault.
      0x1c0005f6 in main () at foo.c:10
      10              if(getcallerpc(&n))
      (gdb) disass main
      [...]
      0x1c0005f6 :   call   0x3c00000a 
      

      Which is what you'd expect because we can't call getcallerpc; it's not executable.

      Yet the program runs just fine in OpenBSD on qemu emulating x86:

      $ ./foo
      ok
      $
      

      which is not what you should be expecting.

      I'm not sure what other implications this has, but it should be noted. Maybe it has similar side effects for software DEP in XP as well, but I've never tried XP in qemu nor do I even know if it works.

  3. By m0rf (68.104.17.51) on

    i'd be more interested if it was vmware supporting openbsd as a host os.

    Comments
    1. By tedu (71.139.175.127) on

      this is unlikely to happen, but you can always bring it up with your vmware contact.

    2. Comments
      1. By Todd T. Fries (72.250.13.18) todd@openbsd.org on http://todd.ries.net/

        Couple of general comments, you guys did 'ls ports/emulators/vmware/3' right? It is there, if you care to run older binaries. It works, even helped someone fix their emul/linux/dev dir the other day. Hi, aaron!

        Anyone may try this out if they use qemu, as qemu can read vmware images. I'd d/l it myself, but over a gprs modem at an airport, no thank you.

        As a plug, please test and give me feedback on http://todd.fries.net/ports/qemu-0.8.0.tar.gz (an update to the qemu port). Improvements on OpenBSD are that amd64 emulation from i386 host works flawlessly for me now (ssh-keygen and ssh work now as opposed to 0.7.2), a slew of new -user-net options, and if you care to load a linux kernel, it has arm emulation added. Someday they might even permit the qemu-system-arm to boot w/out loading a bzImage linux kernel ;-)

        Thanks!

        Comments
        1. By m0rf (68.104.17.51) on

          only problem with that is getting a license for an older version.

  4. By TomazZ (193.77.149.124) tzveglic@email.si on http://www.4ezi.com

    Gr8. OpenBSD 3.8 works fine in VMWare Player. p.s. SSHD is disabled in /etc/rc.conf.local

Credits

Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original deadly.org with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]