Slashdot Mirror


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."

32 comments

  1. Great by Anonymous Coward · · Score: 0

    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.

  2. IRIX binaries down, 2-slice toaster to go... by warsteiner · · Score: 1

    How will this help me bootstrap a fresh kernel on my toaster?

    1. Re:IRIX binaries down, 2-slice toaster to go... by Anonymous Coward · · Score: 0

      O2s are sometimes refered to as toasters due to thier shape. And they'll even run IRIX binaries! Is that close enough?

  3. maybe by leastsquares · · Score: 3, Interesting

    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 ;)

    1. Re:maybe by foonf · · Score: 3, Insightful

      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.

      --

      "(Man) tries to live his own life as if he were telling a story. But you have to choose: live or tell." --Sartre
    2. Re:maybe by T-Punkt · · Score: 1

      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) 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 ;-)

    3. Re:maybe by T-Punkt · · Score: 0, Flamebait

      > Sure this is really cool, but does anyone actually need it?

      Stupid question. Oviously the guy who did it...

    4. Re:maybe by Madwand · · Score: 1

      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.

    5. Re:maybe by Anonymous Coward · · Score: 0

      "Sure this is really cool, but does anyone actually need it?"

      "This does look really cool though -- maybe the basis of an IRIX emulator? I'd love to ditch those ugly SGI boxes ;)"

      You're a fuckin' schizo.

    6. Re:maybe by Strog · · Score: 1

      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. ;)

    7. Re:maybe by Strog · · Score: 1

      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.

    8. Re:maybe by The+Finn · · Score: 1
      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.

      --
      NetBSD: the cathedral vs the bizzare.
    9. Re:maybe by foonf · · Score: 2

      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.

      --

      "(Man) tries to live his own life as if he were telling a story. But you have to choose: live or tell." --Sartre
    10. Re:maybe by Anonymous Coward · · Score: 0

      No, that's only a media kit. No license.
      I asked them too ;)

  4. IRIX is not free by EuroBryce · · Score: 1

    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.

  5. Our old friend COO by fm6 · · Score: 3, Insightful
    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.

  6. Re:*BSD is dying by Anonymous Coward · · Score: 0

    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.

  7. Re:*BSD is dying by Anonymous Coward · · Score: 0
    Thanks. Here's the new URL for Kreskin:
    The Amaxing Kreskin
    Lots of new photos. Well worth the visit, and yes, Kreskin confirms: *BSD is dying.
  8. Yes by iankerickson · · Score: 4, Insightful

    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.
    1. Re:Yes by awx · · Score: 1

      Hey, if you don't want that uVAX in the garage then i'll take it. Mmmmm, DEC *drool*

      --
      Feel that power? That's mah MOUSING FINGER
    2. Re:Yes by The+Finn · · Score: 1
      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 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.

      --
      NetBSD: the cathedral vs the bizzare.
  9. Re:It stinks in here. by Anonymous Coward · · Score: 0

    No, that's you.

  10. NetBSD / Irix Boxes by Anonymous Coward · · Score: 0

    Imagine a Beowolf Cluster of THESE!!!

  11. Re:It stinks in here. by Anonymous Coward · · Score: 0

    Sorry. I just got done fucking Kathleen Fent and didn't have time to wash up.

  12. My complaint against FreeBSD by Anonymous Coward · · Score: 0
    I recently did a fresh install of FreeBSD 4.6 (replacing a partial install of 3.8 from last year). I found a couple problems I'd like to share in order that they may be improved upon.


    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.

  13. "Irix" by jasonditz · · Score: 1
    "'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.

  14. Re:*BSD is dying by Anonymous Coward · · Score: 0

    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.