July 24, 2010

How to Netboot SunBlade 100

I recently bought a Sun Blade 100 from eBay for throw-away price, as I was curious to explore SPARC-based systems, as I am more used to x86. To put it in short, I was new to this architecture; here are some of the differences that I found rather interesting or boring, however you choose to look at

BIOS == OpenBoot

OpenBoot is equivalent to BIOS, and it’s far away from the familiar cursor-based interface to change settings on your computer, as OpenBoot give you a prompt to query system configuration and also to set it similar to Common Prompt on Windows or Shell in *nix systems. Future reading on OpenBoot

http://en.wikipedia.org/wiki/Open_Firmware
http://tldp.org/HOWTO/SPARC-HOWTO-14.html
http://www.openfirmware.info/OpenBOOT

Booting Options

Unfortunately, the CD Drive in the system I bought was not working, and since OpenBoot doesn’t have the fancy interface to browse through the system configuration, my only bet was on Google. Network boot was the only viable option as I did not have a floppy drive in any of the other systems to make a floppy disk image. I know network booting is not a big deal these days, as most systems default to it, but this system was discontinued in 2002. At that time, I was only aware of booting through CD or Floppy on affordable x86 systems.

In this blog, I will only be discussing Network Bootstrapping and the Initial installation hurdles I encountered setting up Debian (Lenny).

Steps involved

  1. Update your system with the latest SUN OpenBoot patch – this is critical, as I faced lots of issues with the system hanging during installation. Collect your system’s MAC address, which is displayed during OpenBoot initialization

All steps below need to be done on another Linux box. You can use the same steps to update your OpenBoot firmware, where you would be using a firmware image instead of a Linux image.

  1. TFTP (Trivial File Transfer Protocol) Installation

     $ apt-get install tftpd
    
  2. Configuring TFTP
    Add the below line in /etc/inetd.conf, and restart the inetd service.

     #:BOOT: TFTP service is provided primarily for booting. Most sites
     # run this only on machines acting as "boot servers
     tftp dgram udp wait nobody /usr/sbin/tcpd in.tftpd /var/lib/tftpboot/
    
  3. RARP (Reverse Address Resolution Protocol) Installation

     $ apt-get install rarpd  
    
  4. Configure RARP
    Add the following line to /etc/ethers, if the file doesn’t exist; just create a new one with the below line.

     xx:xx:xx:xx:xx:xx   192.168.1.100
    

    xx:xx:xx:xx:xx:xx is the MAC address of your system, collected at step 1, and the IP address is the one you wish to assign to your Sun Blade. (You can always change the IP address during installation)

  5. Download a boot image from the Debian repository. Below is the link I used, check its availability here

  6. Copy boot.img to /var/lib/tftpboot, and rename image file to the hexadecimal representation of IP address you are going to assign to your sun system, for example in above snippet of /etc/ethers I have kept IP address of my sun blade to be 192.168.1.100 when it is converted to hexadecimal notation, I would get C0A80164, the way I calculated it was through this online tool; so now I would have file named C0A80164 in /var/lib/tftpboot

  7. Change the file permission on the boot image to world, i.e.

     $ chmod 777 /var/lib/tftpboot/C0A80164
    
  8. Power on your Sun system, at the OpenBoot prompt type

     boot net
    

Your blade should be booting to Debian now

© Nataraj Basappa 2025