On Wed, 22 Jul 2020 at 18:44, Steve Blinkhorn <steve%prd.co.uk@localhost> wrote: Does anyone know when compat_bsdos was abandoned? It seems to me that it would make more sense, if I have to run an emulator, to run the lates version of NetBSD that had compat_bsdos. It only ever supported statically-linked software anyway, but I have one major system that used to run perfectly with the compatibility layer, but throws up error after error relating to include files and ioctl calls when I try to run the compilation script on NetBSD. It had compiled out of the box on BSD/OS.
> On 2020-07-26 17:00, David Brownlee wrote: > > It may be made harder because I don't think NetBSD ever had an > explicit COMPAT_BSDOS, it was just inferred by various other compat > options. > > A bunch of the compat layers were retired to the Attic a little while > ago - pretty much because they had no one willing to step up and make > sure they still worked on an ongoing basis after other areas in the > system were refactored. If you might be interested in this, then I'm > sure there would be others willing to help with any questions :-pI would not say that any BSD compat code is abandoned. As David mentioned, there was no special BSDi compat layer. Binaries from BSD/386 1.0 and BSD/OS 2.0 worked on NetBSD because the executables used the same system calls as 4.3 and 4.4 BSD as covered in COMPAT_43, COMPAT_NOMID, COMPAT_09, and EXEC_AOUT.
> Regarding older versions of NetBSD - I would probably start by trying > NetBSD-7 i386 to see if your BSD/OS binaries worked, and then going > backwards or forwards from there :) Version 7 on i386 is a good starting point.I found that BSD/OS 2.0 binaries stopped running starting from NetBSD 8.0 onwards the last time I tested earlier this year. Before that running the 2.0 userland in a chroot generally worked and was able to load the shared libraries that were introduced with 2.0. I have not tested later versions of BSD/OS.
What BSDi release were the binaries targeting Steven?If the binaries worked with BSD/386 1.0, you could try upgrading to current on amd64. There was a fix in March as part of PR/55025 and PR/55047 that I submitted, so BSD compat in general is still supported.
If you try to test further you will want to be sure that your amd64 kernel config includes "conf/compat_netbsd09.config" and COMPAT_NOMID while null memory protection is disabled with sysctl -w "vm.user_va0_disable=0".
Best, Dan Plassche