The collected works of Xidus

Hey, I recently bought a SGI Indy for £5 off ebay, and it works great. Ive been playing around with it over serial because im to cheap to buy a SGI monitor, or even a converter to vga etc... Unfortunatly ive been unabled to get past the PROM because the guy who sold it to me forgot to inform me of the password, and i haven't been able to get my hands on any irix install media. My plan was to netboot the thing from my debian linux server so it could be diskless (With the fan mod to make it quieter) and use it as a mp3 player. Unfortunatly ive only been able to find one tutorial on doing this, and it was aimed at those using BSD. Ive tried to bodge togther a functioning netboot, but man, could they make it any harder to understand? I used http://packet.node.to/hacks/sgi_howto.html for the basics of how to get it working, but had a problem of the bat when bootpd and dhcpd remembered they do the same thing in linux and decided only one could run at a time. To counter this i tried to make a fully featured dhcpd.conf file..

Code: Select all

subnet 10.0.0.0 netmask 255.255.255.0 {}
host indy {
hardware ethernet 08:00:69:08:53:72;
fixed-address 10.0.0.31;
option host-name "indy";
option routers 10.0.0.2;
option domain-name-servers 158.152.1.43;
option root-path "/exports/indy";
filename "/tftpboot/unix";
}

and i made a copy of a friends indy irix install and put it into /exports/indy (Containing everything i need, lib, etc, dev and such) and executed

Code: Select all

exportfs -rv
With the /etc/exports of

Code: Select all

/export/indy  10.0.0.31(rw,async,no_root_squash)

I then copied the kernel to /tftpboot/unix and ran the tftp server. After this i booted the system and made the following env changes

Code: Select all

SystemPartition=bootp()192.168.0.1:/tftpboot
OSLoadPartition=bootp()192.168.0.1:/tftpboot
OSLoader=unix
OSLoadFileName=/unix

and then typed boot. This is what i got

Code: Select all

Setting $netaddr to 10.0.0.31 (from server )
Obtaining //unix from server
1307696+147504+149008 entry: 0x88003c40
IRIX Release 5.3 IP22 Version 02091401 System V
Copyright 1987-1994 Silicon Graphics, Inc.
All Rights Reserved.


Get_bootparam failed.

Kernel mount failed, check server, bootparams
or press reset button !!!

Now from this Ive guessed that its loaded the kernel but doesn't know how to execute it, or where the other files it needs are (which i stuck in /exports/indy) but cant... Maybe something to do with the NFS not being properly loaded...?

Any help would be great.
Thanks
SAQ: Yeah i tried that using an old 2.4 kernel before XFS support was built in and had no fun, now im using a 2.6 it should work, but it still doesn't help netbooting.

porter: An "rpc.bootparamd" server huh, A quick trip to google will probably yield quite a few results, you wouldn't happen to have a favourite under linux...?

Thanks a ton :)
Xidus
Hrm. Ok. Well it seems it is either DHCP or Bootp, I believe for my application i need to use bootp because i want to boot files from my system (Im guessing..) Ive gone with a bootptab file

Code: Select all

indy:ha=080069085372:ip=10.0.0.31:sm=255.255.255.0:gw=10.0.0.2:td=/tftpboot:hd=/:bf=unix:rp=/exports/indy:sa=localhost:ht=ethernet:

As such and when i restart inetd it works fine. When i type boot at the PROM prompt it tells me its launched bootpd in the syslog and on my indy it says

Code: Select all

>> boot
No server for 10.0.0.8://unix.
Your netaddr environment variable may be set incorrectly, or
the net may be too busy for a connection to be made.
Unable to load bootp()10.0.0.8://unix: could not connect to remote server.

Does anyone have an idea why this would be happening? Im guessing that its not correctly telling my indy what address to use and therefore not letting it obtain the kernel from my server.

Any ideas?
Thanks
ahah. I got that working, now tftp is broekn :( . Previously when i used DHCP it would get the kernel almost instantly, now i get a access violation error. I would understand this if my kernel/folder was not readable, but its world readable/writable. Is it just me or is netboot freaking irritating :p
Erg. Sorry for wasting a few minutes of each of your lives. Turns out i forgot to install a single module in debian which meant that bootparamd wouldn't respond properly. Its now booted perfectly. All i have to do now is to restart and have some fun.

Thanks for everyones help :D
Xidus
I will most definatly do that, I would of found it useful :D
Unfortunatly it seems im not out of the woods yet. I now seem to get a kernel panic, and i have no clue what these even mean.. so any ideas on interpretation

Code: Select all

PANIC: KERNEL FAULT
PC: 0x88113228 ep:ffffcaa0
EXC code:128, `Software detected SEGV '
Bad addr: 0x0, cause: 0x8<CE=0,EXC=RMISS>
sr: 0xff03<IM8,IM7,IM6,IM5,IM4,IM3,IM2,IM1,IPL=0,MODE=KERNEL,EXL,IE>


Thanks
Xidus
I dont think thats it, i checked and i already had those settings in place. I have to say, those error messages aren't all that informative :p

Also i didn't realise this at first, but if you dont keep the scsi cable in (or just a terminator) it will halt at boot.. Should of been obvious.