add directory Linux-0.12
This commit is contained in:
117
Linux-0.12/docs/INFO-SHEET-0.12
Normal file
117
Linux-0.12/docs/INFO-SHEET-0.12
Normal 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
178
Linux-0.12/docs/README-0.12
Normal 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
|
||||
191
Linux-0.12/docs/RELNOTES-0.12
Normal file
191
Linux-0.12/docs/RELNOTES-0.12
Normal 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
61
Linux-0.12/docs/STATUS
Normal 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
|
||||
21
Linux-0.12/docs/linux-standards/000-README
Normal file
21
Linux-0.12/docs/linux-standards/000-README
Normal 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
|
||||
|
||||
254
Linux-0.12/docs/linux-standards/File_System_Standard
Normal file
254
Linux-0.12/docs/linux-standards/File_System_Standard
Normal 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.
|
||||
62
Linux-0.12/docs/linux-standards/Package_Draft
Normal file
62
Linux-0.12/docs/linux-standards/Package_Draft
Normal 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. *]
|
||||
Reference in New Issue
Block a user