A Paper on IRIX Binary Compatibility in NetBSD
jschauma writes "'IRIX Binary
Compatibility', the first paper of a series on IRIX binary compatibility
on NetBSD by Emmanuel Dreyfus has been published by ONLamp.com. The paper goes into the details
of the implementation in the NetBSD kernel. As it explains how things are
implemented, the paper documents various kernel susbsystems and reverse
engineering techniques."
Now in a while the others will port it and OpenBSD will have Irix compatibility as well. If emulation works well, the software base just got larger.
How will this help me bootstrap a fresh kernel on my toaster?
Sure this is really cool, but does anyone actually need it?
;)
I still occassionally have to use SGI hardware, but that's only to run legacy software. Okay, so at first glance this might be useful. Unfotunately (to the best of my knowledge) you can't get the hardware without IRIX. So why not just stick with that?
I won't believe for a second that NetBSD performs as well on that hardware as IRIX does (assuming that NetBSD is compiled with gcc, and with the performance difference I see between the MIPSPro compiler vs. gcc on MIPS CPUs with my code).
Please tell me I'm completely wrong.
This does look really cool though -- maybe the basis of an IRIX emulator? I'd love to ditch those ugly SGI boxes
IRIX is bundled with SGI hardware, but it's not free (gratis). OS licenses, Plex licenses, compiler licenses, on and on...
Binary compatibility under NetBSD would allow SGI shops to replace IRIX (and it's costs) without giving up their software investment. Also good for hobbyists -- many used SGI boxes have an old IRIX license, or none at all.
But seriously, you're confusing Cost of Software with Cost of Ownership. An OS can be free to download, or free with the hardware, but that doesn't mean it's free period. If that were so, companies like Red Hat and SuSE would not exist, and the customer service arm of SGI wouldn't be the only part of the company that turns a profit. If you're going to run platform X, you're going to need access to somebody with expertise in platform X, be they an internal admin, an outside contractor, or the X-corp customer service organization. Few of these work for free.
For example, suppose your company has a bunch of x86s running NetBSD. You'd have to have access to some kind of NetBSD expertise, if only one particular employee who shares his knowledge with the rest of the NetBSD user community and gets help in return. But that doesn't mean you're equipped to run IRIX, at least for anything non-trivial. So if you have some SGI hardware you just can't do without, and nobody in house can make sense of XVM commands, or cluster nodes, or any of those other IRIX-specific thingees, you have a couple choices. One is to spend the bucks necessary to get the necessary IRIX expertise. The other is to find a way to run IRIX apps under an OS you're already expert on.
it should be noted that the link to the kreskin biography has been dead for a very long time. you might want to find an alternative, or perhaps see if the wayback archive contains that page. otherwise the credibility of this rigorous and factual dissertation might be undermined.
Yes, it's needed. And it's OK if the reason isn't blatantly clear. The NetBSD crowd is very much anti-hype. So a lot of its features aren't done to be cool, impress OSS mavens, make any headlines, or even to allow stingy people to avoid paying for commercial software.
NetBSD is a research OS. See:
http://www.netbsd.org/gallery/research.html
NetBSD itself isn't a research project per se, but a baseline OS for conducting generic computer science research, whatever kind of research that may be. So, if you want to do your Comp Sci PhD on a revolutionary new implentation of virtual memory, use NetBSD. You don't have to waste any time writing your own OS, and NetBSD will run on almost any 16+ bit computer you can find. That old Sun, DEC, SGI, PowerMac, or wierd PC clone can become your test bed or workstation, and it just might support more hardware than the original OS. (Nowadays, you'd probably do better to buy/get a slightly obsolete PC, but for some projects old gear has advantages, like SCSI, RISC CPU(s), good SMP, a quality real-time clock, better hardware security, etc.)
For example, if you find bought/found/stole a Sun Ultra, Dec Alpha, or a PowerPPC box with PCI slots, you will have a much easier time getting almost any PCI card to work with NetBSD than with Solaris, VMS, Tru64, AIX, or MacOS X/Darwin. You will have to learn to like those two little words: No drivers. Or learn to write/port your own. Hey, it beats getting any real work done on your thesis, right?
Not to mention, you may not have those OSes laying around, or the cash to buy them, or the time to wait for the vendor to mail it to you (ahem, Sun?). Or the patience to put up with the BS required to qualify for a "hobby" version (ahem, HPaq?) that only allows you to use OS in what is essentially single user mode and has a license key that will expire annually, and will need a new key (annually) that will require you to reregister with company, even after the company ceases to exist.
<SARCASM>What a great deal!? Now I can fire up that microVAX in the garage and type my letters in EVE! At long last!!! Honey, shut down the NT box for good, cause we've found the way out!</SARCASM>
And they wonder why the hobbyiest version of VMS hasn't taken the world by storm... Sheesh.
This doesn't have anything to do with whether Linux makes a good research platform. Lots of good, pure research is being done with Linux too. But Linux requires a little up-front work on your part before you can work on your original project (especially bootstrap or installation issues on non-x86 platforms). I've found installing NetBSD to be an almost trivial undertaking compared to Linux or even Windows NT. It's so distubingly straightforward, it should say so on a bumper sticker.
There's a lot of cool features in NetBSD that just came about because of basic computer science research. Binary compatability is one of them. It's just an experiment into finding ways to make the OS more useful. If it would be more useful than less for NetBSD to be able to run binaries from a platform's vendor OS, then that's exactly the sort of thing NetBSD should be able to do.
That's why.
Democracy. Whiskey. Sexy. Pick any two.
No, that's you.
Imagine a Beowolf Cluster of THESE!!!
Sorry. I just got done fucking Kathleen Fent and didn't have time to wash up.
First off, I've been using unix since the late 80s. I've installed and administered linux, solaris, aix, and freeBSD.
Sendmail is my first grudge. Even if you set sendmail not to run, the default rc.conf script sets the mta_script (sendmail.rc), and sendmail starts up! sendmail is a known security risk, and unless you really need it, you shouldn't be running it.
The second problem was the security level. It asks what security level you want, but beglects to mention that XWindows won't run unless the security level is -1. Maybe you should give a warning when installing XWindows with a security level set?
The third (and biggest) was XWindows 4.2 I've never had a problem getting XWindows to run. But there's a first time for everything. First there was the security level problem. Then, I couldn't get it configured right.
Previous xconfigurators had a monitor and video card database, so I could just pick and from the menu. This xf86cfg only listed video cards by manufacturer/chipset. And only listed monitors by resolution/refresh rate. Starting up xfree86 hung my computer, and nothing short of a reboot would fix it.
Eventually, I got it to create a configuration file (it recognized my video card properly), and was able to run in 1-bit mode, 640x400 display. After digging around I found my monitor's manual and set the horizontal/vertical rates and was able to get the proper display size.
Other papers on IRIX binary compatibility won't have near as catchy a title I'll wager.
I wonder how many people, including even the people who post this, even KNOW anymore that the silly Usenet user math is a parody of a Red Hat press release from way back when in the Linux 2.0 days.