NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: emulators/suse100_base on NetBSD-5/[i386|amd64] broken?



On May 13, 2009, at 7:47 PM, Fredrik Pettai wrote:
On May 1, 2009, at 11:42 AM, Thomas Klausner wrote:
On Fri, May 01, 2009 at 01:26:39AM +0200, Fredrik Pettai wrote:
# pkg_info | grep suse
suse_base-10.0nb5   Linux compatibility package
suse_compat-10.0nb3 Linux compatibility package with old shared
libraries

# sysctl emul.linux.kern.osrelease
emul.linux.kern.osrelease: 2.4.18

I've been testing the linux emulation a bit more, and found more broken things with it in NetBSD 5.0 (at least from RC4) -> NetBSD 5.99.11. /emul/linux{32}/proc is mounted as describe by suse100{_32}_base MESSAGE file and /emul/linux{32}/etc/mtab exists (a link pointing on /emul/linux{32}/proc/mounts, which looks fine.

One simple thing I've come across that doesn't work anymore is the / emul/linux{32}/bin/df command, that fails on both i386/amd64 arch's.

# ktruss -tA -i /emul/linux/bin/df
  3623      1 ktruss   emul(netbsd)
  3623      1 ktruss   fktrace                     = 0
/emul/linux/bin/df: cannot read table of mounted file systems: No such file or directory
  3623      1 ktruss   fcntl(0x4, 0x3, 0)          = 1
  3623      1 ktruss   fcntl(0x4, 0x4, 0x1)        = 0
  3623      1 df       emul(linux32)
3623 1 df oldolduname("/emul/linux/bin/df", 0x7f7fffffdc88, 0x7f7fffffdc98) JUSTRETURN
  3623      1 df       uname(0xffffe80e)           = 0
  3623      1 df       brk(0)                      = 134553600
  3623      1 df       netbsd32_access("/emul/linux32", 0x4) JUSTRETURN
3623 1 df open("/emul/linux32/lib/ld-linux.so.2", 0, 0) = 3
  3623      1 df       fstat64(0x3, 0xffffe08c)    = 0x0
  3623      1 df       old_mmap(0xffffe06c)        = 4227747840
  3623      1 df       netbsd32_close(0x3)         = 0
3623 1 df open("/emul/linux32/etc/ld.so.preload", 0, 0x8048774) = 3
  3623      1 df       netbsd32_read(0x3, 0xffffe1f4, 0x200) = 512
"\^?ELF\^A\^A\^A\0\0\0\0\0\0\0\0\0\^C\0\^C\0\^A\0\0\0\M-0T\^A \0004\0\0"
  3623      1 df       fstat64(0x3, 0xffffe108)    = 0x0
  3623      1 df       old_mmap(0xffffdfc4)        = 4227743744
  3623      1 df       old_mmap(0xffffdf58)        = 4226560000
  3623      1 df       netbsd32_madvise(0xfbec3000, 0x120c94, 0x3) = 0
  3623      1 df       old_mmap(0xffffdf58)        = 4227719168
  3623      1 df       old_mmap(0xffffdf58)        = 4227735552
  3623      1 df       netbsd32_close(0x3)         = 0
  3623      1 df       mprotect(0xfbfde000, 0x1000, 0x1) = 0
  3623      1 df       netbsd32_munmap(0xfbfe5000, 0x1201) = 0
  3623      1 df       brk(0)                      = 134553600
  3623      1 df       brk(0x8073000)              = 134688768
  3623      1 df       open("/etc/ld.so.preload", 0, 0x1b6) JUSTRETURN
  3623      1 df       netbsd32_write(0x2, 0xffffc3ec, 0x14) = 20
       "/emul/linux/bin/df: "
  3623      1 df       netbsd32_write(0x2, 0xffffbfc8, 0x29) = 41
       "cannot read table of mounted file systems"
  3623      1 df       netbsd32_write(0x2, 0xffffbfb0, 0x1b) = 27
       ": No such file or directory"
  3623      1 df       netbsd32_write(0x2, 0xfbfe06a7, 0x1) = 1
       "\n"
  3623      1 df       netbsd32_close(0x1)         = 0

So far, I've only tested this on iNTEL CPU(s). Maybe this works better on AMD CPU(s)? Just like the native (64-bit) compat_linux support for NetBSD/amd64, which seem to break on iNTEL CPU(s).




Home | Main Index | Thread Index | Old Index