Hum. Please could you check that "/home/mark/fs/etc/hosts" is a
symbolic link to "/jffs/hosts"? For example I'm able to reproduce the
behavior you reported that way ("-Q" is an alias to "-B -q"):
$ ls -l /path/to/guest-rootfs/etc/hosts
lrwxrwxrwx 1 cedric users 11 May 7 17:04
/path/to/guest-rootfs/etc/hosts -> /jffs/hosts
$ proot -v -Q qemu-arm /path/to/guest-rootfs
proot info: create the binding location "/jffs/hosts"
...
proot info: binding = /etc/hosts:/jffs/hosts
...
In that case, this is an expected behavior: the content of
"/etc/hosts" in the host-rootfs is bound to "/etc/hosts" in the
guest-rootfs, however this latter is a symbolic link to "/jffs/hosts"
and PRoot follows it for the sake of consistency, i.e. the file type
isn't changed. That way, guest programs can still access "/etc/hosts"
as a symbolic link:
host_shell$ proot -Q qemu-arm /path/to/guest-rootfs
guest_shell$ ls -l /etc/hosts
lrwxrwxrwx 1 cedric users 11 May 7 17:04 /etc/hosts -> /jffs/hosts
Now to reply to the question "Where does PRoot get binding locations
from with -B?", this list of recommended bindings is hard-coded.
> (it doesn't remove them afterwards)
Exact, no clean-up is performed yet.
Cédric.