Subject: Re: /emul/xxx for all/other /sys/compat/xxx?
To: None <tech-kern@NetBSD.ORG>
From: der Mouse <mouse@Collatz.McRCIM.McGill.EDU>
Date: 03/06/1995 09:55:28
>> Some of the newer compat modules, like svr4 and linux (others?) use
>> a different root for the emulation, like /emul/svr4 or /emul/linux.
> How do you get at things in the real root?
> Is the real root mounted on /emul/linux/root or something?
Calling it "a different root" is perhaps misleading. I haven't read
the code, but what I gather actually happens is that when a program
running in compat mode tries to open (say) "/usr/lib/libc.so.1.8", and
that doesn't exist, but /emul/xxxx/usr/lib/libc.so.1.8 does, the kernel
silently opens the latter instead.
Think of it as though /emul/xxxx were union-mounted underneath the real
root, but only for accesses by programs running in COMPAT_xxxx mode.
(Okay, that's an oversimplification, but it perhaps gives some idea.)