Subject: Re: home directories in Linux emulation
To: None <netbsd-help@netbsd.org>
From: Frederick Bruckman <fredb@immanent.net>
List: netbsd-help
Date: 01/29/2005 16:08:37
In article <41FB4F6F.8070201@ontographics.com>,
	Roman Kennke <roman@ontographics.com> writes:
> 
> I try to run a Java application in Linux emulation. It seems that it has 
> problems with accessing my home directory /home/roman. Obviously only 
> the directory structure below /emul/linux is visible and there I have no 
> /emul/linux/home/roman directory.

That isn't how the emulation generally works. When a linux application
tries to open "/home/roman", the shim first tries "/emul/linux/home/roman/",
then, if it fails, "/home/roman/". The application isn't supposed to know
about the "/emul/linux" thing.

> I tried to create it and set 
> appropriate permissions but this only leads to other problems (and is 
> ugly because I would rather like to have everything in one place). So it 
> came to mind to create a symlink from /home/roman -> 
> /emul/linux/home/roman or /usr/pkg/emul/linux/home/roman but this leads 
> to an error saying 'too many levels of symlinks'. Now I don't know what 
> else there is to do.
> 
> - why does Linux emulation not use /home/* instead of /emul/linux/home/* ??
> - can I change this somehow (a sysctl setting? ENV-variable?)

Maybe some configuration is actually exposing "/emul/linux/home/roman",
which is wrong. Try "grep -r -l emul.linux /emul/linux" to try to find
out which file improperly contains "/emul/linux", and change it.


Frederick