How would one ever get around the issue of non-matching syscall interfaces?
I don't know how one can even expect that one could model another (operating) system 1:1 on another one. They would have to be the same system in that case?
Also, possibly, such effort would be better to be done towards GNU Hurd/Mach:
which also bakes in the drivers available for Linux, or writing the drivers for FreeBSD.
Also, in this context one would desire "portable drivers".
BTW,
I'd rather port the BSD userspace tools (coreutils, what not) to Linux than have GNU fork the BSD kernel
https://www.reddit.com/r/linux/comments/n235c/comment/c35qskq/ 13 years ago.
Android supports a lot of drivers,more on the mobile area,where Linux is not yet good.
And it might never be, if you've followed the development of postmarketOS. The issues there are similar to this one. The driver code is simply not portable, but some of it has been written "only for this particular OS (or even device configuration)" in mind. The Linux of pmOS does not include drivers for common mobile device tasks like doing calls or using the camera most of the time.
While writing the drivers might be possible, is it worth the effort, since some things already work? Why hasn't the GNU community moved onto FreeBSD?
I think it's far more useful to focus on creating usable high-level interfaces on several moving targets (Debian, FreeBSD, Android) than expect a kernel-level compatibility at some point, because at that point they have to be the same OS, which does not even make sense, because then they would stagnate, rather than innovate (using their chosen model of development).
E.g.
usable high-level interfaces on several moving targets (Debian, FreeBSD, Android)
means e.g. that if my setup is:
Linux (desktop), Android (mobile), FreeBSD (cloud/server or high-performance desktop workload), then I need tools to:
deploy from Linux to Android (already exists)
deploy from Linux to FreeBSD, if it's a served app that can be served from Linux OR FreeBSD depending on preferences
read/write from FreeBSD on Android, if it's a client-server app
read/write to/from and monitor FreeBSD, if it's a client-server app
replicate on FreeBSD, if it's an "unix app", but for which I want a high-performance implementation
...
TBH, I feel like for most of the use cases, connecting the OSes using different computers and networking between them is a good solution.
Now I just need a minimal "Linux box" so that I can host the most fundamental kernel functions and have the BSD user space with it.
That is, I wish to use all of them, but at certain portions.
When it comes to Android though, I am not sure why one'd want or need FreeBSD on Android.