On Fedora Project's work, a chroot environment is usually used to build and test.
The environment is called "mock" environment.
As I often forget the way, I save it to this page.
There are 2 ways.
Use below command.
$ mount --bind <old_dir> <new_dir>
/path/to/root/mnt directory is
/mnt in the mock (chroot) environment.
Create a directory to mount a directory.
$ sudo mkdir /var/lib/mock/fedora-rawhide-x86_64/root/mnt/foo
Mounting the directory, it can be referred in the mock (chroot) environment.
$ cd /path/to/foo
$ sudo mount --bind . /var/lib/mock/fedora-rawhide-x86_64/mnt/foo
2. Using mock's mount plugin
2nd way is limited to the mock command. But it's easier way.
The document is here .
You can set it for example in
This directory is auto-mounted when doing login to the mock environment.
config_opts['plugin_conf']['bind_mount_enable'] = True
config_opts['plugin_conf']['bind_mount_opts']['dirs'].append(('/host_os/path/to/foo', '/mnt/foo' ))