old-www/HOWTO/text/SPARC-HOWTO

1795 lines
52 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

SPARC-HOWTO.
Lionel, trollhunter Bouchpan-Lerust-Juéry <trollhunter@lin­
uxfr.org>
v0.0.7 August 2004
The SPARC family of microprocessors is a very good implementation of
the RISC design and SPARC based computing devices cover a very wide
spectrum of applications, from mainframe class computers to radhard
microprocessors used by the aerospace industry in its space segment.
SPARC based computers are usually very well engineered products, thus
Linux on SPARC is a winning combination both in performance and ease
of use. Actually this combination is not as widspread as the
Linux/x86; this HOWTO should help you step by step to make an informed
decision: try it you will not regret it.
______________________________________________________________________
Table of Contents
1. Preface.
1.1 Translations.
2. SPARC, which one ?
2.1 Sun SPARC
2.2 Super SPARC
2.3 Micro SPARC
2.4 Hyper SPARC
2.5 ERC32
2.6 LEON
2.7 Ultra SPARC
2.8 SPARC64 V
2.9 Deciphering the CPUs
2.9.1 Ross Technology.
2.9.2 SM modules.
2.9.3 Cypress.
2.10 The javastation.
3. Buying a SPARC computer.
3.1 Gaigning a visual familiarity with SPARC hardware
3.2 Sun made hardware or clones ?
3.3 Where to buy.
3.4 Checklist
4. SPARC based laptops
5. The wonderful SparcStation Voyager
6. Sun's Netra servers
7. Sun's Enterprise servers
8. Tatung's Workstations
9. Tatung's SPARC Servers
10. Fujitsu's supercomputers
11. Linux on SPARC: 2 kernels.
12. Choosing a distribution.
12.1 Aurora SPARC Linux
12.2 Debian GNU/Linux.
12.3 Gentoo
12.4 PLD.
12.5 RedHat Linux.
12.6 Slackware
12.7 SLXT
12.8 Linux Terminal Server Project
12.9 SplackLinux
12.10 SuSE Linux.
12.11 Vine Linux
13. Installing Linux
14. Working with the Openboot.
14.1 What is the OpenBoot?
14.2 Diagnostics commands.
14.3 Boot commands.
14.4 Misc commands.
15. Hard drive buses.
15.1 SCSI-SCA.
15.2 EIDE.
15.3 FC-AL
16. CDROM: specific settings.
17. SILO.
18. Compiling a kernel
19. Keyboard and mouse.
20. X Window.
21. SMP.
22. The sound.
23. Serial port.
24. Ressources.
24.1 Information sites.
24.2 Auction sites.
24.3 A Good Provider based in France
25. Thanks and Credits.
25.1 Thanks.
25.2 Credits.
26. Copyright, Disclaimer and Trademarks
26.1 Copyright.
26.2 Administrativia.
27. Revision History.
______________________________________________________________________
1. Preface.
This document is a step by step guide meant to provide information in
order to help you running Linux on SPARC based computers, As these
computers are quite different from PCs an hardware section will
provide you with the needed information in order to understand how
they work and what can be expected from the various CPUs and models.
I am not a SPARC specialist, nor a Solaris or Linux guru, I am just
someone who is realy found of well engineered products, and wish to
help you in choosing your hardware and finding information. Thus I
have tried to write down this document in order to ease your path.
I hope this HOWTO will help you and you will have a lot of fun with
your SPARC Computer.
1.1. Translations.
Kim Hyun-Gyu <babyworm@atlas.korea.ac.kr> provide a Korean
translation. You can read it online at
http://kldp.org/HOWTO/html/SPARC-HOWTO/
2. SPARC, which one ?
This document deals only with SPARC based computers, in order to
check, just type uname -m command and you should read something like
sparc4x where x is blank,c,d,m,u if the system runs Solaris, or sparc
for 32 bits SPARC architectures and sparc64 for 64 bits SPARC
architectures if it runs Linux. 2.x.y
SPARC stands for Scalable Processor ARChitecture, it derives from
research done between 1984-1988 on the RISC architecture at UC
Berkeley. It exists 3 versions of this archiecture, SPARC-V7, SPARC-
V8 (32 bits) and SPARC-V9 (64 bits). As you are likely to encounter
a lot of implementations of the SPARC architecture, in the next
section, the main features of theses processors are summarized.
2.1. Sun SPARC
This is quite obsolete, it is an implementation of the SPARC-V7 ; its
main feature are an Integer unit (IU), an external Floating Point Unit
(FPU), an unified data + instruction 64KB direct associative cache,
and an Memory Managment Unit (MMU). There is a 4 stage pipeline for
the integer instructions (fetch F, decode D, exec E, update WB) FPU
and IU are synchronized.
2.2. Super SPARC
This is Texas Instrument and Sun's brainchild, it is usualy found at
around 50Mhz clok rates featuring up to 1MB of L2 cache, it is
available both as single and dual processor modules (SparcStation 10
and SparcStation 20). The higher clock frequency I have encountered so
far is 60Mhz.
On a technical point of view this is a SPARC-V8 implementation, it is
a superscalar processor, having 2 caches, one for instruction the
other one for data.
· The 20kB instruction cache is a 5 way associative.
· The 16KB data cache is 4 way associative.
2.3. Micro SPARC
This is once again Texas Instrument and Sun's brainchild, it can be
found in the SparcStation Classic, SparcStation LX, at frequency up to
50Mhz. Its derivative, the Micro SPARC II can be found in the
SparcStation 4 and SparcStation 5 at frequencies up to 110Mhz.
On a technical point of view, its main features are a high level of
integration, having 2 caches, one for instructions, the other one for
data.
· A 4KB instruction direct associative cache.
· A 2KB data direct associative cache.
It is not possible to add an L2 cache. If you wish to learn more
about the MicroSPARC processor you can browse Sun's Ultra SPARC
ressources.
2.4. Hyper SPARC
This processor was introduced by ROSS in 1993, it is usualy found in
the SparcStation 10, and SparcStation 20, at frequencies up to 150Mhz
(I have heard of 200Mhz dual processor modules, but Have not witnessed
one yet). It can be found on single or dual processor modules.
On a technical point of view it is an implementation of the SPARC-V8,
it is superscalar. It can be found with L2 cache up to 512KB
2.5. ERC32
This is a radhard SPARC V7 microprocessor designed to be used on the
space segment.
It comes as a single unit or as a three chip package. Main
manufacturer is ATMEL in Nantes, France. At least, one software
vendor claims to have GNU/Linux running on this CPU, this is for the
http://dse.cyberclwn.com/sparc-rtems-erc32.htm. This project has not
been updated since March 2001. As I have not had the opportunity to
check this claim. I am more than doubtful.
2.6. LEON
This is also a radhard implementation of the SPARC V8 designed to be
used on the space segment. It is the ESA's brainchild and the lead
designer is jiri gaisler. More information can be found on LEON's
website: http://www.gaisler.com/leonmain.html
The 2.4 and 2.5 kernel series are not yet supported, however the 2.0
kernel series is supported by the uClinux MMU less GNU/Linux
distribution. This distribution has been built at ESA/ESTEC December
26 2003 on a SuSE 8.0 GNU/Linux distribution with gcc version 2.95.3
20010315 and a 2.4.18 kernel. Hereafter is the boot sequence and a
sample session inside the tsim-leon simulator.
______________________________________________________________________
piou@linux:~/uClinux-dist/images> ./tsim-leon -nfp image.elf
TSIM/LEON SPARC simulator, version 1.1.4a (evaluation version)
Copyright (C) 2001, Gaisler Research - all rights reserved.
This software may only be used with a valid license.
For latest updates, go to http://www.gaisler.com/
Comments or bug-reports to tsim@gaisler.com
FPU disabled
serial port A on stdin/stdout
allocated 4096 K RAM memory, in 1 bank(s)
allocated 2048 K ROM memory
icache: 1 * 4 kbytes, 16 bytes/line (4 kbytes total)
dcache: 1 * 4 kbytes, 16 bytes/line (4 kbytes total)
section: .text at 0x0, size 252944 bytes
section: .data at 0x40000000, size 38452 bytes
section: .romfs at 0x3dc10, size 67584 bytes
tsim> g
resuming at 0x00000000
aCDG512k RAM
Found my key
Moved .data
Found my key
uClinux/Sparc
Flat model support (C) 1998-2000 Kenneth Albanowski, D. Jeff Dionne
LEON-2.1 Sparc V8 support (C) 2000 D. Jeff Dionne, Lineo Inc.
LEON-2.2/LEON-2.3 Sparc V8 support (C) 2001 The LEOX team <team@leox.org>.
Calibrating delay loop.. ok - 6.68 BogoMIPS
Memory available: 3904k/4080k RAM, 0k/0k ROM (176k kernel data, 247k code)
Swansea University Computer Society NET3.035 for Linux 2.0
NET3: Unix domain sockets 0.13 for Linux NET3.035.
uClinux version 2.0.39.uc2 (root@linux) (gcc version 2.95.3 20010315 (release)) 6 Thu Dec 26 18:28:01 PST 2002
LEON serial driver version 0.9
ttyS0 (irq = 3) is a builtin LEON UART
Blkmem copyright 1998,1999 D. Jeff Dionne
Blkmem copyright 1998 Kenneth Albanowski
Blkmem 1 disk images:
0: 3DC10-4E40F (RO)
VFS: Mounted root (romfs filesystem) readonly.
Sash command shell (version 1.1.1)
/> pwd
/
/> cd bin
/bin> pwd
/bin
/bin> ls
sh
/bin>
______________________________________________________________________
2.7. Ultra SPARC
The Ultra SPARC processor is an extension of the SPARC-V9
architecture, it is a 64 bits processor, it features some video
processing instructions. It is found in all the computer whose name
start with Ultra.
The Ultra SPARC II is an improvement of the Ultra SPARC, the Ultra
SPARCIII is actually the second generation of Ultra SPARC processors,
it was first introduced in the SunBlade 1000 Workstation. If wish to
learn more about the UltraSPARC processors you can browse Sun's Ultra
SPARC ressources.
2.8. SPARC64 V
This processor is based on the SPARC V9 and is made by Fujitsu It is a
64bits CPU with some very interesting error handling features such as
ECC memory for the L1 cache, hardware instruction retry, error
classification.
There is a 64 bit virtual address space and 43 bit physical address
space. It is used in the PRIMEPOWER high end servers to mainframe
class of Fujitsu's offering.
The cache is organized as :
· A 128kB 2 way associative L1 instruction cache
· A 128kB 2 way associative L1 data cache
· A 2MB unified 4 way associative L2 cache
More information can be found on the
http://www.fujitsu.com/downloads/PRMPWR/JPS1-R1.0-SPARC64V-pub.pdf
whitepaper.
You may read the CPU-Design-HOWTO, this HOWTO has a lot of interesting
links when it comes to studying the CPUs.
To summarize, the 32 bits workstations are the:
· The sun4 workstation is the sun4/330 model.
· The sun4c workstations are the SparcStation 1,2, IPC and IPX
models.
· The sun4m workstations are the SparcStation 5, 10 and 20.
Only the SparcStation 10 and SparcStation 20 are SMP capable: up to
2 CPU modules.
For more information on the SparcStation 5, 10, 20 you can read Sun's
documentation online or download it available.
The following model have an 64 bits UltraSPARC architecture (sun4u).
SunUltra 1, 2, 5, 10, 30, 60, 80 and SunBlade 1000, 1500, 2000. The
SunUltra 2, 60, 80 and SunBlade 1000 are SMP capable, with the Ultra
80 and SunBlade 1000 and 2000 accepting up to 4 CPU modules, the
SunUltra 2 and 60 accepting only 2 CPU modules.
The SunBlade 2000 is the latest one featuring Sun's latest marvel the
Ultra III CPU, at a premium price of course. You can have a summary
of the UltraWorkstation still in production at Sun's website.
A lot of information has been compiled in the Sun hardware reference
that is found on many sites, or on SunHelp 's website.
2.9. Deciphering the CPUs
At first, a reference like SM61 or RT-200-D-125/512 seems to be, to
say the least, quite cryptic. Actually, understanding theses
references is really easy.
2.9.1. Ross Technology.
Theses CPUs's naming scheme is RT-a00-b-freq/cache where
· a is a digit:
· 1 SparcStation 10.
· 2 SparcStation 20.
· 6 SPARC MP600 ( not exactly a workstation ).
· b is a letter:
· D Dual CPU.
· Q Quad CPU.
· S Single CPU.
· freq The frequency expressed in Megahertz.
· cache The amount of cache memory expressed in Kilobytes.
When these modules are in a workstation the naming convention is HSxy,
for example ywing is a SparcStation 20 HS22, thus it is easier to have
a look inside the workstation.
2.9.2. SM modules.
This table is extracted from the FAQABOSS
______________________________________________________________________
Name Speed( MHz ) Cache( MB ) Number of SuperSparc
Processors Series
SM20 33 0 1 I
SM30 36 0 1 I
SM40 40 0 1 I
SM41 40 1 1 I
SM50 50 0 1 I
SM51 50 1 1 I
SM512 50 1 2 I
SM51-2 50 2 1 I
SM61 60 1 1 I
SM61-2 60 2 1 I
SM71 75 1 1 II
SM71-2 75 2 1 II
SM81 85 1 1 II
SM81-5 85 2 1 II
______________________________________________________________________
Warning: the SM100 is a RT-600-D-40
2.9.3. Cypress.
Cypress manufactured SPARC compliants processors; AFAIK their naming
scheme is CYnnn.
As you can see, this is easy to understand.
2.10. The javastation.
This is a family of Network computers that used to be manufactured by
Sun, there is a very good JavaStation-HOWTO about it.
3. Buying a SPARC computer.
You have decided to buy a SPARC based computer, now you can tell what
CPU each model sports, but can you tell how that particuliar model
looks like? How its is inside?
Do not worry, this section will help you on that topic as well as
providing you with some hints on how to inspect and test the hardware.
3.1. Gaigning a visual familiarity with SPARC hardware
PC hardware is everywhere and usualy one is quite familiar with it,
this is not exactly the case with SPARC based hardware, even more when
it comes to the innards of a computer. The good news is that it exists
some sites on the web, where you can find pictures of Sun hardware,
with some very detailed shots, thus you should be able to instantly
identify the model and its condition prior to buy it. The two main
site where I usualy go are:
· sun In Sun's database, you can find technical data as well as
picture of some of Sun's product, the pictures are crisp, and the
hardware is always at its best, this is technicaly interesting, in
order to compare brand new hardware and the used one that is usualy
featured on the two sites below.
· HAL This site features very detailed pictures of a lot of hardware,
from CPU modules to Servers, even mice.
· obsolyte This site has different pictures, it is very useful too.
3.2. Sun made hardware or clones ?
On the one hand, it is very easy to find information on Sun hardware,
while it can be difficult to find it for clone systems on the other
hand it should be more fun to work with exotic hardware.
Clone systems have been or are still manufactured, at least by:
· Fujitsu.
· Toshiba
· Ross
· Tadpole/RDI manufactures SPARC based laptops.
· Tatung is still in the market and sells SBus, PCI cards, and of
course systems up to the UltraSPARC III based 2U and 4U servers.
For more information about tatung's COMPServer and COMPStations,
please read the Tatung's Workstations and Servers sections of this
document.
· Toshiba, used to manufacture SPARC based laptops: The AS1000.
3.3. Where to buy.
Of course if you buy first hand hardware everything should be fine,
but if you decide to go for second hand hardware, you will have to
decide how you want to buy it, and you should be able to test it by
yourself.
Second hand hardware can be brought from Sun as refurbished hardware,
at auction websites, or in specialised stores, or directly from
companys that upgrade their hardware.
3.4. Checklist
When it comes to second hand hardware one has to be as cautious as
possible about the source, and the condition of that hardware.
For the source of the hardware, if you can track it, it is a very good
point. If you can't track it, it is up to you to decide if you trust
the seller or not ( If the seller cannot give you the reference of the
hardwre and if, obviously he/she is clueless about Sun hardware, you
should switch to condition red ).
Another interesting point is to see if check is accepted as a
payement.
If you can check the hardware before buying it then first have a
general look at it, search for cracks, for stains; check the
connector's pin. If this first inspection is OK, then ask to see the
inside, look for spills, watch carefuly the connectors, then if it is
OK ask to see it running, watch carefully boot messages, issue the
dmesg|more or if it runs Solaris you can issue the more
/var/adm/messages command, and also very important listen to your
computer, do you hear unusual noises? Does it smell OK?. Then enter
the OpenBoot by the stop+a command and run some tests ( see the
OpenBoot section ). When you have decided to purchase it, it is very
important that you always make sure that the computer you are
purchasing is the one you have tested: always keep an eye on it, do
not let someone go to the backoffice with it for example, do not
accept to leave without your computer.
Then, when you are at home, recheck it as if it was the first time you
see it. If it comes with CDROM drive, try to mount/umount a few CDs
and read them in order to check that device. If there is a floppy disk
read/write/format a few floppys, this should be a good test.
Of course, it exists tools to automaticaly test the hardware, but
usualy you do not have them when you need them, thus the script below
relies only on ressources provided by a Linux base system.
You should run the following script for three days, basicaly it is
going to use the CDROM, floppy and hard drive, and to reboot the
computer every 3 hours. This should stress it,
______________________________________________________________________
#
# Enter this in the crontab(5)
# run the torture.sh script every 3 hours if possible
#
0 */3 * * * /root/torture.sh
______________________________________________________________________
Where torture.sh is
______________________________________________________________________
#!/bin/sh
#
# these are for controlling the loops
# the CDLIMITS and FDLIMITS
# are for the CD and FD loops
#
CPT=1
CDLIMIT=3
FDLIMIT=10
#
# to which devices are
# CDROM and floppy attached
#
CDROM=/dev/sr0
FLOPPY=/dev/fd0
#
# where is the program we
# intend to compile
PATH=/path_to_big_package_to_compile
#
# this section si meant to
# test the CDROM and floppy drives
# comment what you do not need to
# test
while [ $CPT -le $CDLIMIT ]
do
#
# CDROM drive
#
mount -rt iso9660 $CDROM /cdrom
find /cdrom -exec cat {} \; >>/dev/null 2>&1
umount /cdrom
CPT=$(($CPT+1))
done
#
# floppy drive
#
CPT=1
while [ $CPT -le $FDLIMIT ]
do
mke2fs -c $FLOPPY >/dev/null 2>&1
mount -t ext2 $FLOPPY /floppy
cd /bin/
cp dd ps echo sh /floppy
find /floppy -exec cat {} \; >>/dev/null 2>&1
umount /floppy
CPT=$(($CPT+1))
done
#
# The big, intensive
# compilation
#
cd $PATH
#
# now compile
#
make
#
#
# we remove every .a .o .s and every executable
#
find $PATH -name "*.[aos]" -exec rm -f {} \; >/dev/null 2>&1
find $PATH -exec test -x {} \; -exec rm -f {} \; >/dev/null 2>&1
#
# time to reboot
#
reboot
______________________________________________________________________
Of course you should run this script manualy once in order to know how
much time it requires to complete, this is just an idea on how to
automate things.
4. SPARC based laptops
There exists SPARC based, laptops.
They are not very widespread but, they are actually very good SPARC
workstations.
· SparcBook 1:
· SparcBook 2:
· Tadpole SparcBook 3GX: This is a 100Mhz MicroSPARC II (TI) with a
Weitek P9100 frame buffer and a screen resolution of 800x600.
GNU/Linux runs on it The PCMCIA, internal modem and power
management are not supported at the time of this writing.
For more information about the SPARCBooks there exists a SPARCBook
FAQ, you can read it at http://hvdkooij.xs4all.nl/docs/SparcBook-
FAQ.html
There exists a Linux Mobile Guide that provides you with the needed
informations about GNU/Linux on laptops. You can read it there:
http://www.tuxmobil.org/Mobile-Guide.db/Mobile-Guide.html
Today there are some manufacturers of SPARC based laptops. You can
access their websites at
· Tadpole: http://www.tadpolecomputer.com/html/
· Nextcomputing: http://www.nextcomputing.com At least one of their
laptops, the NextBlade 150 is advertised as being capable to run
both Solaris and the RedHat GNU/Linux.
5. The wonderful SparcStation Voyager
Nearly ten years ago in 1994, Sun microsystems introduced the
SPARCStation Voyager (ss240). This computer was a Sun4m architecture,
powered by a microSPARC II processor. It is a very compact computer,
behing a hybrid between a desktop and a Laptop. It has the footprint
of a very compact workstation with a builtin color LCD display, PCMCIA
and InfraRed ports with a 2"5 SCSI harddrive. I have seen one at the
CCC in Berlin, runing Debian GNU/Linux but the InfraRed and PCMCIA
ports are not supported. Its datasheet is actually very impressive:
· 60 Mhz microSPARC
· up to 80MB RAM
· up to 810MB fast SCSI 2 Harddrive
· 5.5 by 14.5 footprint
· 12" 1024x768x8 color LCD or 14" monochrome or 14" display in
1152x900
· Ethernet 10
display
· storage temperature -25C to 60C
· operating temperature 0C to 40C
More information about this computer can be found on Sun's website at:
http://sunsolve.sun.com/handbook_pub/Systems/SSVygr/SSVygr.html
6. Sun's Netra servers
GNU/Linux is known to run on the following systems:
· SBUS based Netra
· Netra i
· PCI based Netra
· Netra T
· Netra X1
Installation kernel images can be downloaded from
___________________________________________________________________
http://sunsite.ulatina.ac.cr/Unix/Linux/Splack/
sparc/splack-8.0/kernels/sun4u.s
___________________________________________________________________
7. Sun's Enterprise servers
GNU/Linux is known to run on the following systems:
· SBUS based servers
· Enterprise 1
· Enterprise 2
· Enterprise 150
· Enterprise 3000
· Enterprise 3500
· Enterprise 4000
· Enterprise 4500
· Enterprise 5000
· Enterprise 6000
· Enterprise 6500
· Enterprise 10000 (up to 64 CPUs can be fitted in this server. It
is nicknamed StarFire). More information about running a 2.6.x
GNU/Linux kernel on an E10k can be found on this page:
http://people.debian.org/~fabbione/e10k/debian_on_e10k.txt
As far as I know, Linux on these systems have been tested with up
to 24 CPUs
· PCI based servers
· Enterprise 250
· Enterprise 450
One of the locations installation kernel images can be downloaded
from is
___________________________________________________________________
http://sunsite.ulatina.ac.cr/Unix/Linux/Splack/
sparc/splack-8.0/kernels/sun4u.s
___________________________________________________________________
8. Tatung's Workstations
GNU Linux runs fine on these systems:
· COMPStation 5-110: This is a Sun's SparcStation 5 clone.
· COMPStation 10: This is a SparcStation 10 clone.
· COMPStation 20: This is a SparcStation 20 clone.
· COMPStation 40: This is a SparcStation clone.
· COMPStation U2: This is a dual 200Mhz UltraSPARC based worstation.
· COMPStation U10S: This is an 440Mhz UltraSPARC IIi based
workstation.
· COMPStation U100T: This is an 500Mhz UltraSPARC IIe based
workstation
9. Tatung's SPARC Servers
GNU/Linux runs on the following servers from this manufacturer:
· COMPServer 1U: TWS 1101R and TWS 1102R : These are single 500Mhz
UltraSPARC IIe servers.
· COMPServer 2U: TWS 1200R: This is a single 500Mhz UltraSPARC IIe
server.
· COMPServer U4MP: This is a quad 450/480 Mhz UltraSPARC II server.
· COMPServer U4MP-R: This is the rackable U4MP CompServer.
· COMPServer U60SR: This is a dual 450 Mhz UltraSPARC II rackable
Server.
10. Fujitsu's supercomputers
At least one of their supercomputers, the AP1000+, runs GNU/Linux.
This is a distributed memory multi-computer. It is used in the CAP
program which is a collaborative research program between Fujitsu
Laboratories and the Australian National University. This computer
was used in the phase 1 of this project. They have managed to run
Linux on a 16 node computer with 16 MB ram per CPU module. More
information about this project can be found on this page:
http://cap.anu.edu.au/cap/projects/linux/
More information can be found about Fujitsu's offering on this page:
http://www.fujitsu.com/support/computing/server/unix/documents/
11. Linux on SPARC: 2 kernels.
Actually Linux on SPARC architecture comes in two flavors:
· A 32 bits kernel for the Sun SPARC, Super SPARC, Micro SPARC and
Hyper SPARC Processors.
· A 64 bits kernel for UltraSPARC based computers.
In both case most applications run in 32 bit ( 32 bit userland ).
There is a comprehensive FAQ on UltraLinux's website.
12. Choosing a distribution.
You are very lucky, it seems that you can pick the one you like. In
order to help you with this task here are some links, that should help
you to make an informed decision.
12.1. Aurora SPARC Linux
This distribution is based on the RedHat 7.3 SPARC distribution. The
homepage is: http://www.auroralinux.org/ It is on the rise. There
exists 3 mailing lists. You can join them at
http://lists.auroralinux.org/mailman/listinfo
The latest version codenamed wombat can be downloaded on the
ftp://auroralinux.org/pub/aurora/build-1.91/ ftp site.
12.2. Debian GNU/Linux.
Debian GNU/Linux runs on SPARC platform; you can find a lot of
informations about this port at the http://www.debian.org/ports/sparc/
webpage
You can join the mailing list by sending a mail to < debian-sparc-
request@lists.debian.org > with subscribe as the subject.
12.3. Gentoo
This is a SPARC and SPARC64 distribution, more informations can be
found in the Gentoo handbook at
http://www.gentoo.org/doc/en/handbook/draft/handbook-sparc.xml
12.4. PLD.
This distribution is based on the RedHat and is developed in Poland.
They do have a SPARC 32 port. More information can be found at their
homepage http://pld.org They also provide some mailing lists. More
information can be found there:
http://mail.pld.org.pl/mailman/listinfo/
12.5. RedHat Linux.
The latest RedHat Linux distribution for the SPARC architecture is the
6.2; you can download it at
http://www.linuxiso.org/download.php/243/zoot-sparc.iso for example.
There exists a mailing list about Linux and RedHat on SPARC
Processors, you can access it there:
http://www.redhat.com/mailman/listinfo/sparc-list
12.6. Slackware
There exists a port for the SPARC architecture, more information is
available at http://www.slackware.com/ports/sparc/
12.7. SLXT
Actually, the SPARC-Linux Xterminal Package is not a distribution, it
is a way to use a diskless SPARCStation as an X terminal. This is a a
very convenient package. More information can be found at
http://www.pucebaboon.com/SLXT/
12.8. Linux Terminal Server Project
The Linux Terminal Server Project (LTSP) is a convenient way to turn a
SPARC or an Ultra SPARC workstation into a diskless workstation. The
project's homepage is http://www.ltsp.org/
Step by step instruction to setup a client on an Ultra SPARC can be
found at the following website: http://math.univ-lille1.fr/ltsp-sparc/
12.9. SplackLinux
It is meant to be Slackware Compatible for SPARC. Its homepage is
http://sourceforge.net/projects/splack
12.10. SuSE Linux.
The SuSE Linux 7.3 distribution is quite complete, you have 5 ISOs to
download. You can grab it at the following URL:
ftp://ftp.suse.com/pub/suse/sparc
In the subdirectories you will also find bonus software such as KDE
libraries and programms.
There is a mirror site located in Germany:
ftp://ftp.gwdg.de/pub/linux/suse/ And, there are some extra files on
the SuSE's server. You can join the mailing list by sending a blank
mail to < suse-sparc-subscribe@suse.com > More information can be
found at: http://www.suse.com
12.11. Vine Linux
This is a Japanese distribution and there exist a SPARC port. It is
an rpm based distribution. From the documentation, it supports both
SPARC 32 and SPARC 64. The documentation (in Japanese ;-) ) can be
read online at http://www.vinelinux.org/sparc/2.1.5/install-vine-
sparc-2.1.5.html
13. Installing Linux
To install Linux on a SPARC based computer, should be strightforward
if you follow the informations provided by your distribution.
To boot from a floppy drive you have to have an install image on a
floppy disk and to issue the boot floppy from the OpenBoot.
If your computer does not have a CDROM or a floppy drive, you can
always try to perform a network installation using NFS as explained by
this French document: http://www.linux-
france.org/article/materiel/sparc-install/Sparc-netinstall.html .
Basicaly, you have to set up an NFS server and to boot your computer
using the boot net vmlinux nfsroot=192.168.52.12:/tmp in order to
access the image that is exported by the 192.168.52.12 computer on the
/tmp directory. Another source of information, this one is written in
English, is this FAQ from the UltraLinux website (
http://www.ultralinux.org/faq.html#q_5_9 )
14. Working with the Openboot.
In this section, you will be given an overview of what is the
OpenBoot, and you will be given the main commands you need to know in
order to test your hardware and to install Linux.
14.1. What is the OpenBoot?
If you are used to PC hardware, you are used to interact with its
BIOS. SPARC computers have an Openboot, it may seem to be like your
BIOS, but it is actually far more powerfull. The Openboot performs
the following tasks:
· Testing and initializing the hardware.
· Starting the operating System.
· Giving you acces to a set of tools to program and to debug it.
The programming language is FCode, if you can program the Forth
langage, you can program it.
In this section, we will juste use a small set of the OpenBoot's
capabilities, in order to test hardware and to boot the system. First
you have to enter in the OpenBoot, just hit the stop and a keys
simultaneously. Then you should see a ok prompt, if instead you see
the > prompt then type n. Now you can proceed to the next section.
14.2. Diagnostics commands.
The OpenBoot, gives you a lot of commands to test and to gather
information about your hardware.
· .version Displays version and date of the startup PROM.
· banner You will see the banner, that is displayed at power-on. It
is useful to gather some data about CPUs.
· pcia-probe-list Test PCI on computers that have a PCI bus.
· module-info This will display the Buses clockspeed, and processors
frequency and amount of cache.
· probe-scsi This will test all devices connected to the on board
SCSI controler.
· probe-scsi-all This will test all devices connected to all the SCSI
controlers.
· show-devs This displays all installed and probed devices.
· show-sbus Use this, if you just want to display a list of installed
and probed SBus devices.
· test-all This will test all devices in the system that have a self
test program.
· test floppy If a floppy drive is installed, it will test it
reminding you to have a formated floppy disk inside.
· test-memory If the system diag-switch? is set to true, this will
test the memory.
· test net This will test the network interfaces
· watch-aui This will test the AUI ethernet link. You will see '.'
for good packets and 'X" for bad ones. Strike any key to abort.
· watch-clock This will test the real time clock chip, it will tick
once a second. To stop this test strike any key.
· watch-net This will check the network connection ( both AUI and TP
). You will see '.' for good packets and 'X" for bad ones. Strike
any key to abort.
· watch-net-all This will test all Ethernet interfaces. You will see
'.' for good packets and 'X" for bad ones. Strike any key to abort.
When you abort one, it will test the next one.
· watch-tpe This will check the TPE ethernet interface. You will see
'.' for good packets and 'X" for bad ones. Strike any key to abort.
14.3. Boot commands.
The OpenBoot allows you to boot from various devices, the command you
are the more likely to enter are below.
· boot Boot kernel from default device.
· boot cdrom Boot kernel from CDROM drive.
· boot net-tpe Boot kernel from network urnel from CDROM drive, this
is the command you are the more likely to type when installing
Linux.
· boot net Boot kernel from network using auto-selected interface.
· boot net-aui Boot kernel from network using AUI interface.
· boot net-tpe Boot kernel from network using TPE interface.
· boot tape Boot default file from tape.
14.4. Misc commands.
· eject-floppy Ejects the floppy.
· power-off Poweroff the computer.
You can poweroff your computer, when you are working with the
OpenBoot : just type power-off
For more informations on the OpenBoot you can read this FAQ at
http://www.itworld.com/AppDev/616/UIR951001openboot/
15. Hard drive buses.
Depending on their architecture, the computers are likely to feature
one of the following hard drive buses.
15.1. SCSI-SCA.
An SCSI connector is located at the rear of the Computer; the SCA
chanel is found on the internal bus of the SPARC Worstation. It can be
basicaly seen as an SCSI bus that provides power supply and assigns
SCSI ID to the peripherals.
15.2. EIDE.
This is found for example in an Ultra 5 or Ultra 10 computers This bus
is the one you can find in your intel box.
15.3. FC-AL
This is the FiberChannel bus. It is used by the SunBlade 1000
workstation.
16. CDROM: specific settings.
The easiest way to install linux on SPARC computer is to use a CDROM.
If your computer does not have a CDROM you can plug an external SCSI
CDROM drive, but there are two things to do or you are doomed to fail:
· When you issue the boot cdrom command, the CDROM is mapped to ID
number 6.
· Your CDROM player's block size should be setted up on 512.
As a rule of thumb, nearly all SCSI CDROM drives can be assigned to
ID number 6 but you should check if the block size setting can be
changed.
17. SILO.
The Sparc Improved Boot LOader ( SILO ), is the boot loader that is
used in the SPARC architecture. It allows you to boot Linux, Solaris
or SunOS. It can load a Linux kernel from ext2, iso9660, UFS or ROMFS.
From the SILO's README:
This is the first attempt at a complete boot loader for Linux on the
Sparc. Because of the lack of space on the bootblock, we have to do
it in two steps, the first step is a very simple loader based on Peter
Zaitcev's silo (we will call this the first stage loader) which should
fit in 512B and its sole purpose is to load a more complete bootstrap
loader, herein refered to as the second stage boot loader. The cool
thing about the second stage loader we implemented is that it makes
use of the ext2 library (provided with the ext2fs tools) and some ufs
code, and thus allows the loader to access any file on a ext2 fs and
ufs, uses silo.conf, handles gunzipping and a lot of other things.
This is different from Linux/i386 lilo which needs a map for each
kernel. In silo we just keep one map file for the second stage loader,
we don't expect you to be changing the second stage loader on your
daily routine (you can do so, you will just need to use a tool to
reinstall the maps).
Actually, IMHO it is easier to use than LILO.
18. Compiling a kernel
If you have already compiled a kernel on x86 architecture there is
just a little difference when you wish to compile a kernel on SPARC
architecture.
you do not type
______________________________________________________________________
#make zImage
#make modules
#make modules_install
______________________________________________________________________
but
______________________________________________________________________
#make vmlinux
#make modules
#make modules_install
______________________________________________________________________
More information can be found on http://www.ultralinux.org/faq.html
Then, from the Ultralinux's FAQ the following steps are :
· 1.Copy linux/System.map to your bootfile directory (eg. /boot), and
rename this file to
___________________________________________________________________
System.map-<kernel-version>
___________________________________________________________________
· 2.Copy linux/vmlinux to your bootfile directory, and rename this
file to
___________________________________________________________________
vmlinux-<kernel-version>
___________________________________________________________________
· 3.Edit /etc/silo.conf, and add your new kernel to this file.
· 4.Reboot your machine.
If you have trouble compiling your kernel, maybe it needs to be
pached. There are many patches floating around on the net. There
exists a website that put some of them online on a regular basis both
for the stable and unstable branches, up to the 2.6.x kernel series.
Those patches apply to the hardware used by the site's owner and this
should be considered as a very good starting point to be adapted to
your hardware. More information can be found at
http://osinvestor.com/sparc/ You can also email the site's owner, Rob
Radez : <rob@osinvestor.com> If you are unfamiliar with paches he also
made them available as debian packages.
19. Keyboard and mouse.
Most of the sun4m workstation have a special connector for the
keyboard. In this case the mouse is connected indifferently to left or
the right side of the keyboard. Some computers have a PS2 connector,
it is very easy to spot the difference. The keyboards you are the
more likely to encounter are the type4 and type5.
At the time of this writting, I didn't manage to have mouse support on
the Sun Blade 100. Things should become easier in the near future.
20. X Window.
XFree, usually, runs fine on theses systems. The table below helps
you choose the XFree86 4.2.0 server that matches your graphic adapter:
______________________________________________________________________
Graphic Adapter Xserver
Sun Creator 3D sunffb
Sun Elite 3D sunffb
Sun GX suncg6
Sun Leo (ZX) sunleo
Sun TCX suntcx
Sun Turbo GX suncg6
Sun bw2 sunbw2
Sun cg14 suncg14
Sun cg3 suncg3
______________________________________________________________________
There is a catch with the 13W3 video connector that equips some of
the framebuffers you may encounter. One may try to plug it on a VGA
monitor using an 13W3 to VGA adaptor that is sold on the market. The
problem is that SGI and Sun Microsystems do not have the same
definition of this standard and depending of the adapter you buy, this
may work or not (you know Murphy ...). As a rule, idealy you should
try it before you buy.
21. SMP.
Ouaich, SMP is supported, and I am sure that ROSS's dual CPU modules
are supported as you can see by yourself:
______________________________________________________________________
piou@ywing:~ > cat /proc/cpuinfo
cpu : ROSS HyperSparc RT625 or RT626
fpu : ROSS HyperSparc combined IU/FPU
promlib : Version 3 Revision 2
prom : 2.25
type : sun4m
ncpus probed : 2
ncpus active : 2
Cpu0Bogo : 125.33
Cpu1Bogo : 125.33
MMU type : ROSS HyperSparc
invall : 0
invmm : 0
invrnge : 0
invpg : 0
contexts : 4096
CPU0 : online
CPU1 : online
piou@ywing:~ >
______________________________________________________________________
The SparcStation 10 and SparcStations 20 are SMP capable computers and
according to the FAQABOSS the following combinations are known to work
:
· 2xSM40 ( model 402 )
· 2xSM41 ( model 412 )
· 2xSM51 ( model 512 )
· 2xSM512 ( model 514 )
· 2xSM61 ( model 612 )
· 2xSM71 ( model 712 )
· 2xSM81 ( model 812 )
And, as stated earlier, CPU modules in SparcStations 10 and can run a
different clock speeds, the following ones __SHOULD__ work:
· 2xSM50
· SM41, SM51
· SM41, SM61
· SM51, SM61
· SM71, SM81
How does it performs? Well, it is fast, really fast. Some of the java
Demos can run faster on a dual HyperSparc 125Mhz 128MB ( ywing ) than
on a dual celeron BP6 433@433Mhz 192MB ( calimero ). The same applies
for the Gimp. When it comes to compiling calimero runs faster than
ywing. Both computers running 2.2.16 kernel and calimero's hard disk
subsystem is full SCSI.
One important detail when you plan to have different CPU modules in
your computer is to have the same kind of modules, you cannot mix
SuperSparc and HyperSparc for example, but you can have an odd number
of CPUs, for example 3. They are said to be able to run modules at
different clock speed as written in this article form AcesHardware ,
but I have not witnessed it.
ywing has been upgraded to quad-CPU. You can read the kernel's
message:
______________________________________________________________________
cpu : ROSS HyperSparc RT625 or RT626
fpu : ROSS HyperSparc combined IU/FPU
promlib : Version 3 Revision 2
prom : 2.25
type : sun4m
ncpus probed : 4
ncpus active : 4
Cpu0Bogo : 125.33
Cpu1Bogo : 125.33
Cpu2Bogo : 125.33
Cpu3Bogo : 125.33
MMU type : ROSS HyperSparc
invall : 0
invmm : 0
invrnge : 0
invpg : 0
contexts : 4096
CPU0 : online
CPU1 : online
CPU2 : online
CPU3 : online
______________________________________________________________________
and its main memory is now 256MB:
______________________________________________________________________
total: used: free: shared: buffers: cached:
Mem: 263028736 29114368 233914368 22958080 1695744 12779520
Swap: 133849088 0 133849088
MemTotal: 256864 kB
MemFree: 228432 kB
MemShared: 22420 kB
Buffers: 1656 kB
Cached: 12480 kB
BigTotal: 0 kB
BigFree: 0 kB
SwapTotal: 130712 kB
SwapFree: 130712 kB
______________________________________________________________________
So I have performed an empirical proftpd compilation test using the
make -JN. The results are:
______________________________________________________________________
with make
real 3m27.466s
user 3m15.670s
sys 0m12.030s
with make -j2
real 1m52.670s
user 3m27.210s
sys 0m15.310s
with make -j3
real 1m22.560s
user 3m43.910s
sys 0m18.070s
with make -j4
real 1m13.582s
user 4m2.200s
sys 0m22.830s
with make -j5
real 1m13.445s
user 4m4.060s
sys 0m22.640s
with make -j8
real 1m15.550s
user 4m1.840s
sys 0m22.960s
with make -j 10
real 1m20.091s
user 4m2.440s
sys 0m22.170s
______________________________________________________________________
As expected the best results are with make -j5 ( one instance per CPU
+ one ready to enter when a cache miss occurs ); then N increasing the
results are starting to worsen.
As a conclusion, those sun4m SMP systems will be very interesting when
Gimp 2.0 will be available because of multitreading and paralelization
of algorithms.
If you want to learn more about SMP and Linux you can read the SMP-
HOWTO http://www.tldp.org/HOWTO/SMP-HOWTO.html
22. The sound.
The sound works fine on my SparcStation 20 and a 2.4.x kernel series.
Most of the people I know report succes with the 2.4 kernel series.
If you plan to use an older kernel, you can read the Linux/Sparc audio
webpage at sparcaudio which is a very good source of information about
Sound support on Sun's SparcStations.
23. Serial port.
Sun workstations ususaly have 2 serial ports, but on sun4m workstation
there is usualy only one serial connector at the rear, you need a
special Y cable in order to have access to both ports.
24. Ressources.
The following sites are given for your information, I am independent
from them and does not represent them. If you would like to suggest a
website or to add any information do not hesitate to email me.
24.1. Information sites.
· Ace's Hardware: http://www.aceshardware.com/ An hardware
information site having a SPARC area, actually the whole site used
to run on a SparcStation 20 SM71, 128MB ! Ouaich, definitively not
an Intel clone running Windows NTM.
· ArsTechnica: http://arstechnica.com/cpu/index.html ArsTechnica is
an information website with a good CPU section.
· Black-Cube: http://www.black-cube.net/Sun/ Pictures of various
SPARC hardware : IMHO great site.
· LinuxDoc: http://www.tldp.org homesite of the LDP.
· Obsolyte: http://www.obsolyte.com/sunPICS/ Nice pictures from
various sun Hardware.
· SPARC International, Inc. http://www.sparc.org/ As the name
implies, a lot of information about SPARC architecture.
· Sun: http://docs.sun.com/ the starting node to access documentation
on Sun Microsystems website.
· Sun's Linux webpage.
___________________________________________________________________
http://wwws.sun.com/software/linux/compatibility/ultralinux/index.html
___________________________________________________________________
· SunHelp: http://sunhelp.org A good source of information about Sun
Hardware and Solaris OS. Has a lot of links and good documentation
on site.
· Just the Facts:
http://sunsite.ualberta.ca/Sun_Resources/Just_The_Facts/JTF.html
plenty of "Just the facts" documents in .ps format.
· UltraLinux: http://www.ultralinux.org/ If you need information
about the Linux Kernel on SPARC architecture it is a very good
place: "Bring your penguin into the Sun".
24.2. Auction sites.
Among the various Auction websites available on the net you can try
theses ones. Remember to be very cautious when you purchase hardware (
see the Buying a SPARC computer section. )
· Ebay: http://www.ebay.com Ebay, and its regional sites have got a
lot of Computers.
· Yahoo! Auctions: http://auctions.yahoo.com/ This is the well known
site.
24.3. A Good Provider based in France
There exists a very reliable source of used Sun workstations in
France: solutions-rl
http://www.solutions-rl.fr
25. Thanks and Credits.
25.1. Thanks.
Among the many people who showed me how great Unix and the Unix
computers can be, some people have earned a special place I would like
to thank them:
· My "Vieux matou" Michel Fiolet. Who gave me my first acount on a
real Unix machine, and took the time to answer my questions,
showing me among other things how to take advantage of the
hardware's feature.
· Nathalie Sabbah. Who was always able to guess at the speed of light
what went wrong and fixed it on the fly. And took time to install
the tools I needed.
· Yves Daignaux. Who among other things always welcomed my questions,
and whose office was always open even late in the evening.
Both of them beeing real Sysadmin and teachers from the trenches,
have a very deep knowledge and understanding of both the Hardware
and Software.
Also many thanks to "old crocodile" virgile for the time he spent at
the library helping me to get the big picture.
25.2. Credits.
Some people gave a lot of time and ressource to help me with this
project, hereafeter is their names sorted by alphabetic order:
· <babyworm@atlas.korea.ac.kr> provides a translation into the Korean
Language.
26. Copyright, Disclaimer and Trademarks
26.1. Copyright.
Copyright © 2000-2004 by Lionel, trollhunter Bouchpan-Lerust-Juéry.
This document may be distributed under the terms set forth in the GNU
Free Documentation Licence http://www.gnu.org/copyleft/fdl.txt
<http://www.gnu.org/copyleft/fdl.txt> .
This documentation is distributed in the hope that it will be useful,
but without any warranty. The information in this document is correct
to the best of my knowledge, but there's a always a chance I've made
some mistakes, so don't follow everything too blindly, especially if
it seems wrong. Nothing here should have a detrimental effect on your
computer, but just in case I take no responsibility for any damages
ocurred from the use of the information contained herein.
In this document you will encounter some commercial products and
brands. Theses products are cited for information purpose, it is not
an endorsement from the author. The trademarks belong to their
respective owners.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
any later version published by the Free Software Foundation; with the
Invariant Sections being : "Copyright, Disclaimer and Trademarks"
"Preface.", "SPARC, which one ?", "Buying a SPARC computer.", "SPARC
based laptops", "The wonderful SparcStation Voyager", "Sun's Netra
servers", "Sun's Enterprise servers", "Tatung's Workstations",
"Tatung's SPARC servers", "Fujitsu's supercomputers", "Linux on SPARC:
2 kernels.", "Choosing a distribution.", "Installing Linux.", "Working
with the Openboot.", "Hard drive buses.", "CDROM: specific
settings.quot;, "SILO.", "Keyboard and mouse.", "X Window.", "SMP.",
"The sound.", "Serial port.", "Ressources.", "Thanks and Credits.",
"Revision History.",
, with the Front-Cover Texts being "title" and "abstract." , and with
no Back-Cover Texts .
26.2. Administrativia.
This text is included in the Linux Documentation Project
http://tldp.org/HOWTO/HOWTO-INDEX/howtos.html .
If you wish to mirror it or to translate it, please contact me.
Lionel, Trollhunter Bouchpan-Lerust-Juéry <trollhunter@linuxfr.org> or
at <trollhunter@free.fr>
27. Revision History.
· August 2004. v0.0.7
· Some minor spellchecking and modifications/updates in various
sections
· Linux Terminal Server Project section added
· October 2003. v0.0.5
· Korean Tranlation.
· Spellchecking.
· ERC32 and LEON processors added.
· SPARC64 V processor added
· SPARC based laptops added.
· The wonderful SparcStation Voyager added.
· Sun's Netra servers added.
· Sun's Enterprise servers added.
· Installing Linux section started.
· Tatung's Workstations added.
· Tatung's SPARC servers added.
· Fujitsu's supercomputers added.
· The Hard Drive buses section rewritten.
· The XWindow section expanded.
· The credits section added.
· Kernel compiling added.
· Modifications to other sections.
· November 2000. v0.0.3
· November 2000. First release v0.0.1