Return to BSD News archive
Path: sserve!newshost.anu.edu.au!munnari.oz.au!spool.mu.edu!howland.reston.ans.net!math.ohio-state.edu!cis.ohio-state.edu!news.sei.cmu.edu!nntp.sei.cmu.edu!bb3.andrew.cmu.edu!cantaloupe.srv.cs.cmu.edu!cgd From: frank@fwi.uva.nl (Frank van der Linden) Newsgroups: comp.os.386bsd.announce,comp.unix.bsd.netbsd.announce Subject: NetBSD now runs Doom in Linux compat mode Followup-To: comp.unix.bsd.netbsd.misc Date: 1 Mar 1995 00:34:29 GMT Organization: FWI, University of Amsterdam Lines: 87 Approved: 386bsd-announce@agate.berkeley.edu,netbsd-announce@agate.berkeley.edu Message-ID: <3j0fel$2b8@mail.fwi.uva.nl> NNTP-Posting-Host: lagavulin.pdl.cs.cmu.edu Summary: Linux compat code added to NetBSD Keywords: Linux,NetBSD,Doom,emulation,compatability X-Organisation: Faculty of Mathematics & Computer Science University of Amsterdam Kruislaan 403 NL-1098 SJ Amsterdam The Netherlands X-Phone: +31 20 525 7463 X-Telex: 10262 hef nl X-Fax: +31 20 525 7490 Originator: cgd@LAGAVULIN.PDL.CS.CMU.EDU I am pleased to announce that Support to run Linux binaries has just been added to the kernel, and will be improved in the time to come. This means that NetBSD-current users can now finally do what they have always wanted to do with their system: run Doom! (no, I wasn't going to say "run 'ls' with colors.. ;-)) What does it do? --------------- - It runs Linux a.out binaries, both statically and dynamically linked. - It implements most Linux system calls, with a few exotic exceptions like vm86 support and such. - It does not support Linux ELF binaries yet, but support for this will be added. How do I run Doom on my NetBSD-current/i386 system then? ------------------------------------------------------- You will need to: 1) Get the latest source code for the NetBSD-current kernel. It might take a little while for the enhancements to appear on the NetBSD mirror site of your choice, so make sure you get the latest sources, with the src/sys/compat/linux directory in them. These should start to appear after the next update from source tree to ftp tree has finished. 2) Compile a NetBSD-current kernel with the COMPAT_LINUX option enabled. Having Sysv shared memory support enabled (the SYSVSHM option) is not needed, but it will help speed up things, as Doom wants to use the MITSHM extension to X. 3) Get the Linux Doom from an ftp site near you. 4) Since Doom is dynamically linked, you will need to get some files from a Linux system near you. These files are to be located in the directory /emul/linux, a "shadow root" directory used by the system for Linux binaries. In this dir, you will need the following files: lib/libc.so.4.6.27 (a slightly earlier version will probably work too) lib/libc.so.4 (a symbolic link to the above) lib/ld.so etc/ld.so.cache etc/ld.so.conf usr/X11/lib/libXt.so.3.1.0 usr/X11/lib/libXt.so.3 (a symbolic link to the above) usr/X11/lib/libX11.so.3.1.0 usr/X11/lib/libX11.so.3 (a symbolic link to the above) 5) Unpack the Doom file you ftp-ed in /emul/linux. 6) cd /emul/linux/usr/games/doom 7) You might as well move the sndserver away, since it can't do its job (sound is not (yet?) supported in the Linux compat code), and will only take up memory: mv sndserver sndserver.foo 8) Run ./linuxxdoom 9) Have fun :) The game may be a little slow to start up, but that's not quite due to the compatability code. However, once it starts running, the speed is really quite good. I'm running it on a 486/33 with 8 Mb of memory, and have 4 xterms open at the same time. If you want a larger screen (the -2 option), you should use the SYSVSHM option in your kernel to keep a reasonable speed, though. But, this is turning in to a Doom FAQ, and that's not what this posting is about. The baseline is, that NetBSD-current/i386 now supports Linux binaries, with the ability to run Doom as very nice side-effect 8-) Running Doom was of course a nice first goal, but the code will be maintained and enhanced; if it is only useful to run Doom it doesn't belong in the NetBSD kernel. If you want to know more about the Linux emulation in NetBSD, or NetBSD itself, you can join the NetBSD mailing lists (see the posting about the mailing lists in this group). Bugreports about the Linux compatability mode can be reported via the normal NetBSD bugreport channels, or mailed directly to me. Lastly, I would like to thank the NetBSD team for providing a system which code is set up in such a good way that adding this particular feature was easy and natural to do. More specifically, I would like to thank Chris Demetriou and Charles Hannum for commenting on the code, and giving me the chance to add it to the NetBSD source tree. - Frank -- Frank van der Linden, frank@fwi.uva.nl Use NetBSD, it's free and works on: i386, Mac, Amiga, HP300, Sun3, Sun4c, PC532 Work in progress: DEC MIPS R2k/3k, VAX, Sun4m, Alpha (And even more architectures to come)