Re: compat_bsdos
Dan Plassche <[email protected]>
| Newsgroups | gmane.os.netbsd.ports.x86-64 |
|---|---|
| Message-ID | <[email protected]> |
>> On Wed, 22 Jul 2020 at 18:44, Steve Blinkhorn <[email protected]> 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 :-p I 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