summaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1997-07-29 03:58:24 +0000
committerRalf Baechle <ralf@linux-mips.org>1997-07-29 03:58:24 +0000
commit1c5c0c934f91fbce2825acbb849e98781e774c1d (patch)
tree12b5ae03516d4103bc070e4579ae1f7f71c27d24 /Documentation
parent4fe70c31de87823ac9e804f4795589ba74dc6971 (diff)
Merge with 2.1.47. Some more cleanup and module fixes.
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/Changes83
-rw-r--r--Documentation/binfmt_misc.txt67
-rw-r--r--Documentation/filesystems/romfs.txt90
-rw-r--r--Documentation/filesystems/smbfs.txt2
4 files changed, 173 insertions, 69 deletions
diff --git a/Documentation/Changes b/Documentation/Changes
index 143d90eec..2ee5af046 100644
--- a/Documentation/Changes
+++ b/Documentation/Changes
@@ -29,7 +29,7 @@ English-language HTML version.
Also, don't forget http://www.linuxhq.com/ for all your Linux kernel
needs.
-Last updated: May 31, 1997.
+Last updated: July 22. 1997
Current Author: Chris Ricker (gt1355b@prism.gatech.edu).
Current Minimal Requirements
@@ -39,11 +39,11 @@ Current Minimal Requirements
encountered a bug! If you're unsure what version you're currently
running, the suggested command should tell you.
-- Kernel modules modutils-2.1.34 ; insmod -v
+- Kernel modules modutils-2.1.42 ; insmod -V
- Gnu C 2.7.2.1 ; gcc --version
- Binutils 2.8.1.0.1 ; ld -v
-- Linux C Library 5.4.23 ; ls -l /lib/libc.so.*
-- Dynamic Linker (ld.so) 1.8.5 ; ldd -v
+- Linux C Library 5.4.33 ; ls -l /lib/libc.so.*
+- Dynamic Linker (ld.so) 1.9.2 ; ldd -v
- Linux C++ Library 2.7.2.1 ; ls -l /usr/lib/libg++.so.*
- Procps 1.01 ; ps --version
- Procinfo 0.11 ; procinfo -v
@@ -51,8 +51,9 @@ running, the suggested command should tell you.
- Net-tools 1.41 ; hostname -V
- Loadlin 1.6a
- Sh-utils 1.16 ; expr --v
-- Autofs 0.3.3 ; automount --version
+- Autofs 0.3.7 ; automount --version
- NFS 0.4.21 ; showmount --version
+- Bash 1.14.7 ; bash -version
Upgrade notes
*************
@@ -78,12 +79,12 @@ accordingly.
For modules to work, you need to be running libc-5.4.x or greater.
Since updates to libc fix other problems as well (security flaws, for
example) and since 5.4.7 is missing a few needed symbols, try to get
-the latest 5.4.x you can. Currently, libc-5.4.23 is the latest public
+the latest 5.4.x you can. Currently, libc-5.4.33 is the latest public
release.
If you upgrade to libc-5.4.x, you also have to upgrade your dynamic
-linker (ld.so) to at least 1.8.5, or all sorts of weirdness will
-happen. Actually, ld.so-1.8.2 and later will work, but 1.8.5 is widely
+linker (ld.so) to at least 1.9.2, or all sorts of weirdness will
+happen. Actually, ld.so-1.8.2 and later will work, but 1.9.2 is widely
available, so if you need to upgrade, use it. If you get a release
later than 1.8.5, avoid 1.8.10 as it introduces a few bugs that are
fixed in later releases.
@@ -94,7 +95,8 @@ you're using NIS.
Modules
=======
- You need to upgrade to modutils-2.1.34 for kernels 2.1.34 and later.
+ You need to upgrade to modutils-2.1.42 for kernels 2.1.42 and later.
+This version will also work with 2.0.x kernels.
Binutils
========
@@ -146,7 +148,8 @@ Memory
many memory utils, which have to be upgraded. Get the new procinfo and
procps (which, AFAIK, is not yet available) to fix this. Until you
upgrade, programs which read /proc/meminfo will seg-fault or give an
-error.
+error. There is an unofficial update to 1.12.2 available that fixes
+most problems.
Mount and network file systems
==============================
@@ -167,7 +170,7 @@ DOSEMU
======
A new "stable" version of DOSEMU is available for 2.1.x kernels.
-Upgrade to 0.66.1 or later.
+Upgrade to 0.66.7 or later.
Loadlin
=======
@@ -192,6 +195,13 @@ parallel port may no longer be where you expect it; for example, LPT1
/dev/lp0 with the new Plug-and-Play driver. If printing breaks with
the new driver, try checking your lpd configuration.
+Bash
+====
+
+ Old versions of Bash fail to properly handle symlinks, which can
+cause problems when compiling modules. Upgrade to at least 1.14 to fix
+this problem.
+
Where to get the files
**********************
@@ -218,12 +228,12 @@ ftp://sunsite.unc.edu/pub/Linux/GCC/release.gcc-2.7.2.1
Linux C Library
===============
-The 5.4.23 release:
-ftp://tsx-11.mit.edu/pub/linux/packages/GCC/libc-5.4.23.bin.tar.gz
-ftp://sunsite.unc.edu/pub/Linux/GCC/libc-5.4.23.bin.tar.gz
-Installation notes for 5.4.23:
-ftp://tsx-11.mit.edu/pub/linux/packages/GCC/release.libc-5.4.23
-ftp://sunsite.unc.edu/pub/Linux/GCC/release.libc-5.4.23
+The 5.4.33 release:
+ftp://tsx-11.mit.edu/pub/linux/packages/GCC/libc-5.4.33.bin.tar.gz
+ftp://sunsite.unc.edu/pub/Linux/GCC/libc-5.4.33.bin.tar.gz
+Installation notes for 5.4.33:
+ftp://tsx-11.mit.edu/pub/linux/packages/GCC/release.libc-5.4.33
+ftp://sunsite.unc.edu/pub/Linux/GCC/release.libc-5.4.33
Linux C++ Library
=================
@@ -238,16 +248,16 @@ ftp://sunsite.unc.edu/pub/Linux/GCC/release.libg++-2.7.2.1
Dynamic Linker
==============
-The 1.8.5 release:
-ftp://tsx-11.mit.edu/pub/linux/packages/GCC/ld.so-1.8.5.tar.gz
-ftp://sunsite.unc.edu/pub/Linux/GCC/ld.so-1.8.5.tar.gz
+The 1.9.2 release:
+ftp://tsx-11.mit.edu/pub/linux/packages/GCC/ld.so-1.9.2.tar.gz
+ftp://sunsite.unc.edu/pub/Linux/GCC/ld.so-1.9.2.tar.gz
Modules utilities
=================
-The 2.1.34 release:
-ftp://ftp.redhat.com/pub/alphabits/modutils-2.1.34.tar.gz
-ftp://ftp.kernel.org/pub/linux/kernel/v2.1/modutils-2.1.34.tar.gz
+The 2.1.42 release:
+ftp://ftp.redhat.com/pub/alphabits/modutils-2.1.42.tar.gz
+ftp://ftp.kernel.org/pub/linux/kernel/v2.1/modutils-2.1.42.tar.gz
Procps utilities
================
@@ -255,6 +265,8 @@ Procps utilities
The 1.01 release:
ftp://tsx-11.mit.edu/pub/linux/sources/usr.bin/procps-1.01.tar.gz
ftp://sunsite.unc.edu/pub/Linux/system/status/ps/procps-1.01.tgz
+The unofficial 1.12.2 release:
+ftp://ftp.debian.org/pub/debian/hamm/hamm/source/base/procps_1.12.2.tar.gz
Procinfo utilities
==================
@@ -278,9 +290,9 @@ ftp://ftp.redhat.com/pub/redhat/redhat-4.0/updates/i386/rpm-devel-2.2.7-1.sparc.
DOSEMU
======
-The 0.66.1 release:
-ftp://tsx-11.mit.edu/pub/linux/ALPHA/dosemu/dosemu0.66.1.tgz
-ftp://sunsite.unc.edu/pub/Linux/system/emulators/dosemu0.66.1.tgz
+The 0.66.7 release:
+ftp://tsx-11.mit.edu/pub/linux/ALPHA/dosemu/dosemu0.66.7.tgz
+ftp://sunsite.unc.edu/pub/Linux/system/emulators/dosemu0.66.7.tgz
Loadlin
=======
@@ -305,8 +317,8 @@ ftp://ftp.win.tue.nl/pub/linux/util/mount-2.6g.tar.gz
Autofs
======
-The 0.3.3 release:
-ftp://ftp.kernel.org/pub/linux/daemons/autofs/autofs-0.3.3.tar.gz
+The 0.3.7 release:
+ftp://ftp.kernel.org/pub/linux/daemons/autofs/autofs-0.3.7.tar.gz
NFS
===
@@ -328,6 +340,12 @@ Ypbind
The 3.2 release:
ftp://ftp.uni-paderborn.de/pub/linux/local/yp/ypbind-3.2.tar.gz
+Bash
+====
+
+The 1.14.7 release:
+ftp://prep.ai.mit.edu/pub/gnu/bash-1.14.7.tar.gz
+
Other Info
==========
@@ -335,13 +353,20 @@ Other Info
favorite local linux mirror. If you can, please get them from a closer
site before checking sunsite.
- Also, for those of you running Red Hat (or RPM on a different
+ You may also want to check for updated versions of this software in a
+package format for the distribution you use.
+
+ For those of you running Red Hat (or RPM on a different
distribution), most of these are available in RPM format. Check around
your favorite Red Hat mirror site before installing the non-RPM
version. Remember, you might need to use the -force option to get the
upgrade to install. ftp://ftp.redhat.com/pub/contrib/ will have almost
everything you need.
+ Those of you running Debian (or a different distribution that
+supports .deb packages) can look in the "unstable" and
+"project/experimental" directories of your favorite Debian mirror.
+
For others, David Bourgin has put together a package of everything
necessary to quickly and easily upgrade to 2.1.x. See
ftp://ftp.wsc.com/pub/freeware/linux/update.linux/kernel-v2.1.x/ for
diff --git a/Documentation/binfmt_misc.txt b/Documentation/binfmt_misc.txt
index aef3b271a..35eec1284 100644
--- a/Documentation/binfmt_misc.txt
+++ b/Documentation/binfmt_misc.txt
@@ -69,20 +69,63 @@ or /proc/sys/fs/binfmt_misc/status.
Emulating binfmt_java:
======================
-To emulate binfmt_java the following register-strings are necessary
-(the first two for byte-compiled Java binaries, the third for applets
-contained in a html-file). Register exactly in this order!
- ":Java:M::\xca\xfe\xba\xbe::/usr/local/java/bin/java:"
- ":JavaC:e::class::/usr/local/java/bin/java:"
+To emulate binfmt_java the following register-strings could be used:
+for compiled Java programs use
+ ":Java:M::\xca\xfe\xba\xbe::/usr/local/java/bin/javawrapper:"
+for simple applet support use
":Applet:E::html::/usr/local/java/bin/appletviewer:"
+for more selective applet support (like binfmt_java) use
+ ":Applet:M::\<\!--applet::/usr/local/java/bin/appletviewer:"
+
+Note, that for the more selective applet support you have to modify
+existing html-files to contain <!--applet--> in the first line to
+let this work!
+
+For the compiled Java programs you need a wrapper script like the
+following (this is because Java is broken in case of the filename
+handling):
+
+====================== Cut here ===================
+#!/bin/bash
+# /usr/local/java/bin/javawrapper - the wrapper for binfmt_misc/java
+CLASS=$1
+
+# if classname is a link, we follow it (this could be done easier - how?)
+if [ -L "$1" ] ; then
+ CLASS=`ls --color=no -l $1 | tr -s '\t ' ' ' | cut -d ' ' -f 11`
+fi
+CLASSN=`basename $CLASS | sed s/\.class$//`
+CLASSP=`dirname $CLASS`
+
+FOO=$PATH
+PATH=$CLASSPATH
+if [ -z "`type -p -a $CLASSN.class`" ] ; then
+ # class is not in CLASSPATH
+ if [ -e "$CLASSP/$CLASSN.class" ] ; then
+ # append dir of class to CLASSPATH
+ if [ -z "${CLASSPATH}" ] ; then
+ export CLASSPATH=$CLASSP
+ else
+ export CLASSPATH=$CLASSP:$CLASSPATH
+ fi
+ else
+ # uh! now we would have to create a symbolic link - really
+ # ugly, i.e. print a message that one has to change the setup
+ echo "Hey! This is not a good setup to run $1 !"
+ exit 1
+ fi
+fi
+PATH=$FOO
+
+shift
+/usr/local/java/bin/java $CLASSN $@
+====================== Cut here ===================
+
+To add a Java program to your path best put a symbolic link to the main
+.class file into /usr/bin (or another place you like) omitting the .class
+extension. The directory containing the original .class file will be
+added to your CLASSPATH during execution.
-To add a Java-executable to your path you can either make a symbolic
-link to the .class file elsewhere in your path (cut the .class-extension
-in the destination name for convenience) or add the directory of your
-.class files to your PATH environment. In both cases, ensure that the
-.class files are in your CLASSPATH environment!
-
-This is sort of ugly - Javas filename handling is just broken.
HINTS:
diff --git a/Documentation/filesystems/romfs.txt b/Documentation/filesystems/romfs.txt
index 5b8bafb46..32a14e68b 100644
--- a/Documentation/filesystems/romfs.txt
+++ b/Documentation/filesystems/romfs.txt
@@ -8,19 +8,18 @@ similar feature, and even the possibility of a small kernel, with a
file system which doesn't take up useful memory from the router
functions in the basement of your office.
-For comparison, both the older minix and xiafs filesystems (compiled
-as module) need more than 20000 bytes, while romfs is less than a
-page, about 4000 bytes (assuming ix86 code). Under the same
-conditions, the msdos filesystem would need about 30K (and does not
-support device nodes or symlinks), while the nfs module with nfsroot
-is about 57K. Furthermore, as a bit unfair comparison, an actual
-rescue disk used up 3202 blocks with ext2, while with romfs, it needed
-3079 blocks.
+For comparison, both the older minix and xiafs (the latter is now
+defunct) filesystems, compiled as module need more than 20000 bytes,
+while romfs is less than a page, about 4000 bytes (assuming i586
+code). Under the same conditions, the msdos filesystem would need
+about 30K (and does not support device nodes or symlinks), while the
+nfs module with nfsroot is about 57K. Furthermore, as a bit unfair
+comparison, an actual rescue disk used up 3202 blocks with ext2, while
+with romfs, it needed 3079 blocks.
To create such a file system, you'll need a user program named
-genromfs. It is (or will be shortly) available via ftp on
-sunsite.unc.edu and its mirrors, in the /pub/Linux/system/Filesystems/
-directory.
+genromfs. It is available via anonymous ftp on sunsite.unc.edu and
+its mirrors, in the /pub/Linux/system/recovery/ directory.
As the name suggests, romfs could be also used (space-efficiently) on
various read-only medias, like (E)EPROM disks if someone will have the
@@ -61,7 +60,7 @@ offset content
+---+---+---+---+
0 | - | r | o | m | \
+---+---+---+---+ The ASCII representation of those bytes
- 4 | 1 | f | s | - | / (i.e. "-rom1fs-"
+ 4 | 1 | f | s | - | / (i.e. "-rom1fs-")
+---+---+---+---+
8 | full size | The number of accessible bytes in this fs.
+---+---+---+---+
@@ -77,7 +76,7 @@ Every multi byte value (32 bit words, I'll use the longwords term from
now on) must be in big endian order.
The first eight bytes identify the filesystem, even for the casual
-reader. After that in the 3rd longword, it contains the number of
+inspector. After that, in the 3rd longword, it contains the number of
bytes accessible from the start of this filesystem. The 4th longword
is the checksum of the first 512 bytes (or the number of bytes
accessible, whichever is smallest). The applied algorithm is the same
@@ -101,7 +100,7 @@ offset content
12 | checksum | Covering the meta data, including the file
+---+---+---+---+ name, and padding
16 | file name | The zero terminated name of the file,
- : : padded to 16 byte boundary.
+ : : padded to 16 byte boundary
+---+---+---+---+
xx | file data |
: :
@@ -112,9 +111,10 @@ bits are used for the mode information. Bits 0..2 specify the type of
the file; while bit 4 shows if the file is executable or not. The
permissions are assumed to be world readable, if this bit is not set,
and world executable if it is; except the character and block devices,
-they are readable only for the owner. The owner of every file is user
-and group 0, this should never be a problem for the intended use. The
-mapping of the 8 possible values to file types is the following:
+they are never accessible for other than owner. The owner of every
+file is user and group 0, this should never be a problem for the
+intended use. The mapping of the 8 possible values to file types is
+the following:
mapping spec.info means
0 hard link link destination [file header]
@@ -128,14 +128,14 @@ mapping of the 8 possible values to file types is the following:
Note that hard links are specifically marked in this filesystem, but
they will behave as you can expect (i.e. share the inode number).
-Note also that your responsibility to not create hard link loops, and
-creating all the . and .. links for directories. This is normally
-done correctly by the genromfs program. Please refrain from using the
-executable bits on the socket and fifo special files, they may have
-other uses in the future. Additionally, please remember that only
-regular files, and symlinks are supposed to have a nonzero size field;
-they contain the number of bytes available directly after the (padded)
-file name.
+Note also that it is your responsibility to not create hard link
+loops, and creating all the . and .. links for directories. This is
+normally done correctly by the genromfs program. Please refrain from
+using the executable bits for special purposes on the socket and fifo
+special files, they may have other uses in the future. Additionally,
+please remember that only regular files, and symlinks are supposed to
+have a nonzero size field; they contain the number of bytes available
+directly after the (padded) file name.
Another thing to note is that romfs works on file headers and data
aligned to 16 byte boundaries, but most hardware devices and the block
@@ -145,8 +145,44 @@ padded to an 1024 byte boundary.
If you have any problems or suggestions concerning this file system,
please contact me. However, think twice before wanting me to add
-features and code, because the primary advantage of this file system
-is the small code.
+features and code, because the primary and most important advantage of
+this file system is the small code. On the other hand, don't be
+alarmed, I'm not getting that much romfs related mail. Now I can
+understand why Avery wrote poems in the arcnet docs to get some more
+feedback. :)
+
+romfs has also a mailing list, and to date, it hasn't received any
+traffic, so you are welcome to join it to discuss your ideas. :)
+
+It's run by ezmlm, so you can subscribe to it by sending a message
+to romfs-subscribe@shadow.banki.hu, the content is irrelevant.
+
+Pending issues:
+
+- Permissions and owner information are pretty essential features of a
+Un*x like system, but romfs does not provide the full possibilities.
+I have never found this limiting, but others might.
+
+- The file system is read only, so it can be very small, but in case
+one would want to write _anything_ to a file system, he still needs
+a writable file system, thus negating the size advantages. Possible
+solutions: implement write access as a compile-time option, or a new,
+similarly small writable filesystem for ram disks.
+
+- Since the files are only required to have alignment on a 16 byte
+boundary, it is currently possibly suboptimal to read or execute files
+from the filesystem. It might be resolved by reordering file data to
+have most of it (i.e. except the start and the end) laying at "natural"
+boundaries, thus it would be possible to directly map a big portion of
+the file contents to the mm subsystem.
+
+- Compression might be an useful feature, but memory is quite a
+limiting factor in my eyes.
+
+- Where it is used?
+
+- Does it work on other architectures than intel and motorola?
+
Have fun,
Janos Farkas <chexum@shadow.banki.hu>
diff --git a/Documentation/filesystems/smbfs.txt b/Documentation/filesystems/smbfs.txt
index ffef2d814..b707757e2 100644
--- a/Documentation/filesystems/smbfs.txt
+++ b/Documentation/filesystems/smbfs.txt
@@ -9,5 +9,5 @@ netbios name or share.
To use smbfs, you need a special mount program, which can be found in
the ksmbfs package, found on
-sunsite.unc.edu:/pub/Linux/system/Filesystems/smbfs.
+ sunsite.unc.edu:/pub/Linux/system/filesystems/smbfs