Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Apr 2004 09:11:03 -0400 (EDT)
From:      Andrew Gallatin <gallatin@cs.duke.edu>
To:        freebsd-emulation@freebsd.org
Subject:   user mode linux?
Message-ID:  <16528.65255.326986.106534@grasshopper.cs.duke.edu>

next in thread | raw e-mail | index | archive | help

Has anybody succeeded in running user mode linux on FreeBSD?  Not
user-mode bsd, but user-mode linux.  I do some linux driver
development at work, and it would be very handy to have linux running
in a vm on my desktop.  [vmware is not an option, as we've already
interfaced our hardware simulator to uml, so we can do firmware and
driver development under uml]

The first problem I have is really stumping me.  The linux kernel
(http://uml.linode.com/linux-2.4.19-5.bz2) is failing to start very
early.  Its creating a 1785856 byte sparse file and failing to mmap
it:

  2974 linux-2.4.19-5 CALL  linux_llseek(0x3,0,0x1b4000,0xbfbfe280,0)
  2974 linux-2.4.19-5 RET   linux_llseek 0
  2974 linux-2.4.19-5 CALL  write(0x3,0xbfbfe2d7,0x1)
  2974 linux-2.4.19-5 GIO   fd 3 wrote 1 byte
       "\0"
  2974 linux-2.4.19-5 RET   write 1
  2974 linux-2.4.19-5 CALL  linux_fcntl64(0x3,0x2,0x1)
  2974 linux-2.4.19-5 RET   linux_fcntl64 0
  2974 linux-2.4.19-5 CALL  linux_mmap(0xbfbfe2d0)
  2974 linux-2.4.19-5 RET   linux_mmap -1 errno 12 Cannot allocate
memory
  2974 linux-2.4.19-5 PSIG  SIGSEGV SIG_DFL
  2974 linux-2.4.19-5 NAMI  "linux-2.4.19-5.core"


According to a printf from the linux_mmap(), the arguments look
reasonable:  mmap: 0, 1785856, 3, 0x00000001, 3, 0

I think this works out to:
             mmap(NULL, 1785856, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0)

But I just can't see why this should fail.  If anybody can point out
what I'm missing,  I'd appreciate it.   I've included the full kdump,
just in case..

FWIW, this was done on a ~1 month old -current.  -stable gets a bit
further, but also dies in a later mmap().

Thanks,

Drew

  2974 ktrace   RET   linux_brk 0
  2974 ktrace   CALL  linux_olduname(0xbfbfe667,0xbfbfe524,0xbfbfe52c)
  2974 ktrace   NAMI  "./linux-2.4.19-5"
  2974 linux-2.4.19-5 RET   linux_olduname 0
  2974 linux-2.4.19-5 CALL  linux_fcntl64(0,0x1,0)
  2974 linux-2.4.19-5 RET   linux_fcntl64 0
  2974 linux-2.4.19-5 CALL  linux_fcntl64(0x1,0x1,0)
  2974 linux-2.4.19-5 RET   linux_fcntl64 0
  2974 linux-2.4.19-5 CALL  linux_fcntl64(0x2,0x1,0)
  2974 linux-2.4.19-5 RET   linux_fcntl64 0
  2974 linux-2.4.19-5 CALL  linux_newuname(0xbfbfe300)
  2974 linux-2.4.19-5 RET   linux_newuname 0
  2974 linux-2.4.19-5 CALL  geteuid
  2974 linux-2.4.19-5 RET   geteuid 1387/0x56b
  2974 linux-2.4.19-5 CALL  linux_getuid
  2974 linux-2.4.19-5 RET   linux_getuid 1387/0x56b
  2974 linux-2.4.19-5 CALL  getegid
  2974 linux-2.4.19-5 RET   getegid 0
  2974 linux-2.4.19-5 CALL  linux_getgid
  2974 linux-2.4.19-5 RET   linux_getgid 0
  2974 linux-2.4.19-5 CALL  linux_brk(0)
  2974 linux-2.4.19-5 RET   linux_brk -1608359936/0xa0226000
  2974 linux-2.4.19-5 CALL  linux_brk(0xa0226020)
  2974 linux-2.4.19-5 RET   linux_brk -1608359904/0xa0226020
  2974 linux-2.4.19-5 CALL  linux_brk(0xa0227000)
  2974 linux-2.4.19-5 RET   linux_brk -1608355840/0xa0227000
  2974 linux-2.4.19-5 CALL  linux_getpid
  2974 linux-2.4.19-5 RET   linux_getpid 2974/0xb9e
  2974 linux-2.4.19-5 CALL  linux_rt_sigprocmask(0x2,0xbfbfe450,0,0x8)
  2974 linux-2.4.19-5 RET   linux_rt_sigprocmask 0
  2974 linux-2.4.19-5 CALL  linux_execve(0xbfbfe690,0xa02262f0,0xbfbfe560)
  2974 linux-2.4.19-5 NAMI  "./linux-2.4.19-5"
  2974 linux-2.4.19-5 RET   linux_execve 0
  2974 linux-2.4.19-5 CALL  linux_fcntl64(0,0x1,0)
  2974 linux-2.4.19-5 RET   linux_fcntl64 0
  2974 linux-2.4.19-5 CALL  linux_fcntl64(0x1,0x1,0)
  2974 linux-2.4.19-5 RET   linux_fcntl64 0
  2974 linux-2.4.19-5 CALL  linux_fcntl64(0x2,0x1,0)
  2974 linux-2.4.19-5 RET   linux_fcntl64 0
  2974 linux-2.4.19-5 CALL  linux_newuname(0xbfbfe200)
  2974 linux-2.4.19-5 RET   linux_newuname 0
  2974 linux-2.4.19-5 CALL  geteuid
  2974 linux-2.4.19-5 RET   geteuid 1387/0x56b
  2974 linux-2.4.19-5 CALL  linux_getuid
  2974 linux-2.4.19-5 RET   linux_getuid 1387/0x56b
  2974 linux-2.4.19-5 CALL  getegid
  2974 linux-2.4.19-5 RET   getegid 0
  2974 linux-2.4.19-5 CALL  linux_getgid
  2974 linux-2.4.19-5 RET   linux_getgid 0
  2974 linux-2.4.19-5 CALL  linux_brk(0)
  2974 linux-2.4.19-5 RET   linux_brk -1608359936/0xa0226000
  2974 linux-2.4.19-5 CALL  linux_brk(0xa0226020)
  2974 linux-2.4.19-5 RET   linux_brk -1608359904/0xa0226020
  2974 linux-2.4.19-5 CALL  linux_brk(0xa0227000)
  2974 linux-2.4.19-5 RET   linux_brk -1608355840/0xa0227000
  2974 linux-2.4.19-5 CALL  linux_getpid
  2974 linux-2.4.19-5 RET   linux_getpid 2974/0xb9e
  2974 linux-2.4.19-5 CALL  linux_rt_sigprocmask(0x2,0xbfbfe350,0,0x8)
  2974 linux-2.4.19-5 RET   linux_rt_sigprocmask 0
  2974 linux-2.4.19-5 CALL  linux_getrlimit(0x3,0xbfbfe340)
  2974 linux-2.4.19-5 RET   linux_getrlimit 0
  2974 linux-2.4.19-5 CALL  gettimeofday(0xbfbfd1f8,0)
  2974 linux-2.4.19-5 RET   gettimeofday 0
  2974 linux-2.4.19-5 CALL  linux_getpid
  2974 linux-2.4.19-5 RET   linux_getpid 2974/0xb9e
  2974 linux-2.4.19-5 CALL  linux_open(0xbfbfd2b0,0xc2,0x180)
  2974 linux-2.4.19-5 NAMI  "/compat/linux/var/tmp"
  2974 linux-2.4.19-5 NAMI  "/var/tmp/vm_file-iogmcl"
  2974 linux-2.4.19-5 RET   linux_open 3
  2974 linux-2.4.19-5 CALL  linux_unlink(0xbfbfd2b0)
  2974 linux-2.4.19-5 NAMI  "/compat/linux/var/tmp/vm_file-iogmcl"
  2974 linux-2.4.19-5 NAMI  "/var/tmp/vm_file-iogmcl"
  2974 linux-2.4.19-5 RET   linux_unlink 0
  2974 linux-2.4.19-5 CALL  fchmod(0x3,0x1ff)
  2974 linux-2.4.19-5 RET   fchmod 0
  2974 linux-2.4.19-5 CALL  linux_llseek(0x3,0,0x1b4000,0xbfbfe280,0)
  2974 linux-2.4.19-5 RET   linux_llseek 0
  2974 linux-2.4.19-5 CALL  write(0x3,0xbfbfe2d7,0x1)
  2974 linux-2.4.19-5 GIO   fd 3 wrote 1 byte
       "\0"
  2974 linux-2.4.19-5 RET   write 1
  2974 linux-2.4.19-5 CALL  linux_fcntl64(0x3,0x2,0x1)
  2974 linux-2.4.19-5 RET   linux_fcntl64 0
  2974 linux-2.4.19-5 CALL  linux_mmap(0xbfbfe2d0)
  2974 linux-2.4.19-5 RET   linux_mmap -1 errno 12 Cannot allocate memory
  2974 linux-2.4.19-5 PSIG  SIGSEGV SIG_DFL
  2974 linux-2.4.19-5 NAMI  "linux-2.4.19-5.core"








Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?16528.65255.326986.106534>