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