Newsgroups: comp.os.linux.announce
Path: bga.com!news.sprintlink.net!uunet!MathWorks.Com!news.kei.com!travelers.mail.cornell.edu!cornell!bounce-bounce
From: para...@sousa.amt.ako.dec.com (Jim Paradis)
Subject: Linux/AXP Progress Report
Message-ID: <ann-15996.779393888@cs.cornell.edu>
Followup-To: comp.os.linux.misc
Keywords: AXP, DEC ALPHA kernel port
Sender: m...@cs.cornell.edu (Matt Welsh)
Reply-To: para...@sousa.amt.ako.dec.com (Jim Paradis)
Organization: Digital Equipment Corporation, Acton MA
Date: Mon, 12 Sep 1994 18:18:28 GMT
Approved: linux-annou...@tc.cornell.edu (Matt Welsh)
Lines: 165

[]
                      Linux/AXP Progress Report
			  September 9, 1994

			     Jim Paradis
		     Alpha Migration Tools Group
		    Digital Equipment Corporation


                  Introduction - What Is Linux/AXP?

The Linux FAQ (Frequently-Asked-Questions) list describes Linux as
follows:

     Linux is a Unix clone for 386/486-based PCs, written from scratch
     by Linus Torvalds, with assistance from a loosely-knit team of
     hackers across the Net.  It aims towards POSIX compliance.

     It has all the features you would expect in a modern
     fully-fledged Unix, including true multitasking, virtual memory,
     shared libraries, demand loading, shared copy-on-write
     executables, proper memory management and TCP/IP networking.

     It uses the hardware features of the 386 processor family (TSS
     segments et al) to implement these features.

     It is distributed under the GNU General Public License

Although the distributed Linux kernel depends heavily on the x86
processor architecture, it is feasible to port it to other
architectures.  Indeed, ports are currently in progress to the Alpha
AXP, 680x0, PowerPC, MIPS, and possibly other architectures.  Linux/AXP
is my port of the Linux operating system to the Digital Alpha AXP
architecture.


                        Overview of Linux/AXP

Linux/AXP is a port of Linux to the Digital Alpha AXP RISC
microprocessor.  It is based on the Linux V1.0 kernel.  Linux V1.0 was
current when I started the project.  To limit the number of variables,
I decided to stick with a single version while developing the
AXP-specific pieces.  Although the Linux V1.0 kernel provides more than
enough functionality for our current needs, we might investigate
subsequently leapfrogging to the most-current stable kernel when
Linux/AXP is stable.

Linux/AXP is a 32-bit operating system.  Except for those cases where
the kernel must interface with the Alpha AXP hardware, no kernel data
type is wider than 32 bits.  As far as C programmers are concerned, so
pointers and longs are 32 bits.  The decision to remain with 32-bit
data types was based on our group's experience with migrating legacy
software to a 64-bit environment.  By not changing the size of any data
types, those parts of Linux that are unaffected by the port (such as
the file system code) should continue to work without modification.
Changing the data type size would require significant code review to
ensure that all data types are used correctly.  Note that 64-bit
quantities are still available for computation through the use of "long
long" and "long double" C data types.  Thus, the only limitation of a
32-bit operating system is the unavailability of 64-bit pointers.  On
PC-class machines, with at most a few tens of megabytes of physical
memory, this should not be a significant restriction for the forseeable
future.

Linux/AXP is primarily targetted at PC-class Alpha AXP platforms that
support ISA, EISA, VLB, and PCI devices.  Support for other devices and
platforms is possible in the future.  Contributions of drivers for
other platforms are always welcome.


                        Current Project Status

I am currently cross-developing the Linux kernel port on a DEC 3000
model 500 AXP that is running DEC OSF/1.  I have also built and tested
all of my development tools on a 486 box running Linux, and everything
seems to work there too.  Naturally, I prefer the Alpha AXP box 8-).

The cross-development environment consists of gcc 2.5.8 with
configuration options for "alpha-linux", as well as gas, gdb, ld, and
GNU binutils.  I modified gdb has been modified so as to allow
source-level debugging of Linux when running on the ISP software
simulator.

ISP is an Alpha AXP CPU software simulator that runs on Ultrix, DEC
OSF/1, Linux, OpenVMS, and Windows NT AXP.  Only the DEC OSF/1 and
Linux versions support remote debugging via gdb.

The development environment also includes a set of utilities for
viewing and manipulating ext2 file systems from user mode.  These are
necessary when creating a bootable file system image for Linux/AXP.

The Linux kernel currently boots, goes through all initializations,
and runs the first user task.  At present, that first user task is a
hand-crafted "hello, world" program in place of /etc/init.  A more
significant program is not available, due to the unavailability of
libc.

Porting libc has been taking place in parallel with kernel development
and porting user and system utilities is taking place now.

Linux/AXP currently boots from a 1.44Mb ext2 floppy or floppy image.
Linux/AXP does not yet have disk drivers.  The bootstrap code reads
the floppy image into a RAM disk area, and the kernel uses the RAM
disk as its root file system.  The bootstrapper takes the RAM disk
size from the file system; the size of the RAM disk is limited only by
available system memory.


                          Future directions

Currently I'm getting a core set of utilities (sh, ls, grep, cat) up
and running, and packaging up a "developer's kit" for those who would
like to contribute to the project.  The developer's kit will consist
of:

      -  Sources for the Linux/AXP kernel

      -  Sources for all cross-development tools (gcc, etc)

      -  Sources for the ISP AXP CPU simulator

      -  Porting notes, build instructions, etc.

The developer's kit will definitely work on DEC OSF/1 systems and
Intel Linux systems.  It will probably run on other UNIX systems as
well, but I cannot guarantee that.

The version of Linux in the developer's kit will probably have only
console-callback device drivers.  Console-callbacks are the Alpha AXP
equivalents of BIOS calls on an Intel system.  They are quite slow
because they run synchronously with interrupts disabled.  As on an
Intel system, using console-callback or BIOS drivers will get you up
and creaking, but an important item on the agenda will be to write
real device drivers that take full advantage of the system and the
Alpha AXP CPU.

The supplied console-callback drivers will only support local disk
and console character I/O.  No networking, graphics, or windowing
support will be available.  Distributed utilities will be minimal and
the kernel itself will be extremely fragile.

The developer's kit will be distributed via anonymous ftp, with the
location to be announced.  If you would like to contribute to the
Linux/AXP project, please send email to para...@amt.ako.dec.com.  I
will maintain a list of who is working on what, to reduce duplication
of effort.

Please note that in order to do useful work in the device-driver
space, you MUST have access to an ISA or EISA-based Alpha AXP system
(such as the DEC 2000 AXP).  Unfortunately, we are not in a position
to lend out development systems at this time, except to Linus of
course 8-).

Questions/comments/requests please to para...@amt.ako.dec.com.


-- 
Jim Paradis (para...@tallis.enet.dec.com)

      The purpose of time is to keep everything from happening at once.  
                               It's not working.

--
Send submissions for comp.os.linux.announce to: linux-annou...@tc.cornell.edu
Be sure to include Keywords: and a short description of your software.

Path: nntp.gmd.de!xlink.net!howland.reston.ans.net!pipex!sunic!news.funet.fi!news.csc.fi!news.helsinki.fi!not-for-mail
From: para...@sousa.amt.tay1.dec.com (Jim Paradis)
Newsgroups: comp.os.linux.announce
Subject: Linux/Alpha Progress Report - Part 1
Followup-To: comp.os.linux.development
Date: 18 Nov 1994 20:12:50 +0200
Organization: Digital Equipment Corporation, Littleton, MA
Lines: 87
Sender: wirze...@cc.Helsinki.FI
Approved: linux-annou...@tc.cornell.edu (Lars Wirzenius)
Message-ID: <3aiqr2$nog@klaava.Helsinki.FI>
NNTP-Posting-Host: klaava.helsinki.fi
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Keywords: Linux, kernel, Alpha, Digital, port, development, progress report

                       Linux/Alpha Progress Report
                           Part 1 - Overview
                           November 14, 1994



                              Jim Paradis
                      Alpha Migration Tools Group
                     Digital Equipment Corporation

             NEW EMAIL ADDRESS:  para...@amt.tay1.dec.com


1.0  INTRODUCTION - WHAT IS LINUX/ALPHA?  

The Linux FAQ (Frequently-Asked-Questions) list describes Linux as
follows:  

     Linux is a Unix clone for 386/486-based PCs, written from scratch
     by Linus Torvalds, with assistance from a loosely-knit team of
     hackers across the Net.  It aims towards POSIX compliance.  

     It has all the features you would expect in a modern
     fully-fledged Unix, including true multitasking, virtual memory,
     shared libraries, demand loading, shared copy-on-write
     executables, proper memory management and TCP/IP networking.  

     It uses the hardware features of the 386 processor family (TSS
     segments et al) to implement these features.  

     It is distributed under the GNU General Public License 

Although the distributed Linux kernel depends heavily on the x86
processor architecture, it is feasible to port it to other
architectures.  Indeed, ports are currently in progress to the Alpha,
680x0, PowerPC, MIPS, and possibly other architectures.
Linux/Alpha  is my port of the Linux operating system to the Digital
Alpha architecture.  


2.0  OVERVIEW OF LINUX/ALPHA  

Linux/Alpha  is a port of Linux to the Digital Alpha RISC
microprocessor.  It is based on the Linux V1.0 kernel.  Linux V1.0 was
current when I started the project.  To limit the number of variables,
I decided to stick with a single version while developing the
Alpha-specific pieces.  Although the Linux V1.0 kernel provides more
than enough functionality for our current needs, we might investigate
subsequently leapfrogging to the most-current stable kernel when
Linux/Alpha  is stable.  

Linux/Alpha is a 32-bit operating system.  Except for those cases where
the kernel must interface with the Alpha hardware, no kernel data
type is wider than 32 bits.  As far as C programmers are concerned
pointers and longs are 32 bits.  The decision to remain with 32-bit
data types was based on our group's experience with migrating legacy
software to a 64-bit environment.  By not changing the size of any
data types, those parts of Linux that are unaffected by the port (such

Linux/Alpha Progress Report                                       Page 2



as the file system code) should continue to work without modification.
Changing the data type size would require significant code review to
ensure that all data types are used correctly.  Note that 64-bit
quantities are still available for computation through the use of
"long long" and "long double" C data types.  Thus, the only limitation
of a 32-bit operating system is the unavailability of 64-bit pointers.
On PC-class machines, with at most a few tens of megabytes of physical
memory, this should not be a significant restriction for the
forseeable future.  

Linux/Alpha is primarily aimed at PC-class Alpha platforms that
support ISA, VLB, and PCI devices.  Support for other devices
and platforms is possible in the future.  Contribution of drivers for
other platforms is always welcome.  

-- 
Jim Paradis (para...@amt.tay1.dec.com)

      The purpose of time is to keep everything from happening at once.  
                               It's not working.

--
Send submissions for comp.os.linux.announce to: linux-annou...@tc.cornell.edu
PLEASE remember Keywords: and a short description of the software.

Path: nntp.gmd.de!xlink.net!howland.reston.ans.net!spool.mu.edu!uwm.edu!lll-winken.llnl.gov!decwrl!pa.dec.com!sousa.tay1.dec.com!sousa.tay1.dec.com!not-for-mail
From: para...@sousa.tay1.dec.com (Jim Paradis)
Newsgroups: comp.os.linux.development,comp.os.linux.misc
Subject: Linux/Alpha Progress Report - Part 2
Date: 14 Nov 1994 14:43:11 -0500
Organization: Digital Equipment Corporation, Littleton MA
Lines: 284
Distribution: world
Message-ID: <3a8ekf$oeq@sousa.tay1.dec.com>
Reply-To: para...@amt.tay1.dec.com
NNTP-Posting-Host: sousa.tay1.dec.com.amt.tay1.dec.com


                      Linux/Alpha Progress Report
                        Part 2 - Current Status
                           November 11, 1994


                              Jim Paradis
                      Alpha Migration Tools Group
                     Digital Equipment Corporation

            NEW EMAIL ADDRESS:  para...@amt.tay1.dec.com


     1.0  SUMMARY OF CHANGES SINCE LAST MONTH:  

           o  Linux/Alpha now boots to shell prompt.  

           o  Linux/Alpha is no longer called Linux/AXP (in keeping
              with current company policy).

           o  New addresses for email contact.

           o  Linux/Alpha now runs off the hard disk -- no RAMdisk
              needed.  

           o  Development problem with floppy disk booting support.

           o  Release of software development kit imminent.  

           o  Call for developers.  



     2.0  PROJECT GOALS AND ENVIRONMENT 

     The current goal of the Linux/Alpha project is to produce a
     software development kit (SDK) that will enable members of the
     Linux community to do kernel, utility, and application
     development for Linux/Alpha.  The first release of the SDK should
     take place by the end of the year, and it will be directed
     primarily at kernel and device driver developers.  

     I am currently cross-developing the Linux kernel port on a DEC
     3000 model 500 that is running DEC OSF/1.  I have also built and
     tested all of my development tools on a 486 box running Linux,
     and everything seems to work.  Naturally, I prefer the Alpha box
     8-).  

     The cross-development environment consists of gcc 2.5.8 with
     configuration options for "alpha-linux", as well as gas, gdb, ld,
     and GNU binutils.  I modified gdb to allow source-level debugging
     of Linux when running on the ISP software simulator.  By the time
     the SDK is released, I hope to have gdb working over a serial
     line to an actual Alpha processor, running Linux.  

     ISP is an Alpha CPU software simulator that runs on Ultrix, DEC
     OSF/1, Linux, OpenVMS, and Windows NT AXP.  Only the DEC OSF/1
     and Linux versions support remote debugging via gdb.  


Linux/Alpha Progress Report                                     Page 2


     The development environment also includes a set of utilities for
     viewing and manipulating ext2 file systems from user mode.  These
     are necessary when creating a bootable file system image for
     Linux/Alpha.  


     3.0  NEW CONTACT ADDRESSES 

     Because of another office move, my email address has changed.  If
     you wish to send me email, use:  

                        para...@amt.tay1.dec.com

     In addition, I have created a mailing list for all who are
     interested in the Linux/Alpha project.  The mailing list address
     for general discussion is:  

                       linux-...@amt.tay1.dec.com

     If you have sent me mail in the past regarding the Linux/Alpha
     project, then you should be on that list.  If you don't receive
     the initial greeting within the next week, or you have any other
     administrative request, send mail to:  

                   linux-axp-requ...@amt.tay1.dec.com


     4.0  FLASH!!  LINUX BOOTS TO SHELL PROMPT!  

     The biggest news since the last report is that the Linux kernel
     now boots to a shell prompt.  Currently "init" is a simple stub
     program that runs the shell.  The shell currently in use is "rc",
     the Plan 9 shell.  I chose this shell because it was the first
     freeware shell I found that compiled cleanly on my somewhat
     cantankerous cross-development environment 8-) 

     Speaking of cross-development...the biggest headache I've had has
     been using configuration scripts.  Many scripts have only a
     limited (or no) concept of cross-development.  Often, one ends up
     with something that's fit neither for the host system nor the
     target system.  I now have an Intel Linux box networked to my
     development system.  I perform the configuration on the Linux
     box, the modify the makefiles to reflect teh cross-development
     environment.  I have managed to port several utility packages
     this way:  

          basename, cat, chgrp, chmod, chown, cp, du, echo, expr, 
          head, ln, ls, mkdir, mv, od, rm, rmdir, tail, touch, tr, wc 

     I hope to port a few more utilities before the SDK is released.  

Linux/Alpha Progress Report                                     Page 3



     5.0  NOW RUNS OFF THE BOOT DISK.  

     Since the last report, there have been some changes in
     bootstrapping and disk handling.  I have added a console-callback
     disk driver so that Linux now runs directly off the boot/root
     disk.  The bootstrapper no longer creates a RAMdisk image of the
     boot/root filesystem.  This means that the root filesystem can
     now be any size.  


     6.0  DEVELOPMENT PROBLEM FOR FLOPPY DISK BOOTING SUPPORT 

     I have discovered a development incompatibility since the last
     report.  Currently, Linux/Alpha development is coupled with a
     particular console firmware that only recognizes SCSI devices and
     does not understand disk partitioning.  The floppy drives on
     typical PC-class Alpha-based systems are not SCSI devices and
     such systems are not designed to be booted off the floppy drive.
     One needs to boot off a separate SCSI device and one needs some
     means of getting the Linux/Alpha bits to that device.  

     How I deal with this incompatibility is determined by the
     particular machine I am using.  My main testbed is a machine that
     also runs DEC OSF/1.  On that machine, I use DEC OSF/1 to copy
     the bits to a scratch disk and then boot Linux/Alpha from that
     disk.  I am also using a prototype machine that contains only
     Linux/Alpha.  To move Linux/Alpha to that machine requires my
     writing the bits to a scratch disk on another system and then
     physically moving that device to the prototype, where it is
     booted.  

     I'll see what I can do about alleviating this situation before
     releasing the SDK, but I can't promise anything.  


     7.0  DEVELOPERS' KIT IN THE WORKS!  

     Now that I've gotten Linux up to a shell prompt, I'm working on
     packaging the developers' kit, ensuring that it works on
     different platforms, and ensuring that it is not TOO painful to
     use 8-).  I'll try to alpha-test the kit on several guinea
     pig....  er, colleagues before turning it loose on the general
     public.  

     I hope to make the kit available on several ftp sites in addition
     to getting it on CD in one way or another...  either by minting
     our own one-off CDs or by piggybacking on some other FTP-archive
     distribution.  

     The developer's kit will consist of:  

           o  Sources for the Linux/Alpha kernel 


Linux/Alpha Progress Report                                     Page 4



           o  Sources for all cross-development tools (gcc, etc) 

           o  Sources for the ISP Alpha CPU simulator 

           o  Sources for whatever else has been ported in the way of
              libraries, utilities, etc.  

           o  Porting notes, build instructions, etc.  

     The developer's kit will definitely work on DEC OSF/1 systems and
     Intel Linux systems.  I will test it on whatever other UNIX
     configurations I can as well (e.g.  Sun), and the final kit
     announcement will specify on which platforms it should wok.  

     The version of Linux in the developer's kit will have only
     console-callback device drivers.  Console-callbacks are the Alpha
     equivalents of BIOS calls on an Intel system.  They are quite
     slow because they run synchronously with interrupts disabled.  As
     on an Intel system, using console-callback or BIOS drivers will
     get you up and creaking, but an important item on the agenda is
     to write real device drivers that take full advantage of the
     system and the Alpha CPU.  

     The supplied console-callback drivers will only support local
     disk and console character I/O.  No networking, graphics, or
     windowing support will be available.  Distributed utilities will
     be minimal and the kernel itself will be extremely fragile.  


     8.0  CALL FOR DEVELOPERS!  

     I would like to continue the spirit of Linux as a community
     effort by inviting all who are interested to participate in the
     develoment of Linux/Alpha.  Now is the time to start thinking
     about what YOU would like to do to help Linux/Alpha become a
     reality.  With the release of the developers' kit, anyone with a
     suitable Alpha-based system will be able to contribute to the
     project (actually, SOME work can be done using the simulator even
     without an Alpha, but it will be very slow going...).  

     At the outset, our greatest needs will be in the areas of device
     drivers and base system utilities.  Please note that in order to
     do useful work in the device-driver space, you MUST have access
     to an Alpha system with the bus(ses) and device(s) for which you
     are writing drivers.  Unfortunately, we are not in a position to
     lend out development systems at this time, except to Linus of
     course 8-).  

     Anyone who is interested in participating should request
     membership in the linux/Alpha mailing list (see above) and let me
     know the particular areas in which you would like to work.  I
     will publish the latest volunteer list periodically on the
     mailing list and on comp.os.linux.development so that we can
     avoid excessive project duplication.  

Linux/Alpha Progress Report                                     Page 5



     9.0  ACKNOWLEDGEMENTS 

     Finally, I would like to publicly thank those who are making this
     project possible.  Tops on the list, of course, is Linus
     Torvalds.  Without him there would be no Linux for us to work on!

     A VERY close second are Maurice Marks and Andy Riebs, my managers
     at Digital Equipment Corporation.  They were among the first to
     recognize the importance of providing a small, cheap,
     high-performance operating system for the Alpha family of
     microprocessors, and to support the Linux/Alpha project as a
     means of providing such an operating system.  They support my
     efforts in numerous ways, and without them I wouldn't be sending
     this to you.  

     Special thanks to Jon "Mad Dog" Hall, from the Digital Unix
     Marketing Group.  He is a strong supporter of Linux in general
     and the Linux/Alpha project in particular.  He provided the
     loaner system to Linus Torvalds.  

     Many thanks to my project ccollaborators (so far...  this list
     will get longer in the future!):  

          Brian Nelson        For volunteering to tear HIS hair out
                              over the porting of libc and utilities,
                              thus preserving my copious locks for
                              other purposes 8-) 

          Steve Morris        For talking me throught the
                              less-documented "gotchas" in the
                              platform firmware, and for helping me
                              scrounge test equipment.  

          Charlie Greenman    For applying the final spit-n-polish to
                              these progress reports and all the other
                              Linux/Alpha documentation.  

     Finally, I'd like to thank YOU, the Linux community, for your
     outpouring of support following my initial announcement of the
     Alpha port.  It is this support, from real live people (and
     potential Alpha customers!  8-) ) that helps convince management
     to continue supporting the Linux/Alpha project.  


-- 
Jim Paradis (para...@amt.tay1.dec.com)

      The purpose of time is to keep everything from happening at once.  
                               It's not working.

			  SCO's Case Against IBM

November 12, 2003 - Jed Boal from Eyewitness News KSL 5 TV provides an
overview on SCO's case against IBM. Darl McBride, SCO's president and CEO,
talks about the lawsuit's impact and attacks. Jason Holt, student and 
Linux user, talks about the benefits of code availability and the merits 
of the SCO vs IBM lawsuit. See SCO vs IBM.

Note: The materials and information included in these Web pages are not to
be used for any other purpose other than private study, research, review
or criticism.