This commit is contained in:
gferg 2000-07-18 14:15:50 +00:00
parent 66e55019f2
commit e492415ffa
7 changed files with 1959 additions and 1315 deletions

View File

@ -112,7 +112,7 @@ protocol utilized by Amateur Radio Operators worldwide. </Para>
Bash-Prog-Intro-HOWTO</ULink>,
<CiteTitle>BASH Programming - Introduction HOWTO</CiteTitle>
</Para><Para>
<CiteTitle>Updated: June 2000</CiteTitle>.
<CiteTitle>Updated: July 2000</CiteTitle>.
This article intends to help you to start programming
basic-to-intermediate shell scripts. </Para>
</ListItem>
@ -164,6 +164,18 @@ information on parallel programming, including links to other more
specific documents. </Para>
</ListItem>
<ListItem>
<Para>
<ULINK URL="../Boot+Root+Raid+LILO.html">
Boot+Root+Raid+LILO</ULink>, <CiteTitle>
Boot + Root + Raid + Lilo : Software Raid mini-HOWTO</CiteTitle>
</Para><Para>
<CiteTitle>
Updated: May 2000</CiteTitle>.
A cookbook for setting up root raid using the 0.90 raidtools
for bootable raid mounted on root using standard LILO. </Para>
</ListItem>
<ListItem>
<Para>
<ULINK URL="../Bootdisk-HOWTO/index.html">
@ -192,7 +204,7 @@ device parameters. </Para>
BRIDGE-STP-HOWTO</ULink>,
<CiteTitle>Linux BRIDGE-STP-HOWTO</CiteTitle>
</Para><Para>
<CiteTitle>Updated: June 2000</CiteTitle>.
<CiteTitle>Updated: July 2000</CiteTitle>.
Describes how to setup a bridge with the recent kernel patches and brctl
utility by Lennert Buytenhek. With developer kernel 2.3.47 the new
bridging code is part of the mainstream. On 20.06.2000 there are patches
@ -328,7 +340,7 @@ A listing of companies providing commercial Linux related support. </Para>
CVS-RCS-HOWTO</ULink>,
<CiteTitle>CVS-RCS HOWTO for Linux (Source Code Control System)</CiteTitle>
</Para><Para>
<CiteTitle>Updated: June 2000</CiteTitle>.
<CiteTitle>Updated: July 2000</CiteTitle>.
A "practical guide" to very quickly setup a CVS/RCS source code
control system. </Para>
</ListItem>
@ -1526,7 +1538,7 @@ equivalent to the ones commercially available from Red Hat. </Para>
Root-RAID-HOWTO</ULink>,
<CiteTitle>Root RAID HOWTO cookbook</CiteTitle>
</Para><Para>
<CiteTitle>Updated: May 2000</CiteTitle>.
<CiteTitle>Updated: July 2000</CiteTitle>.
This document only applies to the OLD raidtools, versions 0.50
and under. The workarounds and solutions addressed in this HOWTO
have largely been made obsolete by the vast improvment in the 0.90
@ -1775,6 +1787,18 @@ the console firmware also used to boot Compaq Tru64 Unix (also known
as Digital Unix and OSF/1) and OpenVMS. </Para>
</ListItem>
<ListItem>
<Para>
<ULINK URL="../Tango-HOWTO.html">
Tango-HOWTO</ULink>,
<CiteTitle>Tango 2000 HOWTO</CiteTitle>
</Para><Para>
<CiteTitle>Updated: July 2000</CiteTitle>.
Describes the installation, configuration, and basic
troubleshooting of Pervasive Software's Tango Application Server
on Sun Solaris and various flavours of Linux. </Para>
</ListItem>
<ListItem>
<Para>
<ULINK URL="../TclTk-HOWTO.html">

View File

@ -149,18 +149,6 @@ Updated: February 2000</CiteTitle>.
Some information about BogoMips, compiled from various sources. </Para>
</ListItem>
<ListItem>
<Para>
<ULINK URL="../mini/Boot+Root+Raid+LILO.html">
Boot+Root+Raid+LILO</ULink>, <CiteTitle>
Boot + Root + Raid + Lilo : Software Raid mini-HOWTO</CiteTitle>
</Para><Para>
<CiteTitle>
Updated: May 2000</CiteTitle>.
A cookbook for setting up root raid using the 0.90 raidtools
for bootable raid mounted on root using standard LILO. </Para>
</ListItem>
<ListItem>
<Para>
<ULINK URL="../mini/Bridge.html">

View File

@ -29,7 +29,7 @@ IA-32 (i386) platform. </Para>
Bash-Prog-Intro-HOWTO</ULink>,
<CiteTitle>BASH Programming - Introduction HOWTO</CiteTitle>
</Para><Para>
<CiteTitle>Updated: June 2000</CiteTitle>.
<CiteTitle>Updated: July 2000</CiteTitle>.
This article intends to help you to start programming
basic-to-intermediate shell scripts. </Para>
</ListItem>
@ -344,6 +344,18 @@ Software-Release-Practice-HOWTO</ULink>,
Describes good release practices for Linux open-source projects. </Para>
</ListItem>
<ListItem>
<Para>
<ULINK URL="../Tango-HOWTO.html">
Tango-HOWTO</ULink>,
<CiteTitle>Tango 2000 HOWTO</CiteTitle>
</Para><Para>
<CiteTitle>Updated: July 2000</CiteTitle>.
Describes the installation, configuration, and basic
troubleshooting of Pervasive Software's Tango Application Server
on Sun Solaris and various flavours of Linux. </Para>
</ListItem>
<ListItem>
<Para>
<ULINK URL="../TclTk-HOWTO.html">

View File

@ -9,7 +9,7 @@
<article>
<title>BASH Programming - Introduction HOW-TO</title>
<author>by Mike G <tt/mikkey@dynamo.com.ar/</author>
<date>27 June 2000</date>
<date>Mon Jul 17 11:47:00 ART 2000 </date>
<abstract>
This article intends to help you to start programming
basic-intermediate shell scripts. It does not intend to be an
@ -60,6 +60,13 @@ Getting the latest version
<item> You are a complete nerd and read every how-to available
</itemize>
</sect1>
<sect1>
Translations
<p> Korean: Chun Hye Jin <htmlurl url="" name="unknown">
<p> There were more translations, but I didn't include them because
I didn't have any URL to point to. If any of you know of these, please
mail them to me.
</sect1>
</sect>
<!-- Very simple Scripts -->
@ -345,12 +352,12 @@ Conditionals
<sect1>
Dry Theory
<P> Conditionals have many forms. The most basic form is:
<bf/if/ <it/expression/ <bf/then/ <it/statement/
<bf>if</bf> <it/expression/ <bf>then</bf> <it/statement/
where 'statement' is only executed if 'expression'
evaluates to true.
'2<1' is an expresion that evaluates to false, while '2>1'
evaluates to true.xs
<P> Conditionals have other forms such as:
<p> Conditionals have other forms such as:
<bf/if/ <it/expression/
<bf/then/ <it/statement1/ <bf/else/ <it/statement2/.
Here 'statement1' is executed if 'expression' is true,otherwise
@ -556,7 +563,7 @@ Functions
echo foo
</verb></tscreen>
<P> This script is almos identically to the previous one. The main difference is the
<P> This script is almost identically to the previous one. The main difference is the
funcion 'e'. This function, prints the first argument it receives.
Arguments, within funtions, are treated in the same manner as arguments given to the script.
</sect1>
@ -680,7 +687,7 @@ Misc
<P> ls -l /usr/local/sbin/bash
<P> (can't think of any other dirs offhand... i've found it in
<P> most of these places before on different system).
<P> You may try also 'wich bash'.
<P> You may try also 'which bash'.
</sect1>
<!-- Capturing a commands output -->
@ -1112,15 +1119,22 @@ About the document
and all that
</sect1>
<sect1>
Translations
<p> Italian: by Willy <htmlurl name="is here" url="http://web.tiscalinet.it/penguin_rules">
<p> French: by Laurent Martelli <htmlurl name="is missed" url="http://">
<p> I guess there are more translations, but I don't have any info of them,
if you havit, please, mail it to me so I update this section.
</sect1>
<sect1>
Thanks to
<P>
<itemize>
<item> People who translated this document to other languages (previous section).
<item> Nathan Hurst for sending a lot of corrections.
<item> Jon Abbott for sending comments about evaluating arithmetic expressions.
<item> Laurent Martelli for translating this document to French (soon here the URL)
<item> Felix Hudson for writing the <it/renna/ script
<item> Kees van den Broek
(for sending many corrections, re-writting usefull comands section)
(for sending many corrections, re-writting usefull comands section)
<item> Mike (pink) made some suggestions about locating bash and testing files
<item> Fiesh make a nice suggestion for the loops section.
<item> Lion suggested to mention a common error (./hello.sh: Command not found.)

File diff suppressed because it is too large Load Diff

View File

@ -235,14 +235,14 @@ find information that actually should be covered elsewhere.
<sect2>Silicon Graphics Onyx&nbsp;2<p>
The Onyx&nbsp;2 is basically an Origin&nbsp;2000 with additional graphics
hardware. As of now about Linux support for the graphics hardware has
not yet been decieded. Aside of that Linux should run just as well as
not yet been decided. Aside of that Linux should run just as well as
on a normal headless Origin&nbsp;2000 configuration.<p>
<sect2>Silicon Graphics Power Series<p>
This is a very old series of R3000 SMP systems. There is no hardware
documentation for these machines, few of them exist anymore, the hardware
is weird. In short, chances that Linux will ever run on them are
approximating zero. Not that we want to disencourage takers&nbsp;...
approximating zero. Not that we want to discourage takers&nbsp;...
<sect2>Serial console on SGI machines<p>
Make sure the kernel you're using includes the appropriate driver for a
@ -268,7 +268,7 @@ find information that actually should be covered elsewhere.
would be capable of running Linux, a port is difficult, since Sony so far
hasn't provided the necessary technical information. This still leaves the
question of whether the port would be worthwhile. So in short, nothing has
happend yet even though many people have shown their interest in trying Linux
happened yet even though many people have shown their interest in trying Linux
on a Playstation so far.
<sect2>SNI RM200C<p>
@ -504,7 +504,7 @@ find information that actually should be covered elsewhere.
to download 280MB. You can order Rough Cuts directly from Red Hat at
<url url="http://www.redhat.com/product.phtml/RC1000">.
As well, there's a distribution based on Red Hat 5.2 that's targetting the
As well, there's a distribution based on Red Hat 5.2 that's targeting the
Cobalt Qubes; those binaries will work perfectly on other MIPSel
architectures available at
<url url="ftp://intel.cleveland.lug.net/pub/Mipsel">.
@ -518,6 +518,15 @@ find information that actually should be covered elsewhere.
platforms. Keep an eye on the Debian-MIPS Port page,
<url url="http://www.debian.org/ports/mips/"> for developments.
<sect1>Simple<p>
This distribution is for big-endian systems only so far. It's highly
experimental, intended for developers' use in testing the latest versions
of gcc, binutils, glibc, and the kernel. This is the only glibc 2.2 based
distribution available for MIPS. You can always get the latest version of
this distribution and accompanying release notes at <url
url="ftp://oss.sgi.com/pub/linux/mips/mips-linux/simple">. Also available
is a cross-compiler system to aid in development.
<sect>Linux/MIPS net resources.<p>
<sect1>Anonymous FTP servers.<p>
The two primary anonymous FTP servers for Linux/MIPS are
@ -687,7 +696,7 @@ find information that actually should be covered elsewhere.
When running in big endian mode the firmware looks
similar to an SGI Indy which is already supported, therefore fixing the
SNI support will be relativly easy. Interested hackers should contact
SNI support will be relatively easy. Interested hackers should contact
<htmlurl url="mailto:ralf@gnu.org" name="Ralf B&auml;chle (ralf@gnu.org)">.
<sect1>ld dies with signal 6<p>
@ -730,7 +739,7 @@ find information that actually should be covered elsewhere.
<sect1>Pandora<p>
Pandora is a simple debugger. It has been primarily developed in order
to analyze undocumented systems. Pandora includes a dissassembler,
to analyze undocumented systems. Pandora includes a disassembler,
memory dump functions and more. If you only want to use Linux there is
no need to install Pandora. It's small though.
@ -740,9 +749,9 @@ find information that actually should be covered elsewhere.
you should have at least kernel version 980919 and modutils newer than
version 2.1.121 installed. Older versions won't work.
<sect>How do I setup a crosscompiler?<p>
<sect>How do I set up a cross-compiler?<p>
<sect1>Available binaries<p>
The easist thing to setup a crosscompiler is to just download the binaries.
The easiest thing to setup a cross-compiler is to just download the binaries.
For Linux/i386 hosts and big endian targets this are the packages:
<verb>
binutils-mips-linux-2.8.1-1.i386.rpm
@ -768,7 +777,7 @@ find information that actually should be covered elsewhere.
Intel binaries have been linked against GNU libc 2.1, so you may have
to install that as well when upgrading.
<sect1>Building your own crosscompiler<p>
<sect1>Building your own cross-compiler<p>
First of all go and download the following source packages and patches:
<itemize>
<item>binutils-2.8.1.tar.gz
@ -790,17 +799,17 @@ find information that actually should be covered elsewhere.
name="oss.sgi.com">. However since these SRPM packages are intended
to be compiled natively it's not possible to just rebuild them.
<sect1>Diskspace requirements<p>
<sect1>Disk space requirements<p>
For the installation you'll have to choose a directory for installation.
I'll refer to that directory below with &lt;prefix>. To avoid a certain
problem it's best to use the same value for &lt;prefix> as your native gcc.
For example if your gcc is installed in /usr/bin/gcc then choose /usr for
&lt;prefix>. You must use the same &lt;prefix> value for all the packages
that you're going to install.<p>
During compilation you'll need about 31mb diskspace for binutils; for
installation you'll need 7mb diskspace for on &lt;prefix>'s
During compilation you'll need about 31mb disk space for binutils; for
installation you'll need 7mb disk space for on &lt;prefix>'s
partition. Building egcs requires 71mb and installation 14mb. GNU libc
requires 149mb diskspace during compilation and 33mb for installation.
requires 149mb disk space during compilation and 33mb for installation.
Note these numbers are just a guideline and may differ significantly for
different processor and operating system architectures.
@ -812,10 +821,10 @@ find information that actually should be covered elsewhere.
at the lowest address while little endian machines store it at the highest
address. Think of it as writing multi-digit numbers from left to
right or vice versa.<p>
In order to setup your crosscompiler correctly you have to know the byte
order of the crosscompiler target. If you don't already know, check
In order to setup your cross-compiler correctly you have to know the byte
order of the cross-compiler target. If you don't already know, check
the section <ref id="hardware-platforms" name="Hardware Platforms"> for your
machine's byteorder.
machine's byte order.
<sect1>Configuration names<p>
Many of the packages based on autoconf support many different
@ -827,11 +836,11 @@ find information that actually should be covered elsewhere.
endian targets or mipsel-unknown-linux-gnu for little endian targets. These
names are a bit long and are allowed to be abbreviated to mips-linux or
mipsel-linux. You <sl>must</sl> use the same configuration name for all
packages that comprise your crosscompilation environment. Also, while
packages that comprise your cross-compilation environment. Also, while
other names like mips-sni-linux or mipsel-sni-linux are legal configuration
names, use mips-linux or mipsel-linux instead; these are the configuration
names known to other packages like the Linux kernel sources and they'd
otherwise have to be changed for crosscompilation.<p>
otherwise have to be changed for cross-compilation.<p>
I'll refer to the target configuration name below with &lt;target>.
<sect1>Installation of GNU Binutils.<p>
@ -851,18 +860,18 @@ find information that actually should be covered elsewhere.
by upgrading to GCC 2.8.1 or egcs.
<sect1>Assert.h<p>
Some people have an old assert.h headerfile installed, probably a leftover
from an old crosscompiler installation. This file may cause autoconf
Some people have an old assert.h header file installed, probably a leftover
from an old cross-compiler installation. This file may cause autoconf
scripts to fail silently; it was never necessary and was only installed
because of a bug in older GCC versions. Check to see if the file
&lt;prefix>/&lt;target>/include/assert.h exists in your installation. If
so, just delete the it: it should never have been installed for any version
of the crosscompiler and will cause trouble.
of the cross-compiler and will cause trouble.
<sect1>Installing the kernel sources<p>
Installing the kernel sources is simple. Just place them into some directory
of your choice and configure them. Configuring them is necessary such that
files which are generated by the procedure will be installed. Make shure
files which are generated by the procedure will be installed. Make sure
you enable CONFIG_CROSSCOMPILE near the end of the configuration process.
The only problem you may run into is that you may need to install some
required GNU programs like bash or have to override the manufacturer-provided
@ -877,8 +886,8 @@ find information that actually should be covered elsewhere.
Now the not-so-funny part begins: there is a so-called bootstrap problem.
In our case that means the installation process of egcs needs an already-
installed glibc, but we cannot compile glibc because we don't have a
working crosscompiler yet. Luckily you'll only have to go through this
once when you install a crosscompiler for the first time. Later when you
working cross-compiler yet. Luckily you'll only have to go through this
once when you install a cross-compiler for the first time. Later when you
already have glibc installed things will be much smoother. So now do:
<verb>
gzip -cd egcs-1.0.3a.tar.gz | tar xf -
@ -889,7 +898,7 @@ find information that actually should be covered elsewhere.
CONFIGURE_TARGET_MODULES= INSTALL_TARGET_MODULES= LANGUAGES="c"
</verb>
Note that we deliberately don't build gcov, protoize, unprotoize and the
libraries. Gcov doesn't make sense in a crosscompiler environment and
libraries. Gcov doesn't make sense in a cross-compiler environment and
protoize and unprotoize might even overwrite your native programs - this
is a bug in the gcc makefiles. Finally we cannot build the libraries
because we don't have glibc installed yet. If everything went successfully,
@ -899,11 +908,11 @@ find information that actually should be covered elsewhere.
LANGUAGES="c" install
</verb>
If you only want the crosscompiler for building the kernel, you're done.
Crosscompiling libc is only required to be able to compile user applications.
If you only want the cross-compiler for building the kernel, you're done.
Cross-compiling libc is only required to be able to compile user applications.
<sect1>Test what you've done so far<p>
Just to make shure that what you've done so far is actually working you
Just to make sure that what you've done so far is actually working you
may now try to compile the kernel. Cd to the MIPS kernel's sources and
type ``make clean; make dep; make''. If everything went ok do ``make clean''
once more to clean the sources.
@ -928,7 +937,7 @@ find information that actually should be covered elsewhere.
<sl>not</sl> just type make install. That would overwrite your host
system's files with Linux/MIPS-specific files with disastrous effects.
Instead install GNU libc into some other arbitrary directory &lt;somedir>
from which we'll move the parts we need for crosscompilation into the
from which we'll move the parts we need for cross-compilation into the
actual target directory:
<verb>
make install_root=<somedir> install
@ -956,7 +965,7 @@ find information that actually should be covered elsewhere.
<sect1>Building egcs again<p>
The first attempt of building egcs was stopped by lack of a GNU
libc. Since we now have libc installed we can rebuild egcs but this
time as complete as a crosscompiler installation can be:
time as complete as a cross-compiler installation can be:
<verb>
gzip -cd egcs-<version>.tar.gz | tar xf -
cd egcs-<version>
@ -976,29 +985,29 @@ find information that actually should be covered elsewhere.
3mb. Do not build gcov, protoize or unprotoize.
<sect1>Should I build the C++, Objective&nbsp;C or F77 compilers?<p>
The answer to this question largely depends on your use of your crosscompiler
The answer to this question largely depends on your use of your cross-compiler
environment. If you only intend to rebuild the Linux kernel then you have
no need for the full blown setup and can safely omit the Objective&nbsp;C and
F77 compilers. You must, however, build the C++ compiler, because building
the libraries included with the egcs distribution requires C++.
<sect1>Known problem when crosscompiling<p>
<sect1>Known problem when cross-compiling<p>
<sect2>IRIX crashes<p>
Origin&nbsp;200 running IRIX 6.5.1 may crash when running ``make depend''
on the Linux kernel sources. IRIX&nbsp;6.5 on Indy and IRIX&nbsp;6.5.4 on
Origin&nbsp;200 are known to work. Further reports on that help isulating
Origin&nbsp;200 are known to work. Further reports on that help isolating
the problematic configuration are welcome.
<sect2>Resource limits on System&nbsp;V based hosts<p>
Typical System&nbsp;V based Unices like IRIX or Solaris have limits for
the maximum number of arguments to be passed to a child process which
may be exceeded when crosscompiling some software like the Linux kernel
may be exceeded when cross-compiling some software like the Linux kernel
or GNU libc. For IRIX systems the maximum length of the argument list
defaults to 20kb while Linux defaults to at least 128kb. This size
can be modified by the command ``systune ncargs 131072'' as root.
<sect1>GDB<p>
Building GDB as crossdebugger is only of interest to kernel developers; for
Building GDB as cross-debugger is only of interest to kernel developers; for
them GDB may be a life saver. Such a remote debugging setup always
consists of two parts: the remote debugger GDB running on one machine and
the target machine running the Linux/MIPS kernel being debugged. The machines

View File

@ -1,6 +1,7 @@
<!doctype linuxdoc system>
<!--
v1.13 correct bad link to Boot.... howto
v1.12 add pointer to BootRootRaidLilominihowot
and obsolete message
v1.11 add RedHat info
@ -20,15 +21,16 @@
<title>Root RAID HOWTO cookbook
<author>Michael A. Robinton, <url url="mailto:michael@bzs.org"
name="michael@bzs.org">
<date>v1.12, May 2, 2000
<date>v1.13, July 17, 2000
<abstract>
This document only applys to the <bf/OLD/ raidtools, versions 0.50 and
under. The workarounds and solutions addressed in this write up have largely
been made obsolete by the vast improvment in the 0.90 raidtools and
accompanying kernel patch to the 2.0.37, 2.2x and 2.3x series kernels. You
may find the detailed descriptions useful, particularly if you plan to run
root raid or use initrd. Read on for a reference to set up of Boot Root Raid
using conventional LILO and accompanying initrd working scripts. What
root raid or use initrd. Check these links for a reference to set up of
<ref id="newhowto" name="Boot Root Raid
using conventional LILO"> and accompanying initrd working scripts. What
follows is the description of the now <bf/OBSOLETE Root RAID HOWTO/.
This document was originally written to provide a cookbook for creating a
root mounted raid filesystem and companion fallback rescue system using
@ -70,12 +72,13 @@ Available in SGML and HTML.
name="ftp.bizsystems.net/pub/raid/">
</quote>
<sect1>More up-to-date Boot Root Raid with LILO minihowto
<label id="newhowto">
<sect1>More up-to-date Boot Root Raid with LILO howto
<p>
Available in LaTeX (for DVI and PostScript), plain text, and HTML.
<quote> <url url="http://www.linuxdoc.org/HOWTO/Root-RAID-HOWTO.html"
name="http://www.linuxdoc.org/HOWTO/Root-RAID-HOWTO.html">
<quote> <url url="http://www.linuxdoc.org/HOWTO/Boot+Root+Raid+LILO.html"
name="http://www.linuxdoc.org/HOWTO/Boot+Root+Raid+LILO.html">
</quote>
Available in SGML and HTML.
<quote> <url url="ftp://ftp.bizsystems.net/pub/raid/"
@ -2220,7 +2223,7 @@ id="Appendix-E">
+ err = do_md_stop(minor, inode);
+ if (err) {
+ printk("md: enabling auto mdstop for %s\n",
kdevname(inode->i_rdev));
devname(inode->i_rdev));
+ md_dev[minor].auto_mdstop = 1;
+ }
+ return err;