The ARC Standard
was born in the early 90s as part of the Advanced Computing Environment initiative. It standardized certain hardware features and the ARC firmware environment. What all ARC implementations have in common is their strict non-compliance to the ARC standard, so the ARC Standard document should be taken with a shovel of salt.
The ARC Standard mandates network booting of an operating system via BOOTP/TFTP or alternatively DCL/RIPL. Most implementations comply to that with a varying degree of buggyness; the exception is the Olivetti M700-10 where network booting is not supported at all.
Machine doesn't download the kernel when I try to netboot
This problem has been observed with the ARC firmware of SNI RM200 and SGI IP22.
The boot client is replying to the BOOTP packets (may be verified using a packet sniffer like tcpdump or ethereal), but doesn't download the kernel from your BOOTP server. This happens if your boot server is running a kernel of the 2.3 series or higher. The problem may be circumvented by doing an
echo 1 > /proc/sys/net/ipv4/ip_no_pmtu_disc"
as root on the boot server. Alternatively you can also add this setting to /etc/sysctl.conf.
The kernel download from the TFTP server stops and times out
This may happen if the TFTP server is using a local port number of 32768 or higher which usually happens if the TFTP server is running Linux 2.3 or higher. This problem may be circumvented by doing a "echo 2048 32767 > /proc/sys/net/ipv4/ip_local_port_range" on the server. This problem has been observed on SGI IP22 and Siemens-Nixdorf RM200 systems.
Bug in DHCP version 2
When using DHCP version 2 you might see the following problem: Your machines receives it's BOOTP reply 3 times but refuses to start TFTP. You can fix this by doing a "unsetenv netaddr" in the PROM command monitor before you boot your system. DHCP version 3 fixes this problem.