Change SGI System ID
The motherboard in my Octane R10000 requires changing. The problem that I face is that much of the installed S/W requires the SYS_Id for licensing.
Of course, I can't comment on the sys_id change, but: The sys_id is stored in the frontplane's NIC (Numbers-In-a-Can). So changing the motherboard should not change the sys_id.
I was tired last night when I emailed you that code (took me quite a while). here are some things I noticed that maybe of use to your website as well.
I started with the kernel symbol first_address, and started the search, when I found the system id (found in mulitple places, including eaddr +2 and eaddr + 30, but changing those values didn't effect anything), I calculated the address by adding how many bytes I have read + first_address, then looked for a symbol close to that address.
That's when I noticed Octanes (and other platforms? I have to check this out) have a kernel symbol sysid which points directly to the sysid address, but for some reason I couldn't nlist the symbol (protected?).
So I used nm -xv to sort things by value, and saw is_octane_lx 4 bytes below sys_id and used that for a reference. I am going to look into some other sgi arch's and see if sysid is availble on all 6.5.x architectures (or ones I have access to), if it is, I will be able to write another C program that will sort the symbols (like nm does) and take whatevers below sysid (since I can't nlist it for an addr), or just a shell script to add a #define symbol from the output of nm. Making a general not arch/specific system id changer for irix.
Archived source and binary files are located at https://web.archive.org/web/20120723092815/http://www.squirrel.com/squirrel/sgi-sysid.html