pkgsrc-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 26, 2009, at 4:45 PM, Nicolas Joly wrote:
On Tue, May 26, 2009 at 04:24:27PM +0200, Fredrik Pettai wrote:
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

# 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.

Indeed, the emulation prefix handling was changed prior NetBSD 5.0,
and now symlinks cannot refer files outside the emulation root.

I've forgotten about it, but the attached patch should fix it.

Yes it did, thanks.

Maybe it would be good to mentioned it in COMPAT_LINUX(8) ?

Just a suggestion below

--- /usr/src/share/man/man8/compat_linux.8.orig 2009-05-27 01:33:30.000000000 +0200 +++ /usr/src/share/man/man8/compat_linux.8 2009-05-27 02:09:45.000000000 +0200
@@ -568,3 +568,14 @@
 option to
 .Xr mount_nfs 8
 will also have the desired effect, but is less preferable.
+NetBSD/amd64 later than version 4.0.1 are known to have problems with the 64-bit emulation on certain CPU types, typically iNTEL CPUs. Most AMD CPUs seems to work well.
+Prior to NetBSD 5.0 the prefix handling changed, so symlinks can't point outside the emulation root
+.Pa /emul/linux .
+.Pa /emul/linux/etc/mtab
+in older pkgsrc packages is installed as a symlink to
+.Pa /emul/linux/proc/mounts
+which won't work. It should be symlinked as
+.Pa /proc/mounts

Home | Main Index | Thread Index | Old Index