Linux-Development-Sys Digest #29, Volume #7 Sat, 7 Aug 99 13:13:59 EDT
Contents:
My first linux program: non-bios boot loader (Neil Koozer)
Re: RW ATAPI CDROM how to use (Keith Wright)
Re: Optimize Linux for AMD K6-2/3 (David Schwartz)
Re: How to compile C++ in Linux? (David Schwartz)
Re: GCC byte alignment flag for structures (Torbjorn Tallroth)
Linux assembly, etc (JC)
Re: RW ATAPI CDROM how to use (Robin Becker)
Re: does egcs 1.1.2 produce stable kernels? (Robin Becker)
Re: How many thread can I use with Linux (Robert Krawitz)
Re: Linux assembly, etc (Ulrich Weigand)
Re: SUSE 6.1 Permission differences between running a program from rc.d versus root
(Steve Houseman)
Re: My first linux program: non-bios boot loader ("Charles Sullivan")
Re: Device driver programming and C++ (Sebastien Tanguy)
Re: Linux assembly, etc (Kaz Kylheku)
limit ofo processes (Sven Heursch)
Looking for a good utility... (Mason)
----------------------------------------------------------------------------
From: Neil Koozer <[EMAIL PROTECTED]>
Subject: My first linux program: non-bios boot loader
Date: Fri, 06 Aug 1999 23:52:04 +0000
Use of the bios for boot loaders has been a constant thorn because it
detracts from the image of linux when many new users get the "LI" or "L
01 01...." problem with lilo. For a long time I thought it would be
feasable to do a non-bios loader for IDE drives. The IDE interface is
easier to call than the bios. I finally discovered the NASM assembler,
and it was love at first byte. So I cut loose with some coding.
To cut to the chase, I just wrote a boot loader for ext2 file system and
IDE drives which does not touch the bios. So far I've used it on 2.0
and 2.2 kernels and with zImage and bzImage styles.
Characteristics:
(1) CMOS setings are irrelevant. Changing them all over the place does
not affect the loader.
(2) All IDE drives that have i/o ports, i.e. hda thru hdh can be booted
equally well. (my computers only go up to hdd, but maybe sombody with
hdg, etc can check this.
(3) No cylindar limit. It can boot linux from anyplace up to 128gb (I
don't have any drives over 8gb, so maybe somebody can check this, too.
(4) It doesn't have a second stage loader. All loading is handled by
the code in the boot sector. A utility is used to insert the inode
number and some other parameters into the boot loader.
(5) Since it does not use the bios, the diagnostics are in the form of
a colored progress bar. One color character is poked into the video
memory for each block that is loaded. It uses different colors for the
inode block, pointer blocks, setup code blocks, and kernel blocks. If
it should freeze you can see exactly how many of which types of blocks
have been loaded.
(6) It doesn't pass command lines to the kernel. It is equivalent to
the floppy boot loader in this respect.
(7) It uses GPL liscence.
Typical Usage:
./nuni /vmlinuz /dev/hda #Oh yah, it's name is nuni.
This command is for the utility that installs the loader. Instead of
using a .conf file, you would put this command into a script to guard
against typos. The loader portion is assembled with the NASM assembler.
Availability:
I don't have a web page, so until I find out how to post it, I can email
it to those who want to check it out. The tar file is 5kb.
Neil
------------------------------
From: Keith Wright <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.misc
Subject: Re: RW ATAPI CDROM how to use
Date: 03 Aug 1999 16:25:31 -0400
Robin Becker <[EMAIL PROTECTED]> writes:
> I'm running a home brew linux based on 2.0.36. I can read my memorex
> crw22 atapi cdrom, but don't know how(or tools) to use it for writing
> cds.
ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/
I am not sure this supports your CD drive, it is meant for SCSI CDs,
but includes some kludge that makes ATAPI look like SCSI for some
purposes. If it doesn't work you may be SOL, because it's all
there is as far as I know. Also look for the CD-Writing-HOWTO.
You must build this from source, even if you have RedHat already.
RH does not include a package for it. Do they use MicroSoft
software to record their CD's, or are they trying to keep
competition down by not packaging the software they use?
--
-- Keith Wright <[EMAIL PROTECTED]>
Programmer in Chief, Free Computer Shop <http://www.free-comp-shop.com>
--- Food, Shelter, Source code. ---
------------------------------
From: David Schwartz <[EMAIL PROTECTED]>
Subject: Re: Optimize Linux for AMD K6-2/3
Date: Sat, 07 Aug 1999 02:06:20 -0700
Get gcc-2.95 and use '-march=k6 -O3'
DS
mkloer wrote:
>
> Hi! Can I optimize/compile Applikations especially for the AMD K6-2/3?
> Can I optimize the Kernel too? Thanks
> --
> Posted via Talkway - http://www.talkway.com
> Exchange ideas on practically anything (tm).
------------------------------
From: David Schwartz <[EMAIL PROTECTED]>
Subject: Re: How to compile C++ in Linux?
Date: Sat, 07 Aug 1999 02:10:19 -0700
"David T. Blake" wrote:
>
> Ryan Michaels <[EMAIL PROTECTED]> wrote:
>
> >I'm fairly new to Linux development.. most of the time I just use Perl. Is
> >making a C/C++ program in Linux similar to that of Windows (DOS) where you
> >write the program in a file, then compile it, or does Linux interpret it
> >like Perl?
>
> What makes you think PERL in linux is interpreted ??
It _is_ intepreted. It is compiled at the beginning of execution, and
then compiled code is interpreted until the program terminates.
DS
------------------------------
Crossposted-To: comp.os.linux.development.apps
Date: Sat, 7 Aug 1999 13:34:54 +0200
From: Torbjorn Tallroth <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
Subject: Re: GCC byte alignment flag for structures
On Fri, 6 Aug 1999, Matthew Carl Schumaker wrote:
> I wish I could except that we have about a dozen apps using this structure
> distributed to about 600 clients (this problem is server side obviously)
> recompiling all the apps and distributing them is an absolute last resort
> On Fri, 6 Aug 1999, Torbjorn Tallroth wrote:
> > On Fri, 6 Aug 1999, Matthew Carl Schumaker wrote:
> > > I'm haveing abit of a problem passing a data structure from a Linux
> > > machine to an NT machine, it turns out that the NT machine compiles the
> > > structure using 8 byte alignment while the Linux is using (2/4 ?) I've
> > > found a couple flags for gcc but they don't seem to change the structure
> > > size, Anybody know of the flag for this for gcc?
> > Change the NT machine to use 32 bit alignment instead.
Sorry, I missed what you wrote. I thought it was 8 *bits* rather than
bytes. My fault.
--
tth
------------------------------
From: JC <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.development.apps,comp.os.linux.misc
Subject: Linux assembly, etc
Date: Sat, 07 Aug 1999 12:30:39 GMT
Hello,
(This is probably for those ex-DOS assembly language programmers.)
I've been writing programs in linux and I've been wanting to
port many of DOS programs, mainly graphics-based.
In DOS, you use OS calls extensively, for example, in printing
a character....
.
.
.
mov ah,02
mov dl,'J'
int 21h ;DOS call to print 'J' using function 2 in ah register
int 20h ;DOS call to exit the program
.
the equivalent in linux would probably be:
asm ("movb $2, %ah");
asm ("movb $9, %dl");
asm ("int $0x21");
asm ("int $0x20");
(in inline assembly, which I intend to use)
I know that these calls are totally useless in linux and I was
wondering if these calls have equivalents in linux. I'm not just
talking about those two calls, I'm talking about OS calls in general.
Where can I find them? Also, where can I find a decent assembly
language tutorial for linux?
I also know that many of you would discourage me from using bios calls
like int 10h but I do need to access certain bios calls. Any workarounds?
I need to access mode 'X' you see. (Game developers would know this.)
Is the svgalib up to the task so I don't need to resort to assembly?
Please help me.
JC [EMAIL PROTECTED]
(I would like to thank from the bottom of my heart those who have
been faithfully helping me in this new world. I'm so sorry I cannot
reply to all of you good people individually,
since so many have responded so far.
When I'm as good as you guys, I promise to help the next generation
of Linux programmers. Thank you.)
================== Posted via CNET Linux Help ==================
http://www.searchlinux.com
------------------------------
From: Robin Becker <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.misc
Subject: Re: RW ATAPI CDROM how to use
Date: Sat, 7 Aug 1999 13:34:37 +0100
In article <[EMAIL PROTECTED]>, Aaron Ginn
<[EMAIL PROTECTED]> writes
>Keith Wright <[EMAIL PROTECTED]> writes:
>
>> Robin Becker <[EMAIL PROTECTED]> writes:
>>
>> > I'm running a home brew linux based on 2.0.36. I can read my memorex
>> > crw22 atapi cdrom, but don't know how(or tools) to use it for writing
>> > cds.
>>
>> ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/
>>
>> I am not sure this supports your CD drive, it is meant for SCSI CDs,
>> but includes some kludge that makes ATAPI look like SCSI for some
>> purposes. If it doesn't work you may be SOL, because it's all
>> there is as far as I know. Also look for the CD-Writing-HOWTO.
>>
>> You must build this from source, even if you have RedHat already.
>> RH does not include a package for it. Do they use MicroSoft
>
>
>FYI, you can rpms for cdrecord (and just about anything else) at the
>following URL
>
> http://rufus.w3.org/linux/RPM
>
>Aaron
thanks. I got the CDRW ATAPI going with my old homebrew and eventually
burned a CD with most (if not all of my stuff). Bridges are now burned
and the RH 6.0 is installed. It crashed during the X11 configuration
and twice since so I'm a bit unhappy with RH. I see large numbers of
rpms in the errata section at www.redhat.com; is there any way to tell
what bugs features etc these are intended to replace?
And as for the image testing; in the end I made an ext2 loopback file
system and shoved everything into that.
--
Robin Becker
------------------------------
From: Robin Becker <[EMAIL PROTECTED]>
Subject: Re: does egcs 1.1.2 produce stable kernels?
Date: Sat, 7 Aug 1999 13:40:55 +0100
In article <[EMAIL PROTECTED]>, Juergen
Heinzl <[EMAIL PROTECTED]> writes
>In article <[EMAIL PROTECTED]>, Klamer Schutte wrote:
>>Erik de Castro Lopo wrote:
>>>
>>> Arnoud de Geus wrote:
>>> >
>>> > Hello
>>> >
>>> > Does the egcs 1.1.2 compiler produce stable
>>> > kernels? Just recently, there were problems
>>> > using egcs for kernel build.
>>>
>>> Only use EGCS for 2.2.0 and later kernels. The problems
>>> with using EGCS were specific to earlier kernels.
>>
>>Is this also true for newer egcs (like gcc 2.95?) I found the wordings
>>in the announcement (and the FAQ) quite scary -- esp. the aliasing part.
>>I must say, it was more scary then understandeble because:
>>- I do not have exact understanding of the ANSI C standard
>>- I do not have exact knowledge of Linux kernel internals
>>and the wording made these thing seemingly necessary.
>>
>>Any inputs from experts is appreciated. I now use kernel 2.2.9
>
>Yes, looks like the latest XFree release requires that too. Let
>me say it this way ... gcc-2.95 is still hot and crispy ... never
>trust a compiler that is still hot and crispy 8)
>
>I've got gcc-2.7.2.3 installed just for the kernel, nothing else,
>better safe than sorry. That it runs does not mean all is fine and
>until there is a sort of an offical okay I will leave it at that for
>now. Statements of the "it works for me" kind are pretty worthless
>as 5 minutes later the same one might be busy digging for the
>backup tape.
>
>Take care,
>Juergen
>
Juergen is there an rpm for gcc-2.7.2.3 for RH 6.0? I don't mind
installing by hand, but if there's an easier way I would like to do
that.
Also is there any expertise on patching RH kernels with the standard
patches. My quick check on 2.2.5 using diff reveals a lot of changes.
--
Robin Becker
------------------------------
From: Robert Krawitz <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.development,comp.os.linux.development.apps
Subject: Re: How many thread can I use with Linux
Date: 07 Aug 1999 08:49:11 -0400
[EMAIL PROTECTED] (Kaz Kylheku) writes:
> On Sat, 7 Aug 1999 08:37:49 +0900, Junedong Kim <[EMAIL PROTECTED]> wrote:
> >Hello, I wonder how many thread could run on kernel 2.2 simultaneously
> >In my Linux box, with kernel 2.0x,
> >
> >I saw /usr/include/loca_lim.h,
> >it said max num od thread in a process 64 and
> >max implementation 1024,
> >
> >I think it so hard! did I refer right info?
> >if so, How can I increase the max num of implemented thread
> >pleaz, tell me real fact about that.
>
> You should be looking to find out how to minimize your application's
> use of threads, rather than how to increase the system limits. If
> you need to create as many, or more threads, as a regular Linux
> kernel setup allows you, you are doing something wrong. Maybe you
> don't have a lot of experience designing threaded applications, so
> you think that every object (or client, or cell in a matrix, or what
> have you) needs its own thread. It seems that every programmer who
> learns about threads wants to do things this way. A few threads are
> better than just one, so a huge number of threads must awesome!
It's possible that this is the case, but the original poster may have
valid reasons for wanting more threads (or processes, or what have you).
--
Robert Krawitz <[EMAIL PROTECTED]> http://www.tiac.net/users/rlk/
Tall Clubs International -- http://www.tall.org/ or 1-888-IM-TALL-2
Member of the League for Programming Freedom -- mail [EMAIL PROTECTED]
"Linux doesn't dictate how I work, I dictate how Linux works."
--Eric Crampton
------------------------------
From: [EMAIL PROTECTED] (Ulrich Weigand)
Crossposted-To: comp.os.linux.development.apps,comp.os.linux.misc
Subject: Re: Linux assembly, etc
Date: 7 Aug 1999 16:21:31 +0200
JC <[EMAIL PROTECTED]> writes:
>I've been writing programs in linux and I've been wanting to
>port many of DOS programs, mainly graphics-based.
[snip]
>I also know that many of you would discourage me from using bios calls
>like int 10h but I do need to access certain bios calls. Any workarounds?
>I need to access mode 'X' you see. (Game developers would know this.)
>Is the svgalib up to the task so I don't need to resort to assembly?
Sorry, but you'll have to rewrite those parts of your DOS programs.
The DOS and BIOS interrupts are simply not available under Linux.
For DOS that should be obvious: DOS isn't even running ;-) But even
the BIOS interrupts cannot be used, because these are designed to
be called while in *real* mode. Under Linux, every program runs in
protected mode, so you cannot call via a real-mode interrupt vector ...
This means you'll have to use the methods available under Linux to
perform tasks such as mode-switching. If you want to display graphics
on the console, you'll have to use the appropriate svgalib facility
(sorry, I'm not familiar with svgalib, so I can't say exactly how
this works ...). You might also try to use GGI, which is a graphics
library that works both on top of svgalib and under X (amongst other
targets).
--
Ulrich Weigand,
IMMD 1, Universitaet Erlangen-Nuernberg,
Martensstr. 3, D-91058 Erlangen, Phone: +49 9131 85-7688
------------------------------
From: [EMAIL PROTECTED] (Steve Houseman)
Crossposted-To: comp.os.linux.development.apps,comp.os.linux.misc
Subject: Re: SUSE 6.1 Permission differences between running a program from rc.d
versus root
Date: Fri, 6 Aug 1999 19:39:57 +0100
Michael Samson <[EMAIL PROTECTED]> wrote ....
> I am having a cu /dev/modem "/var/lock/tmpfile" access problem when my
> program runs during startup (from the rc2.d).
Dont know the answer but just a couple of thoughts ...
- is the /var/lock file system mounted when running the cu cmd?
- if so then instead of directly running it use a script to log
debug output to a tmp file say /tmp/cujunk eg
#!/bin/bash
id >> /tmp/cujunk
echo "........" >> /tmp/cujunk # seperator
ls -ald /var/lock/tmpfile >> /tmp/cujunk
env >> /tmp/cujunk
rm /var/lock/tmpfile
echo "file removed etc......" >> /tmp/cujunk
ls -ald /var/lock/tmpfile >> /tmp/cujunk
(beware my script writing is a little lacking)
put in owt else that might be useful and
and then examine this after the boot.
If this doesnt show owt then maybe replace the debug script idea
with a debug strace on the cu cmd
with the output to a temp file ... may show something (and might not).
A problem that appears occasionally , is the lack of PATH with
chron jobs, so maybe something is lacking in the env during the
boot that cu needs ?
Hope you fix it soon,
Cheers,
Steve Houseman
--
currently steve.houseman at virgin net
------------------------------
From: "Charles Sullivan" <[EMAIL PROTECTED]>
Subject: Re: My first linux program: non-bios boot loader
Date: Sat, 7 Aug 1999 11:11:05 -0400
Sounds like a great idea. I assume it is consistant with
having other operating systems on the system.
Neil Koozer wrote in message <[EMAIL PROTECTED]>...
>Use of the bios for boot loaders has been a constant thorn because it
>detracts from the image of linux when many new users get the "LI" or "L
>01 01...." problem with lilo. For a long time I thought it would be
>feasable to do a non-bios loader for IDE drives. The IDE interface is
>easier to call than the bios. I finally discovered the NASM assembler,
>and it was love at first byte. So I cut loose with some coding.
>
>To cut to the chase, I just wrote a boot loader for ext2 file system and
>IDE drives which does not touch the bios. So far I've used it on 2.0
>and 2.2 kernels and with zImage and bzImage styles.
>
>Characteristics:
>(1) CMOS setings are irrelevant. Changing them all over the place does
>not affect the loader.
>(2) All IDE drives that have i/o ports, i.e. hda thru hdh can be booted
>equally well. (my computers only go up to hdd, but maybe sombody with
>hdg, etc can check this.
>(3) No cylindar limit. It can boot linux from anyplace up to 128gb (I
>don't have any drives over 8gb, so maybe somebody can check this, too.
>(4) It doesn't have a second stage loader. All loading is handled by
>the code in the boot sector. A utility is used to insert the inode
>number and some other parameters into the boot loader.
>(5) Since it does not use the bios, the diagnostics are in the form of
>a colored progress bar. One color character is poked into the video
>memory for each block that is loaded. It uses different colors for the
>inode block, pointer blocks, setup code blocks, and kernel blocks. If
>it should freeze you can see exactly how many of which types of blocks
>have been loaded.
>(6) It doesn't pass command lines to the kernel. It is equivalent to
>the floppy boot loader in this respect.
>(7) It uses GPL liscence.
>
>Typical Usage:
>./nuni /vmlinuz /dev/hda #Oh yah, it's name is nuni.
>This command is for the utility that installs the loader. Instead of
>using a .conf file, you would put this command into a script to guard
>against typos. The loader portion is assembled with the NASM assembler.
>
>Availability:
>I don't have a web page, so until I find out how to post it, I can email
>it to those who want to check it out. The tar file is 5kb.
>
>Neil
>
>
------------------------------
From: Sebastien Tanguy <[EMAIL PROTECTED]>
Subject: Re: Device driver programming and C++
Date: 07 Aug 1999 17:36:57 +0200
>>>>> "AF" == Andrey Fisunenko <[EMAIL PROTECTED]> writes:
[...]
AF> g++ RTTI cannt be disabled by command line keys (may be I am
AF> wrong, at least I cant find in man) like it can be made in BC++,
AF> VC++, Watcom C++.
-fno-rtti
Disable generation of the information used by C++ runtime type
identification features
greetings,
seb.
--
"... say... Livin' on a train track..."
``This god is a geek who wears socks with his sandals. His name is
Linus Torvalds.'' (From 'Time')
------------------------------
From: [EMAIL PROTECTED] (Kaz Kylheku)
Crossposted-To: comp.os.linux.development.apps,comp.os.linux.misc
Subject: Re: Linux assembly, etc
Date: Sat, 07 Aug 1999 16:06:06 GMT
On Sat, 07 Aug 1999 12:30:39 GMT, JC <[EMAIL PROTECTED]> wrote:
>Hello,
>(This is probably for those ex-DOS assembly language programmers.)
Please fix your news posting software so that it does not add carriage
return characters to the ends of you lines.
>I've been writing programs in linux and I've been wanting to
>port many of DOS programs, mainly graphics-based.
>In DOS, you use OS calls extensively, for example, in printing
>a character....
>.
>.
>.
>mov ah,02
>mov dl,'J'
>int 21h ;DOS call to print 'J' using function 2 in ah register
>int 20h ;DOS call to exit the program
This isn't really assembly language. It's assembly language linkage
to an operating-system specific system call. Whereas it's certainly
possible in Linux (at least on i386) platforms to manipulate the
contents of the AH and DL registers, the DOS-specific ``int 21h''
extension isn't available.
The Linux system calls are routed through int $0x80. The EAX register holds the
system call number, and then EBX, ECX, and EDX, ESI and EDI are used for
additional arguments. Or so I remember.
Have a look at /usr/include/syscall-list.h for the system call numbers that go
into EAX. The meaning of the other arguments depends on the system call. For
example, in read() system call, EBX has the file descriptor number, ECX has
the pointer to the buffer and EDX carries the size. The result is returned
in the EAX register. It's either a negated errno code, like -EBADF,
or a non-negative number indicating how many characters were read.
>the equivalent in linux would probably be:
> asm ("movb $2, %ah");
> asm ("movb $9, %dl");
> asm ("int $0x21");
> asm ("int $0x20");
>(in inline assembly, which I intend to use)
That is merely a transliteration. To obtain a true equivalent, you
must translate the *meaning*.
In Linux, there is nothing so silly as a separate single-character output
function. Processes are supposed to buffer their output as much as possible and
try to make fewer system calls which transfer a lot of data at once. To print
a single character, you have to send buffer of length 1 to the write() system
call. You load the code for write() into EAX, the output file
descriptor into EBX, a pointer to the buffer containing the letter "J"
into ECX and the value 1 into EDX. The exit system call takes a single
parameter: the exit status in EBX.
You could link your assembly language program to libc, in which case you
could call the function write() if you took care to obey its calling
conventions. Push the parameters in reverse order and then clean
up the stack yourself.
Or you could load the registers and invoke the system call through
int $0x80 directly.
Here is the program:
.text
.globl _start
_start:
movl $4, %eax
movl $1, %ebx
movl $letter, %ecx
movl $2, %edx
int $0x80
movl $1, %eax
movl $0, %ebx
int $0x80
.data
letter:
.ascii "J\n"
Save it as "j.asm", assemble with "as j.asm -o j.o". Then link
with "ld j.o -o j". You should then be able to run "./j" which
should produce the letter J. I made it output two characters,
so that the J doesn't appear juxtaposed to your shell prompt.
>I know that these calls are totally useless in linux and I was
>wondering if these calls have equivalents in linux. I'm not just
>talking about those two calls, I'm talking about OS calls in general.
>Where can I find them?
The best way is to learn the system calls in C. They are documented in man
pages. You can also look at the kernel sources. It's easy to determine the
assembly level calling convention from the C syntax for a given system call.
(Not all library functions are system calls, of course, and not all system
calls have corresponding library functions.)
I don't see why you would want to do this. Assembly language gives you next to
no increase in efficiency if what you are doing is calling the operating
system. Assembly language is best for speeding up tight loops which don't
interact with the operating system.
Your assembly language programs will not work for people who run Linux
on their PPC's, Alpha's, SPARCs or what have you.
------------------------------
Date: Sat, 07 Aug 1999 18:30:05 +0200
From: Sven Heursch <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
Crossposted-To: linux.dev.kernel
Subject: limit ofo processes
Hello,
in linux kernel the limits of processes on a i386 machine is defined as
999. I need more! How can I make the kernel accept that wish?
(Or: How can I destroy a Zombie process?)
TIA
S. Heursch
------------------------------
From: Mason <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
Subject: Looking for a good utility...
Date: Sat, 07 Aug 1999 12:01:26 -0500
Can anybody point me in the direction of a good "OS spelunking" type
utility that run's under linux? I'm looking for something like MS-DOS's
old "debug". Thanks.
-Mason
--
If guns are outlawed, how will we shoot the liberals?
[EMAIL PROTECTED]
------------------------------
** FOR YOUR REFERENCE **
The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:
Internet: [EMAIL PROTECTED]
You can send mail to the entire list (and comp.os.linux.development.system) via:
Internet: [EMAIL PROTECTED]
Linux may be obtained via one of these FTP sites:
ftp.funet.fi pub/Linux
tsx-11.mit.edu pub/linux
sunsite.unc.edu pub/Linux
End of Linux-Development-System Digest
******************************