The collected works of armanox - Page 1

I'm seeing .11 Kh/s out of my Octane (250MHz R10K).
"Apollo was astonished, Dionysus thought me mad."
pip wrote: I wonder how much faster it would run if compiled with MIPSpro :P


Doesn't want to compile for me with MIPSpro (-pthreads not supported or something like that)
"Apollo was astonished, Dionysus thought me mad."
Gave it a run on my other Octane board (the other system wasn't booting, so I swapped the motherboards) (system is 2x 175MHz R10K, 1.5GB RAM). Result is 2x.08KH/s. I wish I still had the 2x 300MHz Octane that I was using in college in the LUG....I wonder if that is still there....
"Apollo was astonished, Dionysus thought me mad."
Hi all,

A few months back (when finishing setup of my Octanes) I documented my steps, since I couldn't find a good howto guide (a recent one that worked, I mean). Figured I share in case it helps someone.

Net Install IRIX from Linux

The biggest hurdle is most Linux kernels that I've dealt with don't support EFS anymore, and Fedora no longer ships kernel-source for just adding in that one module.

Enjoy.
"Apollo was astonished, Dionysus thought me mad."
:Octane: :Octane: :O2:
It is something on my todo list.
"Apollo was astonished, Dionysus thought me mad."
:Octane: :Octane: :O2:
recondas wrote:
guardian452 wrote: Didn't recondas buy a new octane2 about that time for $600 direct from SGI? Or was that a few months later during the fire sale :lol:
It was direct from SGI, but was slightly later in early '07. They advertised it as a 'refurb' sale but what I got was a brand-spanking new 600MHz V12 Octane2 with a full set of IRIX6.5.30 CDs: http://www.nekochan.net/gallery2/v/SGI_ ... 1/Octane2/


That's nothing short of awesome.
"Apollo was astonished, Dionysus thought me mad."
Yes, please do share. I'm going to be adding mine to the wiki one of these days soon - you should consider doing the same.
"Apollo was astonished, Dionysus thought me mad."
:Octane: :Octane: :O2:
TeamBlackFox wrote: Of course the easiest way is from IRIX or OpenBSD, because you don't risk breaking the system because ksh is already setup as needed. Of course I do it on IRIX anyways because its just a lot easier.


That may be, but in many cases (such as my own) people don't have an existing IRIX system to install from. And if you are really worried about breaking something, set it up in a virtual machine so that you can blow it away if it breaks (and store the data on NFS).
"Apollo was astonished, Dionysus thought me mad."
:Octane: :Octane: :O2:
hamei wrote:
Kira wrote: Depends on the application.

Any benchmarks on Palantir ?


We're going to have to sit back for a bit and wait for some benchmarks. All of what I saw was just promotional stuffing with no meat.
"Apollo was astonished, Dionysus thought me mad."
TeamBlackFox wrote: So in a nutshell it has specialised instructions and a core for database usage, and if these can be utilised, it will do better at the limited market of running OracleDB software? I know that's a gross oversimplification but I'm not an electrical engineer so I can't say I really am well acquainted with the industry terminology.


Should be a lot better at running OracleDB software - think of it like running OpenGL on CPU vs GPU - the GPU is has the specialized instructions for OpenGL and runs it many orders of magnitude faster then the CPU. Oracle is trying to create the "Ultimate OracleDB Platform"
"Apollo was astonished, Dionysus thought me mad."
VERY NICE! I'm jealous.
"Apollo was astonished, Dionysus thought me mad."
"Apollo was astonished, Dionysus thought me mad."
robespierre wrote:
foetz wrote:
robespierre wrote:

Code: Select all

$ sudo -s
# chmod -x /bin/bash
# ln -f /bin/ksh /bin/sh

fuggeddaboutit....

i did the same on osx but with zsh. might work for linux, too

In fact, osx can't boot using ksh. But zsh does seem to work.
(None of the system scripts in osx use bash)


Once upon a time OS X used zsh for the shell (IIRC). They switched to bash for Linux compatibility, because the Linux crowd believes they are the "One True Way."

With that said, I've updated bash on my IRIX systems manually (patched the source), we should consider making an update for nekoware....
"Apollo was astonished, Dionysus thought me mad."
:Octane: :Octane: :O2:
foetz wrote:
smj wrote: folks coming from Linuxdom and picking up the SGI/IRIX habit will look around for bash pretty quickly. Might as well make it easier for them to indulge their new addiction, rather than creating an obstacle that prevents anybody from joining the club.

hehe yes sure. although not having a specific shell might not keep them away completely. after all people who come from linux to unix/risc do that because they want something different i'd think.
there's not much sense in sticking to bash and gcc on every platform. makes it rather pointless


I'd rather have an up-to-date package for them to use if they so chose, rather then the ancient version on SGI Freeware being the only one.
"Apollo was astonished, Dionysus thought me mad."
:Octane: :Octane: :O2:
I've patched the bash-4.3-source with through .29 (rebuilding with .30 on my octane now). I also have patched bash-4.2-sources (since neko_bash.tardist is 4.2). (Alternate download link from Google Drive)
"Apollo was astonished, Dionysus thought me mad."
:Octane: :Octane: :O2:
jwp wrote: Pretty early on I read the essay, "Csh Programming Considered Harmful," so I never bothered learning csh or tcsh. Since I was using Linux, bash was the default shell typically, and it seemed to do interactive editing and scripting pretty well.

Later when I was doing a lot of shell scripting on HP-UX, I used ksh88, and I really liked that as well. It has the important things that bash has, but without the bloat. When I was using it, though, there were some really annoying compatibility issues between ksh88 and pdksh. With ksh88, the following script prints "1", and on pdksh and mksh, it prints "0". Bash also prints "0".

Code: Select all

x=0
echo onetime | while read line; do
x=1
done
echo $x

It's something stupid related to pipes and processes. The programmer needs to know that anything happening in the body of a loop is happening in another context -- but only when something is being piped into the loop. Why this behavior is reasonable, I have no idea. ksh88 handles it just fine, and did so decades ago. I don't know why these other shells like pdksh, mksh, and bash put the burden of remembering arcane details like this onto the programmer.

When AT&T opened up ksh93, I wish they had also released ksh88. My impression has been that ksh88 is a good all-around shell. It doesn't hurt that it's a long-time standard on commercial Unix systems either.


That's an easy one - variable scope. Consider the following C++ program

Code: Select all


#include <iostream>
using namespace std;

int main( int argc, char* argv[])
{
int i = 2;
for (int i = 0; i < 2; i++)
cout << i << endl; // Prints 0 then 1
cout << i << endl; // Prints 2
return 0;
}



The variable inside of the loop expires when the loop ends, and is in a different scope then the variable outside of the loop, despite having the same name. My guess is the developers of the other shells felt that variable scope was important, where as ksh88 doesn't have the concept.
"Apollo was astonished, Dionysus thought me mad."
:Octane: :Octane: :O2:
jwp wrote:
armanox wrote: That's an easy one - variable scope. [...] The variable inside of the loop expires when the loop ends, and is in a different scope then the variable outside of the loop, despite having the same name. My guess is the developers of the other shells felt that variable scope was important, where as ksh88 doesn't have the concept.

Ah, but this only happens when piping to a loop . Otherwise, all the shells act the same way with variables, loops, and scope. The inconsistency is with pdksh, mksh, and bash. If the script were to be rewritten this way, then it would work the exact same way on all shells:

Code: Select all

x=0
echo onetime > /tmp/onetime
while read line; do
x=1
done < /tmp/onetime
echo $x

This sort of incompatibility means that pdksh and mksh cannot be used as serious replacements for ksh. The only real path for developing or running ksh88 scripts with open-source software is to try them under ksh93, which is more compatible (and follows ksh88 behavior for this pipe / loop stuff).

Most people happily use pdksh and mksh as ksh replacements, because they don't do a lot of shell scripting, or otherwise don't have to worry about shell scripting compatibility. Sadly, it seems that many shells follow the same behavior as pdksh and mksh, despite there being no rationale other than the implementation details of the shell.


Interesting. I'll admit that shell scripting is not an area that I consider myself an expert in. I always considered the lack of variable declaration a potential source of confusion in a lot of scripting languages (in my C++ example, it's clear that I am declaring a new i in the for loop. If I do not declare i, it uses the variable from outside of the loop's scope (so for( i = 0; i < 2; i++)) rather then using a local one).
"Apollo was astonished, Dionysus thought me mad."
:Octane: :Octane: :O2:
foetz wrote:
armanox wrote: That's an easy one - variable scope. Consider the following C++ program

Code: Select all


#include <iostream>
using namespace std;

int main( int argc, char* argv[])
{
int i = 2;
for (int i = 0; i < 2; i++)
cout << i << endl; // Prints 0 then 1
cout << i << endl; // Prints 2
return 0;
}

.

declaring i twice, putting in args that are never used and using c++ for something that trivial at all? :shock:

just pulling your leg, the point was clear anyway :P


Declaring i twice was needed for the demo :) The args are a habit, even if they aren't needed. And I happen to like C++, thank you very much. :p
"Apollo was astonished, Dionysus thought me mad."
:Octane: :Octane: :O2:
R-ten-K wrote: It would be fantastic if this project could be opensourced. But I seem to remember there were some licensing restrictions? I can't see how SGI would care about the IP in the Indigo Desktop anymore, alas...


My understanding as well. IIRC SGI is letting him port their code to Linux ONLY - no idea why they care so much at this point.
"Apollo was astonished, Dionysus thought me mad."
I used to run Gentoo Linux on an Octane at college (2GB RAM, 2x300MHz Procs, 18GB HDD) - but framebuffer X is really horrible.
"Apollo was astonished, Dionysus thought me mad."
:Octane: :Octane: :O2:
ivelegacy wrote: i need an SMP module for Octane2 (IP30), as i want to toy with the linux kernel

i don't know if the Origin 300 is supported, never seen that branch, but i am afraid it is not (i may be wrong)


Good luck. Last time I checked it SMP and Octanes has been broken in Linux for a long time - you might want to contact Kumba or try on the Gentoo MIPS boards for more info on that one.
"Apollo was astonished, Dionysus thought me mad."
Just curious, why do you need so many different versions?
"Apollo was astonished, Dionysus thought me mad."
If it makes you feel better, I've done that exact upgrade. See the original specs on my Octane here , compared to the current hinv:

Code: Select all

[Octane]:~ $ hinv
1 300 MHZ IP30 Processor
CPU: MIPS R12000 Processor Chip Revision: 2.3
FPU: MIPS R12010 Floating Point Chip Revision: 0.0
Main memory size: 384 Mbytes
Xbow ASIC: Revision 1.4
Instruction cache size: 32 Kbytes
Data cache size: 32 Kbytes
Secondary unified instruction/data cache size: 2 Mbytes
Integral SCSI controller 0: Version QL1040B (rev. 2), single ended
Disk drive: unit 1 on SCSI controller 0
Integral SCSI controller 1: Version QL1040B (rev. 2), single ended
IOC3/IOC4 serial port: tty1
IOC3/IOC4 serial port: tty2
IOC3 parallel port: plp1
Graphics board: SI
Integral Fast Ethernet: ef0, version 1, pci 2
Iris Audio Processor: version RAD revision 12.0, number 1
[Octane]:~ $


And it most certainly runs much faster then my second Octane, which 2x175MHz R10Ks in it (and also has more RAM...I should move some over....)
"Apollo was astonished, Dionysus thought me mad."
I'm using my Octane for a few things - it's my goto for testing something in a UNIX environment (second is Solaris), a web server (custom built PHP and httpd), and an FTP server.
"Apollo was astonished, Dionysus thought me mad."
:Octane: :Octane: :O2:
Nihilus wrote: I've always wanted a quad Tezro!

Me too. As much as I love my Octane, I'd love a Tezro....
"Apollo was astonished, Dionysus thought me mad."
ivelegacy wrote: i know Kumba, i emailed him a lot of time, and we discussed on the gentoo forum: we have different opinion about linux
  • i am improving 2.6.17, i am alone, but i already have a working machine with a few minor bugs to be fixed and features to be added
  • he is trying to fix 3.* series,he hasn't a working machine (with SMP) and he is alone
nobody today want to spend free time on Octane, so … that is my opinion: improve the 2.6.17, and enjoy it!

also, personally i am following MIPS32 on things like Atheros SoC, or CI20)


I spend plenty of free time on my Octane! I've just grown to love IRIX a lot more then I love Linux (especially since I don't have to worry about stupid things like the init system changing on me....). I've considered giving Linux a test run again (not like I don't have a bunch of SCSI drives sitting around), but never have quite had the interest that I once did.
"Apollo was astonished, Dionysus thought me mad."
I used to have access to quite a few versions, I believe .8,.9,.18 and .21 IIRC, but I do not believe I can still get ahold of those disks. I have .29 and .30 myself, and am still curious why someone would want the overlays for every version....
"Apollo was astonished, Dionysus thought me mad."
TeamBlackFox wrote: Indeed, thieves would have to be very aware of what I have to go after it.

Adrenaline wrote: Really? You might have been out of the CLR world for a while, but you can pre-jit your application and with the relatively new .NET Native (came out a year ago), it compiles your C# code to machine code without any dependencies on the .NET framework.


Well aware of this, I just don't care. Its in the same class as Java, but worse because Mono is a hopelessly broken piece of junk and the open sourced .NET doesn't run on FreeBSD or OpenSXCE, the two modern desktop OSes I use, unless you happen to use the aforementioned Mono. There'ls other complaints but moreso I've rarely heard of someone so into UNIX being a fan of an Microsoft-derived product (yes, everyone knows abotu Xenix, which is now defunct.)


Last time I checked Mono was several versions behind Microsoft anyway...

I actually don't mind Java and C# as programming languages. My issue with C# is platform binding (despite being a portable language, it's not been ported and nobody really cares to), and Java is the amount of bad Java out there (and people doing things they were told not to do, which results in hard dependencies on certain java versions (at some point the com.sun packages started changing, probably to com.oracle, and they were never a core part of the language anyway, and people relied on them despite being told they probably should do that)
"Apollo was astonished, Dionysus thought me mad."
Anyone using newer versions of OpenSSL with IRIX? Like say...a 1.x build? And have it work pretty correctly? I can get 1.0.1 to build, but make test fails all over the place. I'm now using mbedTLS (used to be PolarSSL) with curl so that I can download stuff via https with out hassle, since everyone has disabled SSL2 and 3 at this point it seems....
"Apollo was astonished, Dionysus thought me mad."
foetz wrote:
armanox wrote: I'm now using mbedTLS (used to be PolarSSL) with curl

and that causes problems?


No, in fact, I was quite pleased when it built with only one modification (I'm going to send it back to them so they can support us!). The issue is the amount of software that does depend on OpenSSL or GNUTLS.
"Apollo was astonished, Dionysus thought me mad."
TeamBlackFox wrote: Someone got LibreSSL working, honestly that is what I would push for.


I had said I got it to build, not that it all worked. The SGI compatibility stuff in there (and I might add, the AIX stuff) was all me, but it requires some pieces that I don't have the time to try to port or develop.
"Apollo was astonished, Dionysus thought me mad."
Current version builds and tests mostly good for me. I had to specify gmake and CC=gcc, and to use AR that shipped with GCC (/usr/nekoware/gcc-4.7/bin/ar) instead of the system installed AR (/usr/bin/ar).

Code changes:
In library/net.c, line 80 I added:

Code: Select all

#elif defined(__sgi)
#include <standards.h>
#include <sys/endian.h>
"Apollo was astonished, Dionysus thought me mad."
foetz wrote: well one step at a time. do certain programs only work right with openssl 1.x?
if so does openssl 1.x fail to build? and if yes is it something that is irix specific and cannot be fixed?


OpenSSL 1.0.1 will build, but fails miserably when you run "make test" on calculating SHA1, and I remember it failing to work correctly when I attempted to use it (things just...didn't work).
OpenSSL 0.9.8 is too old to be useful for a lot of things (since everyone has disabled SSL2 and SSL3), but is the last version that is packaged by nekoware for IRIX.
"Apollo was astonished, Dionysus thought me mad."
foetz wrote:
armanox wrote: OpenSSL 0.9.8 is too old to be useful for a lot of things

could you give a few examples?


It doesn't support TLS 1.1 and 1.2, for example.
"Apollo was astonished, Dionysus thought me mad."
In case you're curious, my efforts for IRIX (and AIX) ended due to issues with arc4random and getentrophy. If I have a sudden explosion of free time I might start hacking away at it again, but my port is pretty dead for the moment (plus I'm a few versions behind now too).

Oh, and the fact that IRIX does not support mapping anonymous pages doesn't help either.
"Apollo was astonished, Dionysus thought me mad."
foetz wrote:
armanox wrote: Oh, and the fact that IRIX does not support mapping anonymous pages doesn't help either.

that's an easy fix. i did that for my last postgresql builds. i can dig out the details if you're interested


Yes please, because if I should go back to it (which I may since I still have an interest) it would prove very useful.
"Apollo was astonished, Dionysus thought me mad."
foetz wrote:
armanox wrote: Yes please, because if I should go back to it (which I may since I still have an interest) it would prove very useful.

no prob. just open /dev/zero and map that fd shared. it was based on this: http://man7.org/tlpi/code/online/dist/m ... map.c.html
in my case adopted to postgresql of course but you can use it for anything else


Well, that solved one problem anyway. I'll start to attack the "getentrophy" section next. (I have a libressl-2.1.2 that compiles, but is totally useless).
"Apollo was astonished, Dionysus thought me mad."
Interestingly enough 1.0.2a built where 1.0.2 failed for me. Running 'make test' now to see how it does.

Running 'make test' appears successful. They must have fixed something between .1 and .2 because it used to fail miserably. Now I'm going to have to rebuild wget...lol
"Apollo was astonished, Dionysus thought me mad."
Axatax_ wrote: You guys are really brave messing with this pile. Good luck.


Not messing with it too much since the OpenSSL team tries to support ALL the platforms. Just seeing if it still builds and works correctly. The libreSSL stuff is a bit harder, since the team tossed all the compatibility stuff in favor of making the code manageable and more 'secure' - with portability as an afterthought. For a short while there I had it building (and partially running) on IRIX and AIX, but they quickly moved to requiring getentrophy and/or arc4random, which are lacking on IRIX and AIX ( http://www.openbsd.org/build/mirrors/openntpd-portable.html.head ).
"Apollo was astonished, Dionysus thought me mad."
mopar5150 wrote:
robespierre wrote: What is the card in the bottom slot? It looks like a wallwart DC connector!



That is one reason I bought the machine. I wanted the system because it was a true 4x1ghz with nice plastics and to find out what the heck that card is.

I will update you guys when I find out.

You're the lucky one?
"Apollo was astonished, Dionysus thought me mad."
:Octane: :Octane: :O2: