Linux on a Sun SparcStation 1 (Sun4c)

Machine specifications for this example: 66 MHz, 800 Meg. Hard Drive, Sun ethernet card, floppy drive.

    Setting up Linux on a Sun is surprisingly easy if you are hooked up to a network. Since the hardware for Suns is standardized, installation programs are often automated to detect the proper set up, and all you need to do is get the installation started.

    The following instructions outline a simple approach to loading Linux on Sparc machines. The official HOWTO_Sparc_Linux, which you can download here, offers more comprehensive instructions.

Steps

1. Read the manual and decide what method of installation you want to use. If you don't have a CDROM, which is likely if your machine is an old Sun, using a floppy installation and FTP is a good idea. Since the floppy/FTP method is easy, I'll describe how to do an installation over an ethernet using ARP/RARP, and a remote kernel.

2. Before you start preparing the software, you need to get some information about the Sun.

3. Get a pencil and paper, and turn on your Sun. As soon as it is turned on, the Sun will give some information about itself. Write down the hardware ethernet address. It will look something like 8:0:20:3e:2f. Rewrite this number, preceeding any single-digit parts with a 0. For example, 8:0:20:3E:2F becomes 08:00:20:3E:2F.

4. Next, note the IP address that the Sun will be using when it becomes a Linux box. Convert this address to hexadecimal format by calculating the hexadecimal equivalent of each of the four parts and concatenating them, preceeding any single-digit parts with a 0. For example, 128.110.190.2 is 80.6E.BE.2 in hex, and concatenating and preceeding the single digit part (2) by 0 gives 806EBE02. You can do this with a scientific pocket calculator.

5. At this point, you should have five pieces of information:
        a) The hardware ethernet address of the Sun (e.g. 08:00:20:3E:2F).
        b) The IP address that the Sun will be using, in regular format (e.g. 128.110.190.2).
        c) The IP address of the Sun in hexadecimal format (e.g. 806E02BE).
        d) The IP address of the Linux box that will serve a boot image (e.g. 128.110.190.30).
        e) The exact architecture of the Sun machine (e.g. Sun4c, Sun4m).

6. On the Linux machine that will be acting as the kernel server, log in as root, and make a directory called /tftpboot.

7. Get a tftpboot.img file for Sparc (ftp://sunsite.unc.edu/pub/Linux/distributions/redhat/redhat-5.1/sparc/images/tftpboot.img) and put it in the /tftpboot directory.

8. Now, also in the /tftpboot directory, you need to make a special symbolic link to the tftpboot.img file. The link has the form IP.ADDRESS.IN.HEX.ARCH, where IP.ADDRESS.IN.HEX is the IP address of the Sun machine in hexadecimal format, and ARCH is the architecture of the Sun. Using the information in step 5, above, for example, the IP address in hex form is 806EBE02, and the architecture SUN4C. Create the link by typing something like: ln -s tftpboot.img 806E02BE.SUN4C, substituting values appropriate for your machine.

9. To make tftp services available to the Sun, make sure that the tftp entry in /etc/inetd.conf on the boot image server is uncommented. If it is commented, uncomment it, get the process id of inetd by typing ps aux | grep inetd, and then type kill -1 <process_id_of_inetd>.

10. Set up your boot image server to tell the Sun machine its address when it boots. You do this by typing: /sbin/rarp -s <ip.address.of.sun.in.regular.format> <hardware:ethernet:address:of:sun>. Using the information in step 5, above, for example, you would type: /sbin/rarp -s 128.110.190.2 08:00:20:3E:2F.

11. Next, you type a similar command using arp. You do this by typing: /sbin/arp -s <ip.address.of.sun.in.regular.format> <hardware:ethernet:address:of:sun>. Using the information in step 5, above, for example, you would type: /sbin/arp -s 128.110.190.2 08:00:20:3E:2F.

12. Now turn on the Sun. At the boot prompt, type: b net nfsroot=<ip.address.of.server>:/tftpboot. If you have a newer Sparc, you might need to type: boot net nfsroot=<ip.address.of.server>:/tftpboot, instead.

13. After a while, instructions on how to begin installing Linux should appear on the Sun's screen. Follow the instructions. Good FTP servers to use for installing SparcLinux are ftp://sunsite.unc.edu/and ftp://ftp.redhat.com/ If your boot image server has a CDROM, it is a good idea to use it as an FTP server with the Official Red Hat Sparc Linux Distribution.

14. It is important to set up your partition table properly. Two aspects of the partition table are most important. First, the third partition for each disk must be of type Whole Disk, and this partition must extend across the whole disk. Other partitions will go within this large one. Second, it is a bad idea to put swap partitions first on a disk. It is usually easiest to delete all partitions, then add the Whole Disk partition, and then add Linux Native and Linux Swap partitions afterwards.

15. If you can, it is a good idea to put your root partition as the first partition on sda. Otherwise you can have trouble booting your system. If the root partition is on a disk other than sda, or a partition other than 1, the system can be booted by typing: b sd(0,<device_number>,<root_partition_number>) at the Sun boot prompt.
 
 
 
 
 
 
 

Direct questions or comments on this page to stephen.wooding@anthro.utah.edu