Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Programming Operating Systems BSD IT Technology

A Paper on IRIX Binary Compatibility in NetBSD 32

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."
This discussion has been archived. No new comments can be posted.

A Paper on IRIX Binary Compatibility in NetBSD

Comments Filter:
  • How will this help me bootstrap a fresh kernel on my toaster?
  • maybe (Score:3, Interesting)

    by leastsquares ( 39359 ) on Saturday August 10, 2002 @06:45PM (#4047884) Homepage
    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.
    • Re:maybe (Score:3, Insightful)

      by foonf ( 447461 )
      A couple possibilities:

      1. Lots of older SGI hardware is sold used without an OS, and for hobbyists etc. it might not be affordable to purchase an Irix license to play with it.

      2. There is lots of non-SGI MIPS hardware that can't run Irix, but is supported by NetBSD. Obviously Irix can't be installed on this stuff, but it should be just as able to take advantage of this emulation as an SGI running NetBSD.
      • AFAIK it's worse since it's not possible at all to get an IRIX license seperate from any hardware from any dealer (see here [reputable.com]) and if you go to SGI directly and say "can I have IRIX 6.2 for my old Indy?" - well, good luck! (I bet they will tell you to ask your local dealer ;-)
        • can I have IRIX 6.2 for my old Indy?

          I asked this question of SGI. they were willing to sell me new copies of IRIX -- at $600 per machine. I think I'll stick with NetBSD.

      • There are also those of us who much prefer the BSD way of doing UNIX, stylistically speaking, and thus find IRIX (which went down the AT&T System V path long ago) very painful and unpleasant to use.

      • You are confusing this with a port to MIPS.

        This would allow you to run Irix binaries under NetBSD. It would be for all the ports they want to port it to but doesn't mean you can run it on MIPS hardware. The first port seems to be x86 from the what I've seen. It is cool to be able to run the apps that Irix has in binary form that couldn't be run with an SGI box up now.

        How long until this will let you run the MIPS version of Quake? LOL

        The sgimips port is making progress slowly right now. O2 is console through a serial port right now. It is still pretty rough but at least it is moving forward. I have an O2 and have been watching the mailing lists for awhile now. I haven't seen anything better from anyone else though so I'm still running Irix.
        • No, I don't think you read the article very carefully (if you read it at all). This is basically an extension of the existing SVR4 binary emulation that can run Solaris, SCO, etc. binaries on various platforms. It adds support to recognize the signature of Irix binaries, and maps Irix system calls to NetBSD ones. There is no MIPS emulation involved for other platforms, not that it would be impossible to do it at the kernel level (classic MacOS must do something like that for 68k emulation), but there's no mention of that in the paper. And since Irix has never supported any platform other than MIPS, its pretty clear that while you might be able to get this to compile on x86 or other platforms you will not actually be able to run real Irix programs without a MIPS system.
    • Our old friend COO (Score:3, Insightful)

      by fm6 ( 162816 )
      Unfotunately (to the best of my knowledge) you can't get the hardware without IRIX. So why not just stick with that?
      I'm tempted to answer "Because that's not cool!" I mean, this is a site where people argue the merits of running Linux on X-Boxes and Dreamcasts!

      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.

    • Yes (Score:4, Insightful)

      by iankerickson ( 116267 ) on Sunday August 11, 2002 @03:38AM (#4049554) Homepage
      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.

      • by awx ( 169546 )
        Hey, if you don't want that uVAX in the garage then i'll take it. Mmmmm, DEC *drool*
      • NetBSD will run on almost any 16+ bit computer you can find.

        NetBSD needs at least 32 bits and an MMU.

        a point I haven't seen brought up is that putting IRIX compatibility into NetBSD/sgimips carries over to other big-endian MIPS ports [netbsd.org] as well. granted there aren't a lot of these still in production aside from a few evaluation boards, but at least the option is there.

    • Your completely wrong. LOL.

      Seriously though, this about running Irix binaries under NetBSD. There is a lot of source code that compiles under both OSes. There are a lot of binaries for Irix that you will never see the source to. This would allow you to run some proprietary Irix apps that you would otherwise need an SGI box to run.

      I've used compatiblity to run some proprietary apps under FreeBSD that were designed for a different CPU and OS. I couldn't convince the bean counters to buy me a specialized box for this one app but it was real easy to convince them to let me use FreeBSD on it.

      If it were just compilers then I would have to agree about it being more trouble than it's worth.

      If you really want to ditch a box then my O2 could use some company. ;)
  • "'IRIX Binary Compatibility', the first paper of a series on IRIX binary compatibility..."

    Other papers on IRIX binary compatibility won't have near as catchy a title I'll wager.

Never ask two questions in a business letter. The reply will discuss the one you are least interested, and say nothing about the other.

Working...