I roughly followed the directions I've used for years (https://www.micski.dk/2021/12/21/install-ubuntu-base-system-into-freebsds-linux-binary-compatibility/), with a few changes:
- I put the installation at /compat/debian (and consequently, renamed the RC script and updated the text accordingly)
- I installed Debian Trixie (specify
trixiefor the distribution instead of the Ubuntu variant)
This sets up a basic Debian chroot environment, but importantly it also arranges for various /dev entries to be populated within the chroot, and mounts the system /home at /compat/debian/home. This way, when you run a Linux binary from the compat installation, when that program looks at /home, it will find your actual home directory.
One of the main Linux programs I use is Zotero. You can download a regular old tarball, and extract it to /compat/debian/opt/Zotero.
The only wrinkle I've encountered is that for some reason, under the Linuxulator on FreeBSD 15, it has trouble creating the required .zotero and Zotero directories in your home directory.
If you make those by hand, then execute /compat/debian/opt/Zotero/zotero, it will work.