UltraPenguin-1.0 is here!

David S. Miller (davem@jenolan.rutgers.edu)
Sat, 12 Jul 1997 10:42:44 -0400

[ This was sent to all the lists at once, that didn't work for
some reason, so I'm sending it one list at a time to make it work. ]

Are you tired of wondering what the true performance
capabilities of your UltraSparc system are?

Are you tired of the endless promises from SunSoft
as to when they will provide you with a true 64-bit
userland under Solaris?

Are you tired of not being able to find out what is
going on "under the hood" of the OS you currently
run on your UltraSparc systems?

Yes? Well then wake up sleepy head, UltraPenguin-1.0 is here!

( A condensed version of this announcement is readable via
http://sunsite.mff.cuni.cz/linux/ultrapenguin-1.0/ as well)


NEW BRUNSWICK, PRAGUE. Jul, 12th, 1997. The UltraLinux team
proudly announces UltraPenguin 1.0, first publicly available
distribution of Linux for UltraSPARC I and II processor based
workstations. Some lower end EnterPrise server machines are supported
as well in uni-processor mode. See below.

This distribution is based on Red Hat Linux, version 4.2 for

*DISCLAIMER*: Although this is based upon a RedHat Linux release,
RedHat does not support this. They will not provide
support for the UltraPenguin-1.0 distribution. It is
our hack which we put together so that people can be
provided with a full UltraLinux system early. Please do
not bother RedHat about problems you encounter with
this release, thank you.

UltraLinux is a fast 64bit free operating system, which
supports up to 1TB of physical and another 1TB of IO memory, fully
supports Linux/Sparc 32bit binaries plus will soon support 64bit
UltraLinux ELF binaries. It uses the Visual Instruction Set for high
bandwidth operations, even older 32-bit applications take advantage of
this increased performance if they are dynamically linked.

The 64-bit userland for UltraPenguin is half done, developers
have initial statically linked ELF 64-bit binaries working. We will
announce seperately the availability of this so others can experiment
with it and help us out, so please be patient.

Where can I get it?

ULTRAPENGUIN 1.0 distribution is available at least from the following


But surely it will reach all the sites which mirror these two very

What UltraSparc machines are currently supported?

Ultra 1 desktop systems
Ultra 2 desktop and some server systems

which have a TurboGX (cgsix) framebuffer.

Creator and Creator3D machines are not yet supported, unless
you put a supported framebuffer into one of the sbus slots. Creator
support is now actively being developed.

Ultra 2 low end servers are supported in uni-processor
mode. For example, Ultra EnterPrise 1 and Ultra EnterPrise 2 servers
can be expected to work. Higher end EnterPrise server machines such as
the 3000, 4000, 5000, 6000, and 10000, all of which use the Gigaplane
bus, are not supported yet.

If you are interested in seeing UltraPenguin supported on the
higher end server machines, you are encouraged to make an effort to
help Jakub or David obtain such a system so that the support can be

(David leaves for SGI in mid September, and thus will no be able to
contribute as heavily, if at all, on the necessary work, so if you can
assist with this, do it soon!)

We realize that many will want to install and use UltraPenguin
via a serial console. RedHat fully supports this in their installation
mechanism, *however* we have been so busy working on getting
UltraPenguin to a releasable state that we have not had time to test
and fix any problems with serial console in the kernel. In fact we
have not even tried to use it for some time. Please be patient, and we
will work on making it work and giving it a good testing. Such
updates will be announced here and on the usual Linux/Sparc mailing
lists, so it will be hard to miss when it happens. 8-)

You might want to ask why do I need Linux on my Ultra? - here
is a couple of reasons why you shouldn't miss this:

It is free (you have full source code for kernel and most of the
userland programs (with the exception of commercial binary only

It is fast (it tries to get most of the wonderful features of the
SPARC v9 and the UltraSPARC chip - the speed increase from
running the same program on Solaris 2.5.1 may be really big - see
following lmbench numbers

It is 64bit - no need to limit yourself to 4G of virtual
memory. Also, your programs can make use of full 64bit registers

It has virtual consoles, unlike Solaris, where the console is
nearly unusable and whoever wants to actually do something must
run X Window immediately

It runs nearly all SunOS binaries and some Solaris binaries (more
progress with Solaris binary support will appear soon, especially
now that we have completed most of the Ultra port work, but see
below how you can make this happen faster!)

How fast is it? Well, you are invited to go take a look at some
lmbench numbers we've been collecting during the porting work:


There is still a lot to do! But here is how _you_ can help
to make it happen more quickly.

Free software projects, such as the UltraPenguin port, base
their success mostly upon the help of various individuals on the net.
The more of these people we have for the project, the more successful
it will be and the more quickly progress will be made.

This is why we are asking for people who have spare time to
help us complete our goal of having a more complete UltraPenguin
system. Here is a brief list of projects on which you may be able to
help out:

1) 64-bit userland

Although half or mostly complete, much work still needs to
be done. Jakub and myself will be working hard on adding
shared library support to what we have already. But we
will certainly need people to test compiling many packages
and finding+reporting bugs that they find when doing that.

Some time next week we will put up the current work which
has been completed so far, so people can "play" with it
and perhaps decide if they would like to help us finish it.

2) New platforms

The code necessary to support just about any current SBUS
based Ultra desktop or server has been written. What does
not exist is the minimal code necessary to support Sun's
higher end Enterprise server systems. This work
essentially requires that either Jakub or David get some
kind of direct access to such systems. So if you are in
a position to make this a reality for us, you are highly
encouraged to do so and to contact David and Jakub.

David will be working on SMP support starting next week,
this work should be done quickly because he does have a
dual processor system on his desk now.

As for Ultra/AX PCI based machines, we have someone working
on these systems, but having more of us working on it
cannot hurt and can only make it happen faster. So if you
can donate machine and documentation loaners, please do so!

3) Solaris binary compatibility

Solaris binary compatibility is half way done via the iBCS2
module and some programs work, but a lot of work is still
needed. David, Jakub and Miguel are now really busy with
other hacks, so if you'd like to help with this, we'd be
very thankful.

4) SunOS free ld.so

So that people don't have to buy SunOS just so that they
can run Netscape on their UltraLinux and SparcLinux boxes,
we need someone to write a free ld.so for SunOS shared
binaries. Some work in this area has already been done,
but not much yet.

5) Framebuffer support

We're looking for framebuffer hackers as well, especially
for people who will write support for double buffering
for TurboGX and full support for the Creator and Creator3D
framebuffers in X11R6.3. You might also work on enhancing
existing kernel framebuffer drivers.

Also, Dirk Hohndale of the XFREE86 project has expressed
interest in merging all of our Sun frame buffer support
into the Xfree86 sources. In this way, one unified source
base for X will exist for all Linux platforms. This would
not be very complex work, but would require a bit of
someone's time. If you would like to help organize and
work on this please contact us soon.

6) ATM

Jakub has two sbus ATM cards, one from Cisco and one
SunATM 1.0 and there is a generic support for ATM layer
for Linux already, but really has no time to play with the
cards without single line of documentation, so if you could
get us some documentation on these monsters and/or write
the support yourself, you'd help a lot.

7) GCC

There is still a lot of work in making GCC produce more
optimized code for the UltraSPARC. Also, David started
a project for new sparc support in gcc, so that one
single compiler will be able to produce 32bit sparc code,
32bit code enhanced by the v9 instructions and full
64bit v9 and v9a code. You can help with this as well,
just ask...

CREDITS and Thank You's

Although Jakub and David have done the majority if not all of
the 64-bit port of the kernel, others have helped in substantial ways
and we'd like to make mention of them here:

Thanks for Linus "Pinhead" Torvalds for constructing an
operating system worth porting to such nice hardware in
the first place.

Thanks to John Gilmore, the CAIP Research Center at Rutgers
University, and Charles University in Prague for providing
us with the hardware on which to perform the port. Without
these donations absolutely nothing would have happened and
UltraPenguin-1.0 would have been a dream at best.

Thanks to David Sitsky for the initial 32-bit Ultra port,
this work proved that such a port was possible at all and
provided the basis for some of the things we did in the
64-bit kernel.

Doug Evans and the rest of the GCC development team for a
true 64-bit Sparc/V9 port of the compiler and utilities
so that we could have the tools necessary to actually develop

Richard Henderson for doing all of the GNU libc porting work
and testing so far for the sparc64 platform. Jakub and David
would have much more work to do here had Richard not done what
he has thus far. His contribution is immeasurable.

Thanks to Larry McVoy, for writing the LMBENCH benchmark
suite, so that we could perform our initial performnce work
on the UltraLinux kernel.

Since the sparc64 kernel is using many of the existing drivers
from the sparc32 and also other parts of the code from that
code, the other Linux/Sparc hackers must be mentioned. This
includes the following people: Miguel De Icaza, Eddie
C. Dost, Derrick J. Brashear, Thomas K. Dyas, Manish
Vachharajani, and others too numerous to mention.

Extra special thanks to RedHat Software for providing the
32-bit Sparc release which we could base the UltraPenguin-1.0
distribution on. This has saved us an enormous amount of

Non-Thank You's

We initially considered listing here the people and
organizations who over time, and still today, give us a hard
time. However, we decided that this is bad manners for such
a festive announcement.

These assholes know who they are anyways... 8-)

The UltraLinux team:

David S. Miller (davem@caip.rutgers.edu)
Jakub Jelinek (jj@sunsite.mff.cuni.cz)