add directory Linux-0.12

This commit is contained in:
gohigh
2024-02-19 00:21:02 -05:00
parent 26e015eb99
commit 059f8848b1
177 changed files with 15195 additions and 0 deletions

View File

@@ -0,0 +1,117 @@
LINUX INFORMATION SHEET
(last updated 13 Jan 1992)
1. WHAT IS LINUX 0.12
LINUX 0.12 is a freely distributable UNIX clone. It implements a
subset of System V and POSIX functionality. LINUX has been written
from scratch, and therefore does not contain any AT&T or MINIX
code--not in the kernel, the compiler, the utilities, or the libraries.
For this reason it can be made available with the complete source code
via anonymous FTP. LINUX runs only on 386/486 AT-bus machines; porting
to non-Intel architectures is likely to be difficult, as the kernel
makes extensive use of 386 memory management and task primitives.
Version 0.12 is still a beta release, but it already provides much
of the functionality of a System V.3 kernel. For example, various
users have been able to port programs such as bison/flex without having
to modify code at all. Another indication of its maturity is that
it is now possible to do LINUX kernel development using LINUX itself
and freely-available programming tools.
2. LINUX features
- System call compatible with a subset of System V and POSIX
- Full multiprogramming (multiple programs can run at once)
- Memory paging with copy-on-write
- Demand loading of executables
- Page sharing of executables
- Virtual memory: swapping to disk when out of RAM
- POSIX job control
- virtual consoles on EGA/VGA screens
- pty's
- some 387-emulation
- ANSI compliant C compiler (gcc)
- A complete set of compiler writing tools
(bison as yacc-replacement, flex as lex replacement)
- The GNU 'Bourne again' shell (bash)
- Micro emacs
- most utilities you need for development
(cat, cp, kermit, ls, make, etc.)
- Over 200 library procedures (atoi, fork, malloc, read, stdio, etc.)
- Currently 4 national keyboards: Finnish/US/German/French
- Full source code (in C) for the OS is freely distributable
- Full source code of the tools can be gotten from many anonymous ftp sites
(Almost the entire suite of GNU programs has been ported to Linux.)
- Runs in protected mode on 386 and above
- Support for extended memory up to 16M on 386 and above
- RS-232 serial line support with terminal emulation, kermit, zmodem, etc.
- Supports the real time clock
3. HARDWARE REQUIRED
- A 386 or 486 machine with an AT-bus. (EISA will probably work, also,
but you will need an AT-bus hard disk controller.)
Both DX and SX processors will work.
- A hard disk implementing the standard AT hard disk interface--
for example, an IDE drive. SCSI drives are not supported yet.
- A high-density disk drive--either 5.25" (1.2MB) or 3.5" (1.44MB).
- At least 2 megabytes of RAM. (LINUX will boot in 2 Mb. To use
gcc 4 MB is a good idea.)
- Any video card of the following: Hercules,CGA,EGA,VGA
In addition, LINUX supports
- Up to two serial lines
- A real time clock
4. PARTIAL LIST OF UTILITIES INCLUDED IN OR AVAILABLE FOR LINUX 0.12
- The MTOOLS package (reading/writing to DOS filesystems)
- The complete GNU filetools (ls, cat, cp, mv, ...)
- The GNU C compiler with GNU assembler, linker, ar, ...
- bison
- flex
- rcs
- pmake (BSD 4.3 Reno/BSD 4.4 make)
- kermit
- Micro emacs
- less
- mkfs
- fsck
- mount/umount
5. LINUX BINARIES
The LINUX binaries and sources are available at three
anonymous FTP sites. These are:
nic.funet.fi:/pub/OS/Linux
tsx-11.mit.edu:/pub/linux
tupac-amaru.informatik.rwth-aachen.de:/pub/msdos/replace
6. LEGAL STATUS OF LINUX
Although LINUX is supplied with the complete source code, it is
copyrighted software. Unlike MINIX, however, it is available for free,
provided you obey to the rules specified in the LINUX copyright.
7. NEWS ABOUT LINUX
Since LINUX's introduction to the public there has been a rapidly
growing mailing list, "linux-activists@niksula.hut.fi". To subscribe to
this list, mail to "linux-activists-request@niksula.hut.fi". If the
traffic in this lists increases further, there are plans to swap ( at
least partially ) over to comp.os.misc, so watch out for any LINUX
articles in this group. For the current status of LINUX, do "finger
torvalds@kruuna.helsinki.fi".
8. FUTURE PLANS
Work is underway on LINUX version 1.0, which will close some of the
gaps in the present implementation. Various people are currently working
on:
- A virtual filesystem layer
- STREAMS
- init/getty/login
- Interprocess communication
- IEEE POSIX P1003.1 / P1003.2 compatibility
- SCSI support
If you want to help, join the mailing list.

178
Linux-0.12/docs/README-0.12 Normal file
View File

@@ -0,0 +1,178 @@
% ~ftp/pub/OS/Linux/README
% arl@hut.fi ed.
% Created: Tue Jul 16 03:36:31 1991
% Last modified: Wed Jan 15 02:15:51 1992
-----------------------------------------------------------------------
Linux -- The free Minix like Un*x clone is here.
-----------------------------------------------------------------------
This file is updated constantly.
NOT to be published ... contains unreleased information.
-----------------------------------------------------------------------
For hackers only Linux version 0.12 code and sources
available here.
nic.funet.fi will also be site for Linux binaries,
Directory structure:
INSTALL contains everything you should
have to get Linux up and running.
bin binaries for /bin, /usr/bin and
/usr/contrib/bin
doc documents and man pages
images boot and root images etc.
kernel kernel and driver sources
lib lib sources
tools tools for hackers, not for common
use
xtra community contributed diffs and
utilities.
incoming you can FTP 'put' your stuff here,
see next section for putting.
Check file 'ls-laR', which contains "ls -laR" listing.
Eh ... for people having question 'but my site doesn't
have FTP' ...
Just mail to 'mailserver@nic.funet.fi' and put
command "help" to mail _body_ (body is the part
where you write your messages/text and is not
related to mail header, which contains lines
like 'To: foobar').
Mailserver is not official .. it's under testing,
to it might work or not, but don't flame me about
it ... I take only 'thanks' mails (nice to get them
for work you didn't do ;-)
-----------------------------------------------------------------------
Putting Linux stuff to nic.funet.fi ...
Please use directory /pub/OS/Linux/incoming
Please use FTP command "binary" for binary i.e.
stuff like *.tar, *.tar.Z, or runable binaries etc.
Our FTP is _hacked_, so you or anybody won't
see the stuff in there, until I enable it. I try
to check directories constantly, but you might
also want to throw me a mail ?-)
-----------------------------------------------------------------------
If you are willing to support Linux development,
please "mail arl@hut.fi" .. and tell what goodies
you are willing to do - I try to organize.
Or you might use mailing list ...
Or you might want to send mail directly to
'torvalds@cs.helsinki.fi'
-----------------------------------------------------------------------
Linux mailing list (is _MANUALLY_ kept) addresses:
For subscribing and unsubscribing:
linux-activists-request@niksula.hut.fi
For mailing real articles:
linux-activists@niksula.hut.fi
Please, do NOT send subscribe/unsubscribe mails to
linus-activist@niksula.hut.fi, or I and other people
will *flame* you, and you'll notice, how your mailbox
filled up ;-). You even might get dozens of copies
of netiquette from net users ...
How to find out, who's on the list ?
Just "telnet joker.cs.hut.fi 25" ('25' or 'smtp')
tell our smtp, you want to "vrfy linux-activists", then
you have the list of users. Say "quit" to quit.
-----------------------------------------------------------------------
current status can be asked with "finger torvalds@kruuna.helsinki.fi"
here's sample entry:
Free UNIX for the 386 - coming 4QR 91 or 1QR 92.
Most system calls are now implemented (including mount/umount), and they
are almost POSIX, so porting programs to it is relatively easy. The
official version has still no floppy support, but that will be out next
week (and there is a update already, though not official). It still
needs minix to be installed (stand-alone boot-floppy coming this month).
Linux can now be gotten by anonymous ftp from 'nic.funet.fi' in the
directory '/pub/OS/Linux'. The same directory also contains some binary
files to run under Linux. Currently gcc, bash, update, uemacs, tar,
make and fileutils. Several people with minix have gotten a running
system, but it's still a hackers kernel.
There is also a mailing list set up 'Linux-activists@niksula.hut.fi'.
To join, mail a request to 'Linux-activists-request@niksula.hut.fi'.
Mail for more info.
Linus (torvalds@kruuna.helsinki.FI)
-----------------------------------------------------------------------
At HUT (Helsinki University of Technology) I try to
use students for programming work to make Linux better.
So could you, if you are teacher. Linux might be
even more suitable for teaching purposes than Minix.
My experiencies with Minix are not promising, I got about
1/3 of given projects back i.e. 2/3 were unfinished.
Projects were like 'create symlinks to Minix' or
'do a device driver for XX adapter'.
-----------------------------------------------------------------------
Some of the features I'd like to have (maybe I'll also
code them):
o adding some features from my own OS.
- STREAMS I/O, now only subset
- Kernel development environment
Should be like configuring
BSD kernel.
o Socket stuff from BSD.
o BSD net stuff or Xkernel.
o Mach. I try to check what's usable in Mach.
I took keyboard stuff from Mach
to my own OS, but floppy stuff
was too complicated (spaghetti-code),
so I coded it again.
Maybe some parts of kernel is also usable.
o Portability
o Modularity
Like device drivers should have
multiple levels; high/medium for
abstraction and low level for
specific card/chip support.
-----------------------------------------------------------------------
More info from:
torvalds@kruuna.helsinki.fi
arl

View File

@@ -0,0 +1,191 @@
RELEASE NOTES FOR LINUX v0.12
This is file mostly contains info on changed features of Linux, and
using old versions as a help-reference might be a good idea.
COPYRIGHT
The Linux copyright will change: I've had a couple of requests to make
it compatible with the GNU copyleft, removing the "you may not
distribute it for money" condition. I agree. I propose that the
copyright be changed so that it confirms to GNU - pending approval of
the persons who have helped write code. I assume this is going to be no
problem for anybody: If you have grievances ("I wrote that code assuming
the copyright would stay the same") mail me. Otherwise The GNU copyleft
takes effect as of the first of February. If you do not know the gist
of the GNU copyright - read it.
INSTALLATION
This is a SHORT install-note. The installation is very similar to 0.11,
so read that (INSTALL-0.11) too. There are a couple of programs you will
need to install linux: something that writes disk images (rawrite.exe or
NU or...) and something that can create harddisk partitions (fdisk under
xenix or older versions of dos, edpart.exe or something like that).
NOTE! Repartitioning your harddisk will destroy all data on it (well,
not exactly, but if you know enough to get back the data you probably
didn't need this warning). So be careful.
READ THIS THROUGH, THEN READ INSTALL-0.11, AND IF YOU ARE SURE YOU KNOW
WHAT YOU ARE DOING, CONTINUE. OTHERWISE, PANIC. OR WRITE ME FOR
EXPLANATIONS. OR DO ANYTHING BUT INSTALL LINUX - IT'S VERY SIMPLE, BUT
IF YOU DON'T KNOW WHAT YOU ARE DOING YOU'LL PROBABLY BE SORRY. I'D
RATHER ANSWER A FEW UNNECESSARY MAILS THAN GET MAIL SAYING "YOU KILLED
MY HARDDISK, BASTARD. I'M GOING TO FIND YOU, AND YOU'LL BE SORRY WHEN I
DO".
1) back up everything you have on your harddisk - linux-0.12 is still in
beta and might do weird things. The only thing I guarantee is that
it has worked fine on /my/ machine - for all I know it might eat your
harddisk and spit it out in small pieces on any other hardware.
2) Test out the linux boot-disk with the root file system. If it
doesn't work, check the hardware requirements, and mail me if you
still think it should work. I might not be able to help you, but
your bug-report would still be appreciated.
Test that linux can read your harddisk at least partly: run the fdisk
program on the root-disk, and see if it barfs. If it tells you about
any partitions at all, linux can successfully read at least part of
your harddisk.
3) Make sure that you have a free /primary/ partition. There can be 4
primary partitions per drive: newer DOS fdisks seem to be able to
create only 2 (one primary and one extended). In that case use some
other partitioning software: edpart.exe etc. Linux fdisk currently
only tells you the partition info - it doesn't write to the disk.
Remember to check how big your partition was, as that can be used to
tell which device Linux thinks it is.
4) Boot up linux again, fdisk to make sure you now have the new
partition, and use mkfs to make a filesystem on one of the partitions
fdisk reports. Write "mkfs -c /dev/hdX nnn" where X is the device
number reported by linux fdisk, and nnn is the size - also reported
by fdisk. nnn is the size in /blocks/, ie kilobytes. You should be
able to use the size info to determine which partition is represented
by which device name.
5) Mount the new disk partition: "mount /dev/hdX /user". Copy over the
root filesystem to the harddisk, eg like this:
# for i in bin dev etc usr tmp
# do
# cp +recursive /$i /user
# done
You caanot use just "cp +recursive / /user", as that will result in a
loop.
6) Sync the filesystem after you have played around enough, and reboot.
# sync
<wait for it to sync>
ctrl-alt-del
The folklore says you should do this three times before rebooting:
once should be enough, but I admit I do it three times anyway :) THIS
IS IMPORTANT! NEVER EVER FORGET TO SYNC BEFORE KILLING THE MACHINE.
7) Change the bootdisk to understand which partition it should use as a
root filesystem. See INSTALL-0.11: it's still the word at offset
508 into the image. You should be up and running.
That's it. Go back and read the INSTALL-0.11
New features of 0.12, in order of appearance
(ie in the order you see them)
Linux now prints cute dots when loading
WoW. Run, don't walk, to see this :). Seriously, it should hopefully now
load even on machines that never got off the ground before, but
otherwise the loading hasn't changed. Implemented by drew.
Super-VGA detection for extended alphamun modes
I cannot guarantee it, I didn't write it, but it works great on a ET400
SVGA card. I'm addicted to the new look with 100x40 character editing,
instead of a cramped 80x25. This only works on VGA-cards that support
higher text-resolutions, and which are correctly identified. Implemented
by d88-man.
Job Control.
Ok, everybody used to typing ^Z after they started a long command, and
forgot to put it in the background - now it works on linux too. Bash
knows the usualy job-control commands: bg, fg, jobs & kill. I hope
there will be no nasty surprises. Job control was implemented by
tytso@athena.mit.edu.
Virtual consoles on EGA/VGA screens.
You can select one of several consoles by pressing the left alt-key and
a function key at the same time. Linux should report the number of
virtual consoles available upon bootup. /dev/tty0 is now "the current"
screen, /dev/tty1 is the main console, and /dev/tty2-8 can exist
depending on your text-mode or card.
NOTE! Scrolling is noticeably much slower with virtual consoles on a
EGA/VGA. The reason is that no longer does linux use all the screen
memory as a long buffer, but crams in several consoles in it. I think
it's worth it.
The virtual consoles also have some new screen-handling commands: they
confirm even better to vt200 control codes than 0.11. Special graphic
characters etc: you can well use them as terminals to VMS (although
that's a shameful waste of resources).
pty's
Ok. I have to admit that I didn't get the hangup-code working correctly,
but that should be easy to add. The general things are there.
select
I've never used it, so I cannot say how well it works. My minor testing
seems to indicate that it works ok. vc's, pty's and select were
implemented by pmacdona, although I hacked it heavily.
387-emulation.
It's not complete, but it works well enough to run those gcc2.0 compiled
programs I tested (few). None of the "heavy" math-functions are
implemented yet.
Symbolic links.
Try out a few "ln -s xx yy", and ls -l. Note that I think tar should be
recompiled to know anout them, and probably some other programs too. The
0.12 rootimage-disk has most of the recompiled fileutilities.
Virtual memory.
In addition to the "mkfs" program, there is now a "mkswap" program on
the root disk. The syntax is identical: "mkswap -c /dev/hdX nnn", and
again: this writes over the partition, so be careful. Swapping can then
be enabled by changing the word at offset 506 in the bootimage to the
desired device. Use the same program as for setting the root file
system (but change the 508 offset to 506 of course).
NOTE! This has been tested by Robert Blum, who has a 2M machine, and it
allows you to run gcc without much memory. HOWEVER, I had to stop using
it, as my diskspace was eaten up by the beta-gcc-2.0, so I'd like to
hear that it still works: I've been totally unable to make a
swap-partition for even rudimentary testing since about christmastime.
Thus the new changes could possibly just have backfired on the VM, but I
doubt it.
And that's it, I think.
Happy hacking.
Linus

61
Linux-0.12/docs/STATUS Normal file
View File

@@ -0,0 +1,61 @@
[kruuna.helsinki.fi]
Login name: torvalds In real life: Linus Benedict Torvalds
Directory: /home/kruuna/tkol/torvalds Shell: /bin/tcsh
Last login Tue Feb 18 16:51 on ttypf from LKS500
No unread mail
Plan:
Free UNIX for the 386
The current version of linux is 0.12 - it has most things a unix kernel
needs, and will probably be released as 1.0 as soon as it gets a little
more testing, and we can get a init/login going. Currently you get
dumped into a shell as root upon bootup. There are simple init/logins
available, but it's not yet part of the "official" distribution.
Linux can be gotten by anonymous ftp from 'nic.funet.fi' (128.214.6.100)
in the directory '/pub/OS/Linux'. This directory structure contains all
the linux OS- and library-sources, and enough binaries to get going. To
install linux you still need to know something about unices: it's
relatively straightforward to install, but the documentation sucks raw
eggs, and people with no previous unix experience are going to get very
confused.
Linux still requires an AT-compatible disk to be useful: people are
working on a SCSI-driver, but I don't know when it will be ready.
There are now a couple of other sites containing linux, as people have
had difficulties with connecting to nic. The sites are:
Tupac-Amaru.Informatik.RWTH-Aachen.DE (137.226.112.31):
directory /pub/msdos/replace
tsx-11.mit.edu (18.172.1.2):
directory /pub/linux
(and many additional sites: there are now sites in the uk, japan etc
that carry linux, but I have lost count)
There is also a mailing list set up 'Linux-activists@niksula.hut.fi'.
To join, mail a request to 'Linux-activists-request@niksula.hut.fi'.
It's no use mailing me: I have no actual contact with the mailing-list
(other than being on it, naturally).
For those of you able to read the alt.* newsgroups, there is also a
linux newsgroup available: alt.os.linux, which should hopefully become a
comp.* group when the votings etc are ready.
Mail me for more info:
Linus (torvalds@kruuna.Helsinki.FI)
PS. The next version (0.13, possibly called 0.95) should be out in early
March. The deadline for patches to 0.12 was February 15th, and no more
patches will be accepted any more unless they are important (bug-fixes
etc). 0.13 should contain these new things (most of them implemented by
others, I'm happy to say):
- ptrace (gdb is in beta-testing)
- VFS (at least a minimal stubs-version)
- bug-corrections (notably mm, but also some other minor bugs)
- better VC's (screen blanking etc)
- init/login
- faster floppies

View File

@@ -0,0 +1,21 @@
alt.os.linux #309 [1]
From: abc@banjo.concert.net (Alan B Clegg)
[1] Announcing: linux-standards mailing list.
Organization: Concert Network -- Internet Operations Group
Date: Tue Jan 28 10:42:51 EST 1992
I am happy to announce the creation of the Linux Standards (linux-standards)
mailing list. The list is chartered as follows:
linux-standards: Discussion of distribution and directory standards for
the Linux Operating System, including directory structure,
file location, and release disk format.
Requests to be added to the mailing list should be sent to:
linux-standards-request@banjo.concert.net
-abc
--
abc@concert.net Alan Clegg - Network Programmer
KD4JML (just my luck!) MCNC -- Center for Communications

View File

@@ -0,0 +1,254 @@
The following is being submitted by Alan Clegg [abc@concert.net] on behalf of
the linux-standards group as the recommended standard for directory file
structure under Linux.
Complete implementation of this file structure is completely voluntary,
and will not be enforced, but will be recommended. This specification
is released as guidelines for people porting and writing software for
the Linux Operating System to allow easy software installation, upgrade, and
tailoring on already installed systems.
Root Directory:
Files:
{none defined by spec}
Directories:
bin dev etc home lib mnt usr
Rationale:
The root directory should not be cluttered with files or
directories, and should contain no user programs.
/bin Directory:
Files:
sh init mount umount dd cat ls fsck mkfs {and as needed}
Directories:
{none defined by spec}
Rationale:
The /bin directory should contain programs that are vital
to the restoration of other file systems in the case of
a corrupting crash. No executable in /bin should require
any other file system to be mounted to execute correctly.
/dev Directory:
Files:
{device files}
Directories:
{none define by spec}
Rationale:
Standard UNIX device files. This directory should contain
device entries for all devices that are supported in the
standard kernel, even if the hardware device does not exist
on the system. Note that the distribution will have all
device files, but they may be removed by the user upon
system installation.
/etc Directory:
Files:
mtab passwd rc ttytab {and as needed}
Directories:
{none defined by spec}
Rationale:
Standard location of files required during system boot. Files
in this directory are usually system specific. Most will
require human intervention during system upgrade.
/home Directory:
Files:
NONE
Directories:
{one per user excepting root}
Rationale:
Standard location of users home directories. Will most likely
be a mounted file system once the system is up. root's home
directory should be /.
/lib Directory:
Files:
{libraries required for system initialization}
Directories:
{none defined by spec}
Rationale:
To keep the size of the root partition small (if separate from
/usr), the files in this directory should only be ones required
by files in the root partition.
/mnt Directory:
Files:
NONE
Directories:
NONE
Rationale:
Standard mount point for external (transient) file systems.
Must be available for sub-system installation. Should remain
as an empty directory.
/tmp Directory:
Files:
NONE
Directories:
NONE
Rationale:
Temporary file space available for general program use. May
become a mounted partition upon system boot.
/usr Directory:
Files:
{none defined by spec}
Directories:
adm bin spool local lib etc man include src tmp
Rationale:
/usr is the mount point for the second major (after root)
hierarchy of file structure and is discussed in the next
section.
/usr/adm Directory:
Files:
{none defined in spec}
Directories:
{none defined in spec}
Rationale:
Location of log files and accounting information.
/usr/bin Directory:
Files:
{all executable files from standard distribution not contined
in /bin}
Directories:
{none defined in spec}
Rationale:
contains 'drop-in' executables that are considered to be
standard to the UNIX system. These files should NOT be
Linux specific, but should have the same function as their
UNIX equivalents.
/usr/etc Directory:
Files:
{none defined in spec}
Directories:
{none defined in spec}
Rationale:
contains configuration files for any files in /usr/bin. helps
to keep /etc clean and small.
/usr/spool Directory:
Files:
{none defined in spec}
Directories:
uucp mail
Rationale:
containes spool files for mail, printing, uucp transfer, etc.
May be a mount point for another volume.
/usr/local Directory:
Files:
NONE
Directories:
bin lib etc man src
Rationale:
contains files local to the specific system. will not be
modified by upgrade process.
/usr/lib Directory:
Files:
libc.a crt0.s {and as needed}
Directories:
{none defined in spec}
Rationale:
location for library files required for multi-user system
operation. This is the directory where program libraries
should reside.
/usr/man Directory:
Files:
NONE
Directories:
man1 man2 man3 man4 man5 man6 man7 man8
cat1 cat2 cat3 cat4 cat5 cat6 cat7 cat8
Rationale:
Contains manual pages for programs that are standard with
Linux.
/usr/include Directory:
Files:
{programmers include files}
Directories:
{as needed}
Rationale:
Standard place for system include files.
/usr/src Directory:
Files:
NONE
Directories:
bin lib linux usr.bin usr.lib
Rationale:
Contains source code for all applications in the release.
/usr/src/linux contains directories required for kernel builds.
/usr/tmp Directory:
Files:
NONE
Directories:
NONE
Rationale:
Used as additional scratch space for programs. If /tmp is
a mounted file system, /usr/tmp may be a symbolic link to
/tmp.

View File

@@ -0,0 +1,62 @@
Please comment on the following document.
[available as /pub/Linux/linux-standards/draft]
Tommy Thorn (tthorn@daimi.aau.dk) writes (with my comments in [* ... *]):
We need to make installation REAL SIMPLE AND FAST. I suggest the
following standard for distributing ported programs.
Everything should be contained in a [compressed] tar file with a:
- README, a short explanations of how this version differs from
the original, if it does, and how it was compiled.
- PREREQUIST, again which kernel, but also which version of the
original.
[* Let's call this PREREQ so we can all spell it *]
- Makefile, not for compilation, but for installation!! After having
checked that you agree with paths and so, you just type 'make install'
perhaps as root.
- Patches, context diff against the original.
- Binaries
- Optionally, manual pages, also with full path.
Kernel patches should also be a [compressed] tar file containing:
- README, describing what the patch does/is.
- PREREQUIST, a precise statement of which version of the
kernel the patches applies, and which, if any, patches that
was already applied.
[* Begin Soap Box:
I don't think we should distribute kernel patches in the standard
release trees, unless there is a DEFINITE (fatal) bug fixed by the
patch. Most people are looking for an easy-to-build system with
binaries and sources that they can get up-and-running without much
trouble. Yes, we have to put together kernel patch kits, but we
need to have them coordinated (all patches in one common patchfile).
End Soap Box *]
Sources belong in /usr/src, linux sources in /usr/src/linux, etc.
Maybe we should split patches and binaries, but I don't like that, as you
would properbly end up having only one of either.
[* It is my feeling that we should not distribute patches without the source
that the patches apply to. Often, someone will grab the wrong
"official" source, and the patches won't take. Then they make noises
about the patch not working. I feel that we should provide FULL
SOURCE to all programs, *WITH PATCHES APPLIED*. Leave the patches
in a _common_ directory under each source tree, ie:
/usr/src/gcc/LINPAT/*
^^^^^^ name subject to discussion
to allow someone to see exactly what was changed, but also allow them
to compile without applying the patches themselves. *]