Linux/Alpha Progress Report(2 of 2)
Jerry Feldman, ZKO3-3/Y25, DTN:381-2970
gaf at zk3.dec.com
Mon Nov 14 17:13:53 EST 1994
Linux/Alpha Progress Report
Part 2 - Current Status
November 14, 1994
Jim Paradis
Alpha Migration Tools Group
Digital Equipment Corporation
NEW EMAIL ADDRESS: paradis at 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:
paradis at 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-axp at 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-request at 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.
+-------------------------------------------------------------+
Jerry Feldman Unix Systems - Development Engineering
Mailstop: ZKO3-3/Y25 DTN:381-2970
Digital Equipment Corp. EXT:(603)881-2970
110 Spitbrook Rd. ip(DEC): gaf at zk3.dec.com
Nashua, NH 03062-9987 enet: QUARRY::GAF
Internet(HOME):gaf at palantir.newton.ma.us
+-------------------------------------------------------------+
More information about the Discuss
mailing list