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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.