This commit is contained in:
gferg 2000-11-13 15:38:38 +00:00
parent d99980fcde
commit b4f5c61314
8 changed files with 890 additions and 346 deletions

View File

@ -3,17 +3,20 @@
<title>BogoMips mini-Howto
<author>Wim van Dorst, <htmlurl url="mailto:baron@clifton.hobby.nl"
name="baron@clifton.hobby.nl">
<date>Version 2000-10-21
<date>v30, 2000-11-09
<abstract>
<nidx>BogoMips</nidx><nidx>BogoMips!international</nidx>
This text gives some information about BogoMips, compiled
from various sources such as news and e-mail.
This text is retrievable from the various Linux archives in the file
<htmlurl url="http://www.hobby.nl/~clifton" name="HOWTO/mini/BogoMips">.
Translations are available, as far as I know, in
French, Japanese, Italian, German, Polish, Portuguese,
<htmlurl url="http://www.linux.org.tw/CLDP" name="Chinese">, and
<htmlurl url="http://free.netlap.hu/howto/BogoMips.html" name="Hungarian">
This text, in it most up to date version, is retrievable from
its homepage at <htmlurl url="http://www.hobby.nl/~clifton"
name="www.clifton.nl">, and at the various Linux archives in the file
.../HOWTO/mini/BogoMips. Translations are available, as far as I know,
in French, Japanese, Italian, German, Polish, Portuguese, <htmlurl
url="http://hroch.zero.sk/howto-bogo.shtml" name="Slovak">, <htmlurl
url="http://www.linux.org.tw/CLDP" name="Chinese">, and <htmlurl
url="http://free.netlap.hu/howto/BogoMips.html" name="Hungarian">
from appropriate archives.
An explanatory article, titled 'the Quintessential Linux Benchmark,'
@ -28,11 +31,12 @@ be send per e-mail to the author.
<toc>
<sect>Lowest and highest BogoMips ratings
<p>
The following are the lowest and the highest BogoMips
<p>The following are the lowest and the highest BogoMips
ratings, are reported directly to me, or published on Usenet.
<sect1>The lowest Linux boot sequence BogoMips value
<p>
<itemize>
<item>Tim Van der Linden, <tt/timvdl@innet.be/
@ -41,22 +45,25 @@ ratings, are reported directly to me, or published on Usenet.
</itemize>
<sect1>The highest single-CPU Linux boot sequence BogoMips value
<p>
<itemize>
<item>Rob Farrell <tt/rpf@speakeasy.net/
<item>Intel Pentium III, at 866 MHz
<item>1723.60 BogoMips
<item>Stuart Trusty, <tt/stuart@linuxlabs.com/
<item>AMD Athlon at 1100 MHz
<item>2182.35 BogoMips
</itemize>
<sect1>The highest multiple-CPU Linux boot sequence BogoMips value
<p>
<itemize>
<item>Peter Rival <tt/frival@zk3.dec.com/
<item>Peter Rival, <tt/frival@zk3.dec.com/
<item>31x Alpha EV67 CPUs, at 731 MHz, SMP
<item>46170.90 BogoMips
</itemize>
<sect1>The highest non-Linux BogoMips value
<p>
<itemize>
<item><tt/zumbusch@iam.uni-bonn.de/
@ -66,21 +73,21 @@ ratings, are reported directly to me, or published on Usenet.
</itemize>
<sect>The frequently asked questions about BogoMips
<p>
Several authors have contributed to my knowledge of BogoMips. In
<p>Several authors have contributed to my knowledge of BogoMips. In
this place, I would like to thank them highly.
<sect1>What are BogoMips
<p>
Quoted from the Internet, origin currently unknown but
brought to the attention by Eric S Raymond <tt/esr@thyrsus.com/,
and Geoff Mackenzie <tt/freon@dialstart.net/, there is an humourously
illustrative definition of BogoMips as ''the number of million times per
second a processor can do absolutely nothing.''
<p>
On a more precise basis, from Lars Wirzenius'
<tt/wirzeniu@kruuna.Helsinki.FI/ mail of 9 September 1993, explaining
Bogomips, with additional detailed information by Alessandro Rubini,
<p>Quoted from the Internet, origin unknown but brought to the attention
by Eric S Raymond <tt/esr@thyrsus.com/, and Geoff Mackenzie
<tt/freon@dialstart.net/, there is an humourously illustrative
definition of BogoMips as ''the number of million times per second
a processor can do absolutely nothing.''
<p>On a more precise basis, from Lars Wirzenius'
<tt/wirzeniu@kruuna.Helsinki.FI/ mail of 9 September 1993, explaining
Bogomips, with additional detailed information by Alessandro Rubini,
<tt/rubini@norgana.systemy.it/, and by Wim van Dorst:
<quote>
@ -122,9 +129,15 @@ find . -name '*.[hcS]' -exec fgrep loops_per_sec {} /dev/null \;
find . -name '*.[hcS]' -exec fgrep udelay {} /dev/null \;
</verb></quote>
The BogoMips calculation loop for the non Intel CPUs is similar
but not the same, because it is programmed in another assembler
language. BogoMips is however the only portable way over the various
CPUs (Intel-type and non Intel-type) for getting an indication of
the CPU speed. Even CPU clock speed is not available on all CPUs.
<sect1>How to estimate what the proper BogoMips rating should be
<p>
>From a initiative by Ian Jackson, <tt/ijackson@nyx.cs.du.edu/, and
<p>From a initiative by Ian Jackson, <tt/ijackson@nyx.cs.du.edu/, and
Przemek Klosowski, much updated and expanded by Wim van Dorst for
current data, as listed below:
@ -156,6 +169,7 @@ Mips R4600 clock * 1.00 5.6
Alpha 21264 clock * 1.99 11.1
AMD K5/K6/K6-2/K6-III clock * 2.00 11.1
AMD Duron clock * 2.00 11.1
UltraSparc II clock * 2.00 11.1
Pentium MMX clock * 2.00 11.1
PowerPC 604/604e/750 clock * 2.00 11.1
@ -169,13 +183,10 @@ Note that the BogoMips calculation loop does not take full
advantage of the parallelism of various processors, such
as the Intel Pentium and the Alpha 21164.
Note that the BogoMips calculation loop for the non-Intel
CPUs is similar but not the same.
<sect1>How to determine what the current BogoMips rating is
<p>
There are three methods to determine the current BogoMips, viz.
<p>There are three methods to determine the current BogoMips, viz.
<enum>
<item>looking in <tt>/proc/cpuinfo</tt>, e.g., with
@ -220,8 +231,8 @@ on nearly every system with a C compiler.
<sect1>Variations in BogoMips rating
<p>
>From Linus Torvalds, <tt/torvalds@cc.helsinki.fi/, explaining about the
<p>From Linus Torvalds, <tt/torvalds@cc.helsinki.fi/, explaining about the
variation one may see in the BogoMips rating, in c.o.l.development,
at 28 April 1994
@ -246,7 +257,7 @@ be solved: recompile the kernel specifically for your CPU.
NOT change over the various kernel versions. Furthermore, it is
intrinsically the same for all CPUs of all makes.
<p>What did change in kernel version 2.2.13 is the CPU state
<p>What did change in kernel version 2.2.14 is the CPU state
setting just before the BogoMips calculation. This affects the
BogoMips rating for all Intel and AMD Pentium variations, resulting
in approximately 2*clock, where these were not 2*clock. The
@ -254,8 +265,8 @@ entries based on these upgraded kernel versions are marked
in the list below with an initial *.
<sect1>BogoMips ... failed
<p>
Suggested by various questions on the net and private mail,
<p>Suggested by various questions on the net and private mail,
e.g., by Lily, <tt/lbliao@alumni.caltech.edu/, and by Pierre Frenkiel,
<tt/frenkiel@cdfap2.in2p3.fr/. In March 1995 they asked:
@ -294,8 +305,8 @@ needed for your hardware configuration.
<sect1>What about clone CPUs (Cyrix, NexGen, AMD, etc)
<p>
Cyrix 486-like CPUs need cache enabling software, sometimes
<p>Cyrix 486-like CPUs need cache enabling software, sometimes
referred to as BogoBoost software. Cyrix 5x86 and 6x86 CPUs may
have their BogoMips improved drastically by branch-prediction
(BIOS option). Note that the performance improvement may be
@ -315,8 +326,8 @@ K5 and the K6 are Pentium-like CPUs, with their own BogoMips multipliers.
<sect1>Why to pay attention to BogoMips
<p>
Let me add that there are only two reasons for paying attention
<p>Let me add that there are only two reasons for paying attention
to the BogoMips rating that is presented on booting Linux:
<enum>
@ -342,17 +353,16 @@ to the BogoMips rating that is presented on booting Linux:
Note that more serious uses for real benchmarking are
addressed in the Linux Benchmarking Howto by André D. Balsa.
<sect>Compilation of ratings
<p>
The following table gives some reported BogoMips ratings for various
<p>The following table gives some reported BogoMips ratings for various
systems: more than 1200 entries by more than 1000 different persons, from
approximately 50 different countries. Note that the ratings here are
from the actual Linux booting sequence, except of course for the
section on Non-Linux Systems.
<sect1>Oddly or faultily configured 386 systems
<p>
<verb>
System BogoMips Reporter
@ -368,6 +378,7 @@ section on Non-Linux Systems.
</verb>
<sect1>Normal 386 systems: SX, DX, Nexgen
<p>
<verb>
System BogoMips Reporter
@ -457,6 +468,7 @@ section on Non-Linux Systems.
</verb>
<sect1>Oddly or faultily configured 486 systems
<p>
<verb>
System BogoMips Reporter
@ -518,6 +530,7 @@ section on Non-Linux Systems.
</verb>
<sect1>Normal 486 systems
<p>
<verb>
System BogoMips Reporter
@ -739,6 +752,7 @@ section on Non-Linux Systems.
</verb>
<sect1>Normal 486 variations: Cyrix/IBM, UMC
<p>
<verb>
System BogoMips Reporter
@ -779,6 +793,7 @@ section on Non-Linux Systems.
</verb>
<sect1>Oddly or faultily configured Pentium systems, or variations
<p>
<verb>
System BogoMips Reporter
@ -799,6 +814,7 @@ section on Non-Linux Systems.
</verb>
<sect1>Normal Pentium systems
<p>
<verb>
System BogoMips Reporter
@ -942,6 +958,7 @@ section on Non-Linux Systems.
</verb>
<sect1>Normal Pentium variations: Intel
<p>
<verb>
System BogoMips Reporter
@ -1077,17 +1094,22 @@ section on Non-Linux Systems.
* Pentium III/450 901.12 Darrick Wong <DarrickWong@mindspring.com>
* Pentium III/500 999.42 Shawn D. MacIntyre <sdm1560@hotmail.com>
* Pentium III/500 999.75 Darrick Wong <DarrickWong@mindspring.com>
* Pentium III/550 1094.45 Benedicto Junior <benjr@elo.com.br>
* Pentium III/550 1101.50 Julius Wijaya <jwijaya@gmx.co.uk>
* Pentium III/560 1117.39 Jurriaan <thunder@xs2all.nl>
* Pentium III/600 1192.76 Taco IJsselmuiden <taco@wep.tudelft.nl>
* Pentium III/600 1192.76 Alex Jenner <alexj@ihug.co.nz>
* Pentium III/700 1299.19 Vipul Mathur <vipul@linux-delhi.org>
* Pentium III/700 1399.19 Vipul Mathur <vipul@linux-delhi.org>
* Pentium III/700 1399.19 Chris Raters <craters@toasty.com>
* Pentium III/700 1441.79 <a.giachino@ekkinc.com>
* Pentium III/730 1461.45 Timm Murray <admin@madtimes.com>
* Pentium III/800 1592.52 Slawomir Axzkowski <slawek@talex.com.pl>
* Pentium III/800 1592.52 Simon Horn <dinoming@hotmail.com>
* Pentium III/866 1723.60 Rob Farrell <rpf@speakeasy.net>
</verb>
<sect1>Normal Pentium variations: Cyrix, AMD
<p>
<verb>
System BogoMips Reporter
@ -1242,6 +1264,7 @@ section on Non-Linux Systems.
AMD K6-2/400 808.7 Bob <rebry@@atomicsys.com>
AMD K6-III/417 overcl 833.95 Chris Priest <chris@idol.demon.co.uk>
AMD K6-2/440 878.18 Steve Bourland <sbourlan@ecn.purdue.edu>
AMD K6-III/450 897.84 Craig <craig@pop.uky.edu>
AMD K6-2/450 overcl 901.12 Ted E. Suter <nexion@home.com>
AMD K6-2/450 overcl 901.12 Juan Domenech <domenech@tarraco.seric.es>
AMD K6-2/450 901.12 John Jaeger <john@jjgb.com>
@ -1250,14 +1273,16 @@ section on Non-Linux Systems.
AMD K6-2/455 3D overcl 914.23 Graham Reed <grwr@ssm.ca>
AMD K6-2/475 laptop 943.72 Chris Matthews <chris@masc.ca>
AMD K6-2/475 overcl 950.27 Willow <el-baul@ole.com>
AMD K6-2/475 overcl 950.27 Craig <craig@pop.uky.edu>
AMD K6-2/475 950.27 Craig <craig@pop.uky.edu>
AMD K6-2/500 999.42 Jon Berlin <jberlin@worldbank.org>
AMD K6-2/500 3D 999.42 Laurent <blackm@pop.multimania.com>
AMD K6-2/500 999.42 Robert <robert@mrcomputers.net>
AMD K6-2/500 999.42 Craig <craig@pop.uky.edu>
AMD K6-2/550 3D 1101.00 Jon Berlin <jberlin@worldbank.org>
AMD K6-2/550 1101.00 James Yang <jamesy@no-email>
AMD K6-2 550 1101.00 Hugh Wilson <hugh.e.wilson@gm.com>
AMD Duron/600 1205.86 Chad Daelhousen <loonxtall@hotmail.com>
AMD Duron/650 1294.34 Levi Ramsey <lramsey@student.umass.edu>
AMD Duron/700 1395.92 N. Fabiano <nicola.fabiano@pg.infn.it>
AMD Duron/700 1399.19 Stuart Trusty <stuart@linuxlabs.com>
@ -1272,7 +1297,9 @@ section on Non-Linux Systems.
AMD K7/750 748.75 Manuel Moran Vaquero <mmv@geocities.com>
AMD Athlon/755 752.03 Mark Steele <msteele@belent.com>
* AMD Athlon/500 996.51 Taco IJsselmuiden <taco@wep.tudelft.nl>
* AMD K7/700 1196.03 N. Dimpfl <norbert.dimpfl@primusnetz.de>
* AMD Athlon/600 1198.04 Carsten <heiming@informatik.uni-kl.de>
* AMD Athlon/600 1205.86 Stefan Schroepfer <scr@iis.fhg.de>
* AMD Athlon/630 1258.29 Nanagiotis Papadakos <papadako@csd.uoc.gr>
* AMD K7 Athlon/650 1294.34 Robbe Bihlmeyer <robbe@orcus.priv.at>
* AMD K7/650 1297.61 Travis Brown <tfb999@yahoo.com>
@ -1283,9 +1310,11 @@ section on Non-Linux Systems.
) AMD Athlon/750 1494.22 A Galinovic <thehack@fly.srk.fer.hr>
* AMD K7/750 1500.30 W Canaday <rgabill@ameritech.net>
* AMD Athlon/800 1605.63 Robert A. Morris <ramorris@yifan.net>
* AMD Athlon/1100 2182.35 Stuart Trusty <stuart@linuxlabs.com>
</verb>
<sect1>Normal Alpha systems
<p>
<verb>
System BogoMips Reporter
@ -1379,11 +1408,12 @@ section on Non-Linux Systems.
21264/500 DS20 996.15 Wayne Hall <wayne@uga.edu>
21264/500 XP1000 996.40 P. Caulfield <patrick@balti.london.sco.com>
21264/667 XP1000 1329.59 Lionel Tricon <Lionel.Tricon@compaq.com>
21264DP/666 Tsunami 1329.59 Jens Hoefkens <hoefkens@msu.edu>
21264DP/666 Tsunami 1329.59 Jens Hoefkens <hoefkens@msu.edu>
21264/730 Wildfire 1488.97 Lionel Tricon <Lionel.Tricon@compaq.com>
</verb>
<sect1>Normal Motorola systems
<p>
<verb>
System BogoMips Reporter
@ -1436,6 +1466,7 @@ section on Non-Linux Systems.
</verb>
<sect1>Other Systems: Sparc, PowerPC, Mips, Intel 8088/286 ELKS, IBM
<p>
<verb>
System BogoMips Reporter
@ -1522,6 +1553,7 @@ section on Non-Linux Systems.
</verb>
<sect1>Normal Multi CPU systems
<p>
<verb>
System BogoMips Reporter
@ -1631,6 +1663,7 @@ section on Non-Linux Systems.
</verb>
<sect1>Non-Linux systems (reference only)
<p>
<verb>
System OS BogoMips Reporter
@ -1725,17 +1758,17 @@ section on Non-Linux Systems.
Parnass2 144x PII/400 Myrinet 57684.96 <zumbusch@iam.uni-bonn.de>
</verb>
<sect>Signature
<p>
This next week
<htmlurl url="mailto:roderick@clifton.hobby.nl" name="Roderick">, and his
sisters <htmlurl url="mailto:isolde@clifton.hobby.nl" name="Isolde"> and
<htmlurl url="mailto:daphne@clifton.hobby.nl" name="Daphne"> have
autumn vacation. They typically 'have nothing to do,' therefore
'must have' their father's PC for playing Sesamestreet and
Busytown games. Oh, well, at least I have the PC during the working
days, for working.
<p>The children <htmlurl url="mailto:roderick@clifton.hobby.nl"
name="Roderick">, <htmlurl url="mailto:isolde@clifton.hobby.nl"
name="Isolde"> and <htmlurl url="mailto:daphne@clifton.hobby.nl"
name="Daphne"> are again back to school and baby daycare centre. Sheer
bliss, since school is where you learn new things. Isolde comes back
home and tell us that "today she learned the word book and tomorrow
she will learn the word hat." When I pointed out the word hat the
other day, she said: "No, daddy, I don't know the word hat yet,
because we have learned the letter aitch yet." Wijsneus.
Met vriendelijke groeten, Wim 'Dad' van Dorst.
<verb>

View File

@ -42,7 +42,7 @@ C++ Programming HOW-TO
<author>Al Dev (Alavoor Vasudevan)
<htmlurl url="mailto:alavoor@yahoo.com"
name="alavoor@yahoo.com">
<date>v22.0, 05 Nov 2000
<date>v23.0, 12 Nov 2000
<abstract>
This document discusses methods to avoid memory problems in C++ and
also will help you to program properly in C++ language.
@ -477,6 +477,67 @@ For example to convert integer to string do -
<chapt change> Rename String class! How??
-->
<sect> Rename String class! How??
<p>
If you want to rename the String class, just in case you do not like the name
or if there is a conflict with another name class with same name 'String'. You
can use this technique, in all the files where you do include String.h, insert
these lines:
<code>
#define String String_somethingelse_which_I_want
#include "String.h"
#undef String
// All your code goes here...
main()
{
String_somethingelse_which_I_want aa;
aa = " some sample string";
.......
}
</code>
The pre-processor will replace all literals of String to "String_somethingelse_which_I_want"
and immdiately undefines String
<!--
*******************************************
************ End of Section ***************
*******************************************
<chapt change> File Class
-->
<sect> File Class
<p>
You would use the File class to manipulate the operating system files.
This class is a imitation of Java's File class and will be very useful
in C++ programming. Using this File class in C++ you can do
if file <bf>exists()</bf> ?,
if directory <bf>exists()</bf> ?,
file <bf>length()</bf> and other functions.
<itemize>
<item> C++ File class is at
File.h
<url url="http://www.angelfire.com/nv/aldev/cpphowto/File.h">
and File.cpp
<url url="http://www.angelfire.com/nv/aldev/cpphowto/File.cpp">
<p>
<item> Java java.io.File class definition <url url="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html">
<item> Quick Reference on File Class <url url="http://unicornsrest.org/reference/java/qref11/java.io.File.html">
<item> File Class summary <url url="http://www.idi.ntnu.no/~database/SIF8020/java-api/java.io.File.html">
</itemize>
<!--
*******************************************
************ End of Section ***************
*******************************************
<chapt> C++ Zap (Delete) command <label id="zap">
-->
<sect> C++ Zap (Delete) command <label id="zap">
@ -757,10 +818,7 @@ You can find them using the Internet search engines like Yahoo, Lycos, Excite et
Visit the following C++ sites :-
<itemize>
<item>C++ STL basic string class <url url="http://www.sgi.com/Technology/STL/basic_string.html">
<item>C++ STL from SGI <url url="http://www.sgi.com/Technology/STL">
<item>C++ STL from RPI univ <url url="http://www.cs.rpi.edu/projects/STL/htdocs/stl.html">
<item>Lycos C++ STL site <url url="http://dir.lycos.com/Computers/Programming/Languages/C%2B%2B/Class_Libraries/STL">
<item>STL for C++ Programmers <url url="http://userwww.econ.hvu.nl/~ammeraal/stlcpp.html">
<item> See the section <ref id="stlref" name="STL References">
<p>
<item>C++ Crash-proof site <url url="http://www.troubleshooters.com/codecorn/crashprf.htm">
@ -916,9 +974,70 @@ Visit following locators which are related to C, C++ -
<chapt change> Overview of the STL
<chapt> STL References <label id="stlref">
-->
<sect> Overview of the STL
<sect> STL References <label id="stlref">
<p>
Please visit the following sites for STL -
<itemize>
<item> Very good intro to iterators
<url url="http://www.cs.trinity.edu/~joldham/1321/lectures/iterators/">
<item> CMU univ <url url="http://www.cs.cmu.edu/afs/andrew/course/15/129/Cpp/10-STL/">
<item> Intro to STL SGI
<url url="http://www.sgi.com/Technology/STL/stl_introduction.html">
<item> Mumits STL Newbie guide
<url url="http://www.xraylith.wisc.edu/~khan/software/stl/STL.newbie.html">
Mumit Khan's informative STL introduction is full of examples
<url url="http://abel.hive.no/C++/STL/stlnew.html">
<item> ObjectSpace examples: ObjectSpace has contributed over 300 examples to the public domain and these are a very good start for beginners.
<url url="ftp://butler.hpl.hp.com/stl/examples.zip">
<item> Joseph Y. Laurino's STL page.
<url url="http://weber.u.washington.edu/~bytewave/bytewave_stl.html">
<item> Musser's STL docs and examples. Very nice.
<url url="http://www.cs.rpi.edu/~musser/stl.html">
<item> STL Newbie home site.
<url url="http://www.xraylith.wisc.edu/~khan/software/stl/STL.newbie.html">
<item> Marian Corcoran's STL FAQ.
<url url="ftp://butler.hpl.hp.com/stl/stl.faq">
</itemize>
STL Tutorial:
<itemize>
<item> The best doc on tutorial - <url url="http://www.decompile.com/html/tut.html">
Mirror: <url url="http://mip.ups-tlse.fr/~grundman/stl-tutorial/tutorial.html">
<item> very good - <url url="http://www.yrl.co.uk/~phil/stl/stl.htmlx">
<item> C++ Standard Template LibraryAnother great tutorial, by Mark Sebern
<url url="http://www.msoe.edu/eecs/cese/resources/stl/index.htm">
<item> By Jak Kirman:
<url url="http://129.187.112.56/Misc/Computer/stl-tutorial/tutorial_9.html">
Mirrors : <url url="http://www.cs.brown.edu/people/jak/proglang/cpp/stltut/tut.html">
<url url="http://saturn.math.uaa.alaska.edu/~afjhj/cs403/stl/tutorial.html">
<item> Technical University Vienna by Johannes Weidl <url url="http://dnaugler.cs.semo.edu/tutorials/stl">
mirror <url url="http://www.infosys.tuwien.ac.at/Research/Component/tutorial/prwmain.htm">
<item> Colorful Tutorial <url url="http://www.codeproject.com/cpp/stlintroduction.asp">
</itemize>
Ready-made Components for use with the STL
<itemize>
<item> STL components Collected by Boris Fomitche
<url url="http://www.metabyte.com/~fbp/stl/components.html">
</itemize>
Main STL sites -
<itemize>
<item>C++ STL from SGI <url url="http://www.sgi.com/Technology/STL">
<item>C++ STL from RPI univ <url url="http://www.cs.rpi.edu/projects/STL/htdocs/stl.html">
<item>Lycos C++ STL site <url url="http://dir.lycos.com/Computers/Programming/Languages/C%2B%2B/Class_Libraries/STL">
<item>STL for C++ Programmers <url url="http://userwww.econ.hvu.nl/~ammeraal/stlcpp.html">
<item>C++ STL from halper <url url="http://www.halpernwightsoftware.com/stdlib-scratch/quickref.html">
</itemize>
<!--
*******************************************
************ End of Section ***************
*******************************************
-->
<sect1> Overview of the STL
<p>
The STL offers the programmer a number of useful data structures and algorithms. It is made up the following components.
@ -981,12 +1100,6 @@ pair<T1,T2> make_pair(const T1& f, const T2&,s)
as well as implementations of operator== and operator &lt . There is nothing complicated about this template class and you should be
able to use it without further guidance. To use it #include the header file pair.h. It crops up in a number of places but particularly
when using the set and map classes.
<!--
*******************************************
************ End of Section ***************
*******************************************
-->
<sect1> Header Files
<p>
To use the various bits of the STL you have to #include the appropriate header files. These may differ slightly from compiler to
@ -1025,7 +1138,52 @@ another option is use <table>
<member>a</member>
<member>a</member>
</simplelist>
<table loc=p>
<tabular ca="rll">
Line No.<colsep>Country <colsep>Capital <rowsep><hline>
1 <colsep>Norway <colsep>Oslo <rowsep>
2 <colsep>Japan <colsep>Tokyo <rowsep>
3 <colsep>Finland <colsep>Helsinki <rowsep>
</tabular>
<caption><bf>Some capitals</bf></caption>
</table>
-->
<!-- Put a line space after &lowbar below to avoid space between.... -->
<table loc=p>
<tabular ca="rll">
Operation <colsep>Purpose <colsep>Vector <colsep>List <colsep>Set <colsep>Map <rowsep><hline>
== <colsep>comparison <colsep>* <colsep>*<colsep>*<colsep>*<rowsep>
&lt<colsep> comparison<colsep> *<colsep> *<colsep> *<colsep> *<rowsep>
begin<colsep> iterator<colsep> *<colsep> *<colsep> *<colsep> *<colsep><rowsep>
end<colsep> iterator<colsep> *<colsep> *<colsep> *<colsep> *<rowsep>
size<colsep> no. of elements<colsep> *<colsep> *<colsep> *<colsep> *<rowsep>
empty<colsep> is container empty<colsep> *<colsep> *<colsep> *<colsep> *<rowsep>
front<colsep> first element<colsep> *<colsep> * <rowsep>
back<colsep> last element<colsep> *<colsep> * <rowsep>
&lsqb &rsqb <colsep> element access/modification<colsep> *<colsep> <colsep> <colsep>*<colsep><rowsep>
insert<colsep> insert element(s)<colsep> *<colsep> *<colsep> *<colsep> *<rowsep>
push&lowbar
back<colsep> insert new last element<colsep> *<colsep> *<colsep> <rowsep>
push&lowbar
front<colsep> insert new first element<colsep> <colsep>*<colsep> <rowsep>
erase<colsep> remove element(s)<colsep> *<colsep> *<colsep> *<colsep> *<rowsep>
pop&lowbar
back<colsep> remove last element<colsep> *<colsep> *<colsep> <rowsep>
pop&lowbar
front<colsep> remove last element<colsep> <colsep>*<colsep> <rowsep>
</tabular>
<caption><bf>Container Class Interface</bf></caption>
</table>
<!--
<code>
Operation Purpose Vector List Set Map
== comparison * * * *
@ -1044,6 +1202,7 @@ erase remove element(s) * * * *
pop_back remove last element * *
pop_front remove last element *
</code>
-->
If the following discussion leaves something unclear
(and it will) you can always write a small test program to investigate how
@ -1427,7 +1586,7 @@ The comparison operators <= and >= also work.
-->
<sect1> Iterators and the STL
<p>
This section to be written
See the section <ref id="stlref" name="STL References">
<!--
*******************************************
************ End of Section ***************
@ -1436,7 +1595,7 @@ This section to be written
-->
<sect1> Lists
<p>
This section to be written
See the section <ref id="stlref" name="STL References">
<!--
*******************************************
************ End of Section ***************
@ -2051,7 +2210,7 @@ void main()
-->
<sect1> Maps
<p>
This section not yet written.
See the section <ref id="stlref" name="STL References">
<!--
*******************************************
************ End of Section ***************
@ -2060,7 +2219,34 @@ This section not yet written.
-->
<sect1> STL Algorithms
<p>
This section not yet written.
See the section <ref id="stlref" name="STL References">
<!--
*******************************************
************ End of Section ***************
*******************************************
<chapt change> C++ Utilities
-->
<sect> C++ Utilities
<p>
Visit the following sites for C++ Utilities
<itemize>
<item> C++ Binary File I/O
<url url="http://www.angelfire.com/nv/aldev/cpphowto/cpp_BinaryFileIO.html">
and at <url url="http://aldev.50megs.com/cpphowto/cpp_BinaryFileIO.html" name="mirror site">
<p>
<item> Portability Guide
<url url="http://www.angelfire.com/nv/aldev/cpphowto/cpp_PortabilityGuide.html">
and at <url url="http://aldev.50megs.com/cpphowto/cpp_PortabilityGuide.html" name="mirror site">
<p>
<item> Snippets collections of C++ routines
<url url="http://www.angelfire.com/nv/aldev/cpphowto/cpp_Snippets.html">
and at <url url="http://aldev.50megs.com/cpphowto/cpp_Snippets.html" name="mirror site">
and at <url url="http://www.strangecreations.com/library/snippets" name="snippets site">
</itemize>
<!--
*******************************************
************ End of Section ***************
@ -2203,9 +2389,9 @@ owners.
<chapt> Appendix A example_String.cpp <label id="Appendix A">
<chapt> Appendix A String Program Files <label id="Appendix A">
-->
<sect> Appendix A example_String.cpp <label id="Appendix A">
<sect> Appendix A String Program Files <label id="Appendix A">
<p>
You can download all programs as a single tar.gz file from <ref id="Download String">.
To get this file, in the web-browser, save this file as 'Text' type.
@ -2216,6 +2402,10 @@ To get this file, in the web-browser, save this file as 'Text' type.
<url url="http://www.angelfire.com/nv/aldev/cpphowto/String.h">
<item> String.cpp
<url url="http://www.angelfire.com/nv/aldev/cpphowto/String.cpp">
<item> File.h
<url url="http://www.angelfire.com/nv/aldev/cpphowto/File.h">
<item> File.cpp
<url url="http://www.angelfire.com/nv/aldev/cpphowto/File.cpp">
<item> my_malloc.cpp
<url url="http://www.angelfire.com/nv/aldev/cpphowto/my_malloc.cpp">
<item> my_malloc.h

View File

@ -2,13 +2,12 @@
<article>
<title>FBB Packet-radio BBS mini-HOWTO
<title>FBB packet-radio BBS mini-HOWTO
<author>Miroslav "Misko" Skoric, YT7MPB,
<tt/m.skoric@eunet.yu/
<date>v1.2, 05 October 2000
<date>v1.3, 12 November 2000
<abstract>
<nidx>linux windows nt amateur packet radio</nidx>
<nidx>linux!windows nt!amateur!packet!radio!modem!TNC</nidx>
This mini-HOWTO covers the installation and use of
the most popular amateur packet-radio BBS
software FBB. That software works under Linux, DOS
@ -20,6 +19,7 @@ useful calculations etc. Packet radio is a way of
connecting computers via amateur radio stations.
</abstract>
<sect>INTRODUCTION
<p>
@ -51,12 +51,12 @@ packet radio abilities.
with 32 MB of RAM and VGA color graphics, I
switched to a Windows version of FBB (so called
WinFBB). Author of the software, an radio amateur
from France, Jean-Paul F6FBB, made several
from France, Jean-Paul F6FBB, has made many
versions of WinFBB, including 16 bit variant for
Windows 3.x and Windows 9x as well as 32 bit variant for
Windows NT. I have run both versions until now
(at the moment it is WinFBB v7.00g25 under Windows
NT 4.0).
Windows NT. I have run both variants until now
(at the moment it is 16 bit WinFBB v7.00g25 that runs
ok under Windows NT 4.0).
<p>The main
difference between DosFBB and WinFBB is that the
@ -69,7 +69,9 @@ packet radio message.
<p>In the mean time, I upgraded my system to the
Celeron 400 MHz with 96 MB of RAM and a big hard
disk that has enough room to try Linux...
disk that has enough room to install Linux and try
LinFBB ...
<sect>INSTALLATION
@ -85,125 +87,129 @@ disk that has enough room to try Linux...
be ok too (or any other GUI available).
<p>
<item>Download or copy LinFBB (the main ftp site
<item>Download or get a copy of LinFBB (the main ftp site
is <url url="http://ftp.f6fbb.org/" name=
"ftp.f6fbb.org"> but there are many mirror
sites too). For example, if you get a file
like <tscreen><verb>x700e_full.tgz</verb></tscreen>
it means that it is X11 version 7.00e and it
contains all you need in tgz archive to install
contains in a tgz archive all you need to install
the BBS. On the other hand, a name like
<tscreen><verb>xd700g_full.tgz</verb></tscreen>
means that it is not X11 but daemon version 7.00g
and it is also complete to unpack. Further,
means that it is <em>not</em> X11 but <em>daemon</em>
version 7.00g that is also complete to unpack. Further,
<tscreen><verb>x700f01.tgz</verb></tscreen>
and <tscreen><verb>x700g.tgz</verb></tscreen>
are "upgrades" to any previous "full" package.
<p>
<item>Copy the archive file in <bf>/tmp</bf> directory.
<item>Copy the archive file in <filename id="directory">/tmp
</filename> directory.
<p>
<item>You have to make a "base" directory where
your FBB will be installed. For example you
may type: <bf>mkdir /usr/local/fbb</bf> if you want
may type: <command>mkdir /usr/local/fbb</command> if you want
FBB to be there. You have to be logged as
'root' or 'superuser' to install FBB.
<p>
<item>Then, you should locate yourself in that
directory: <bf>cd /usr/local/fbb</bf>.
directory: <command>cd /usr/local/fbb</command>.
<p>
<item>Now, you should unpack the archive:
<bf>tar xvzf /tmp/x700b25.tgz</bf> (<-- use the right
<command>tar xvzf /tmp/x700b25.tgz</command> (<-- use the right
name of the archive here).
<p>
<item>When you finished unpacking the archive,
you may continue installing the software:
<bf>./install.sh</bf> is the command for that. The
<command>./install.sh</command> is the command for that. The
setup will ask you for the 'base' directory
where FBB will be installed. If you chose
<bf>/usr/local/fbb</bf> again, you will be told that
<filename id="directory">/usr/local/fbb</filename> again,
you will be told that
such directory already exists and all files
will be overwritten. It is ok, so you should
answer yes. If everything is ok, you should
see on the screen that fbb system
directories are created. At the beginning
of that procedure, program will ask you for
bbs's callsign, name of the city, QTH
locator, your name etc. That details will
become a part of <bf>/usr/local/fbb/init.srv</bf>
the BBS's callsign, name of the city, QTH
locator, your name etc. These details will
become a part of <filename>/usr/local/fbb/init.srv</filename>
file.
<p>
<item>Beside that, you MUST check this file
<bf>again</bf> manually and fix other details if
needed (because installation script does
not fix all parts of init.srv).
<item>After that, you MUST check this file
<bf>again</bf> manually in order to fix some other
details needed (because installation script does
not fix all parts within that file).
<p>
<item>Well, so far - so good. After you checked
<item>Well, so far - so good. After you have checked
all configuration files, you may start the
software: <bf>./xfbb.sh</bf> (<-- type this within
an xterm or something similar). When you
start FBB for the first time, it will ask
software: <command>./xfbb.sh</command> (<-- type this within
an <em>xterm</em> or something similar). When you
start FBB for the <em>first</em> time, it will ask
you to create some files it needs, so you
should answer yes to the questions.
should answer "yes" to the questions.
</itemize>
<p>
<sect1>How to install LinFBB beside WinFBB
<sect1>How to install LinFBB in addition to existing WinFBB
<p>
<em>Notice: Folks, you see, at my place, I have a
dual-boot system, consisting of Windows NT and
Linux (each of them having their own partition(s)
and file system). I wanted to have 'independent'
operating systems that won't see each other. So I
made two NT's partitions as NTFS partitions and
operating systems that won't "see" each other. So, I
have made two partitions of NTFS type for NT. The
rest of the space used Linux as ext2 partitions.
Well, first I have installed WinFBB under NT and
LinFBB under Linux. Both of them worked, but there
was a big "problem": I could not share their
system files. You might say: So, what a big deal.
But, my FBB's should serve as packet forwarding
stations, so it would be very useful for LinFBB
to know the point where WinFBB stopped the mail
exchange last time (and vice versa). </em>
But, my FBB's should serve as a packet-radio forwarding
stations (regardless of which one I boot at the
moment), so it was really needed for new LinFBB
to "know", for example, the position where WinFBB
has stopped the mail exchange last time (and vice
versa, of course).</em>
<p>
<itemize>
<item>Well, in order to allow both WinFBB under
Windows NT and LinFBB under Linux to use
some common files, it is needed to put these
Windows NT and LinFBB under Linux to share
their system files, it is needed to put those
files in a place both operating systems can
"see" them. So I do that by re-installing
"see". So, I do that by re-installing
WinFBB onto a FAT (FAT16) partition that is
seen by NT and Linux. The best way to do
that is to install a fresh copy of WinFBB on
a FAT partition and to copy complete old
WinFBB from NTFS partition over the fresh
recognized by NT and Linux. The best way to do
that is: a) to install a fresh copy of WinFBB on
a FAT partition and b) to copy the complete old
WinFBB from an NTFS partition over the fresh
installation (whenever you are asked to
rewrite existing files, you should answer
yes).
"yes").
<p>
<item>When it is finished, you should have a clone
<item>When that is finished, you should have a "clone"
of the existing old WinFBB, but this time on
the FAT partition that is visible from under
Linux. Anyway, you should check if
everything is running ok like before.
Linux. Anyway, you should check if the "new"
installation might be properly run as earliere.
<p>
<item>It is also recommended to check the file
<item>I could also recommended you to check the file
tree of WinFBB in order to become more
familiar with that. The file tree of LinFBB
is a bit different so it is advisable to
note those details.
note various details.
<p>
<item>Some files can't be used as such under both
@ -212,18 +218,20 @@ exchange last time (and vice versa). </em>
be renamed:
<p>
<tscreen><verb>init.srv -> init_w.srv
<tscreen><verb>
init.srv -> init_w.srv
forward.sys -> forw_w.sys
port.sys -> port_w.sys
protect.sys -> prot_w.sys</verb></tscreen>
protect.sys -> prot_w.sys
</verb></tscreen>
<p>
FBB is able to recognize those changes.
<p>
<item>Make a backup of the new WinFBB (I make this
by copying the whole file structure into
another Windows partition that won't be
<item>Make a backup of the new WinFBB (I do this
by copying the whole FBB file structure into
the other Windows partition that won't be
shared with Linux, like NTFS one).
<p>
@ -233,74 +241,76 @@ exchange last time (and vice versa). </em>
<p>
<item>Mount a shared FAT directory:
<bf>mount -t vfat /dev/hda2 /mnt/win</bf>
<command>mount -t vfat /dev/hda2 /mnt/win </command>
(for example).
<p>
<item>Copy LinFBB archive to <bf>/tmp</bf> directory.
<item>Copy LinFBB archive to <filename id="directory">/tmp</filename> directory.
<p>
<item>Locate yourself to a 'base' directory:
<bf>cd /usr/local/fbb</bf> (for example).
<item>Position yourself to the 'base' directory:
<command>cd /usr/local/fbb</command> (for example).
<p>
<item>Unpack the archive: <bf>tar xvzf /tmp/filename</bf>.
<item>Unpack the archive: <command>tar xvzf /tmp/filename</command>.
<p>
<item>Start the installation script <bf>./install.sh</bf>
and, after asked for the 'base' installation
directory, chose <bf>/usr/local/fbb</bf>. Doesn't
matter if the program warns you that such
directory already exists so existing files
will be overwritten (by the way, if you
choose a mounted directory shared with NT,
many original WinFBB files would be over-
written by LinFBB files, so after returning
to Windows, WinFBB might not be functional
like before).
<item>Start the installation script <command>./install.sh</command>
and, after being asked for the 'base' installation
directory, chose <filename id="directory">/usr/local/fbb
</filename>. It doesn't matter if the program
warns you that such directory already exists so
existing files will be overwritten (by the way,
if you chose a mounted directory shared with NT,
many original WinFBB files, located there, would be
over-written by LinFBB files, so after returning
to Windows, its WinFBB might be not functional
as before).
<p>
<item>Copy <bf>/usr/local/fbb</bf> to <bf>/mnt/win/fbb</bf> but do
*not* over-write existing files with new files
<item>Copy <filename>/usr/local/fbb</filename> to
<filename>/mnt/win/fbb</filename> but do
*not* over-write existing files with the new files
having the same names.
<p>
<item>Copy <bf>/mnt/win/fbb/init_w.srv</bf> to a file
<bf>/mnt/win/fbb/init_l.srv</bf>
<item>Copy <filename>/mnt/win/fbb/init_w.srv</filename> to a file
<filename>/mnt/win/fbb/init_l.srv</filename>
<p>
<item>Edit <bf>/mnt/win/fbb/init_l.srv</bf> to what is
needed for Linux. You may use the existing
file <bf>/mnt/win/fbb/init.srv</bf> as an example.
<item>Edit <filename>/mnt/win/fbb/init_l.srv</filename> to that what is
needed for Linux and LinFBB. You may use the existing
file <filename>/mnt/win/fbb/init.srv</filename> as an example.
<p>
<item>Copy newly edited <bf>/mnt/win/fbb/init_l.srv</bf>
over the <bf>/mnt/win/fbb/init.srv</bf> (if you do
not do that, maybe you couldn't start LinFBB
using <bf>./xfbb.sh</bf> , like me).
<item>Copy newly edited <filename>/mnt/win/fbb/init_l.srv</filename>
over the <filename>/mnt/win/fbb/init.srv</filename> (if you do
not do that, maybe you wouldn't be able to start LinFBB
using <command>./xfbb.sh</command>, like me).
<p>
<item>Copy <bf>/mnt/win/fbb/system/port_w.sys</bf> to
<bf>/mnt/win/fbb/system/port_l.sys</bf> file.
<item>Copy <filename>/mnt/win/fbb/system/port_w.sys</filename> to
<filename>/mnt/win/fbb/system/port_l.sys</filename> file.
<p>
<item>Edit <bf>/mnt/win/fbb/system/port_l.sys</bf> to
what is needed for Linux. You may use the
existing file <bf>/mnt/win/fbb/system/port.sys</bf>
<item>Edit <filename>/mnt/win/fbb/system/port_l.sys</filename> to
what is needed for Linux and LinFBB. You may use the
existing file <filename>/mnt/win/fbb/system/port.sys</filename>
as an example.
<p>
<item>Edit <bf>/mnt/win/fbb/xfbb.sh</bf> in order to fix
<item>Edit <filename>/mnt/win/fbb/xfbb.sh</filename> in order to fix
the right path.
<p>
<item>Ensure that you are in FBB's main directory:
<bf>cd /mnt/win/fbb</bf> (for example).
<command>cd /mnt/win/fbb</command> (for example).
<p>
<item>Start the script <bf>./xfbb.sh</bf> to run LinFBB.
If everything is ok, LinFBB under Linux
should run with the same parameters as
WinFBB does under Windows.
<item>Start the script <command>./xfbb.sh</command> to run LinFBB.
If everything is ok, your LinFBB under Linux
should run with the same configuration as
your "old" WinFBB under Windows.
</itemize>
@ -321,7 +331,9 @@ haven't made a manual in english yet. I keep
trying to translate the original manuals
from spanish into english, but it is a hard
process. Any good 'spanish-to-english'
translator is welcomed to contact me.</em>
translator is welcomed to contact me:
<htmlurl url="mailto:m.skoric@eunet.yu"
name="m.skoric@eunet.yu">.</em>
<p>
Protus offers several interesting features:
@ -366,12 +378,12 @@ Protus offers several interesting features:
for different BBS ports,
<p>
<item>Protus could be activated/deactivated at various
intervals of time using CRON.SYS system file,
<item>Protus could be activated/deactivated at various
intervals of time using <filename>cron.sys</filename> system file,
<p>
<item>Passwords could be remotely managed, using an
external server developed by Jose EB5IVB,
<item>Passwords could be managed remotely using an
external server, developed by Jose EB5IVB,
<p>
<item>...
@ -379,7 +391,8 @@ Protus offers several interesting features:
</itemize>
<p>
Let's see what should be done in order to
Well, let's see what should be done in order to
implement secure access to the FBB packet
radio BBS, using Protus type of <em>c_filter</em>:
@ -388,12 +401,12 @@ radio BBS, using Protus type of <em>c_filter</em>:
<item>Users of Dos/WinFBB versions of Protus
already know that it is needed to create a new
directory <bf>\FBB\PROTUS</bf> where several *.PRT
directory <tt>\FBB\PROTUS</tt> where several *.PRT
files should be placed. In addition, the
main C_FILT*.DLL files should be copied
into <bf>\FBB\BIN</bf> as well as a couple of "system",
into <tt>\FBB\BIN</tt> as well as a couple of "system",
i.e. config *.PRT files that are going to be
within <bf>\FBB\SYSTEM</bf> directory.
within <tt>\FBB\SYSTEM</tt> directory.
<p>
<item>After the sysop has copied all files into
@ -408,7 +421,7 @@ radio BBS, using Protus type of <em>c_filter</em>:
information that are sent to users who
connect to the BBS). For your information,
I usualy don't care much about, because my
BBS's are so called "open systems". It means
BBS's are, so called, "open systems". It means,
they work quite normal for all users in the
same way as they worked before using Protus.
Only a couple of callsigns have password
@ -427,7 +440,7 @@ radio BBS, using Protus type of <em>c_filter</em>:
system. Users of your system who don't have
their password, connect normally as before.
Users who's callsigns have password implemented,
are prompted for password just after connections.
are prompted for password just after their connections.
<p>
<item>The author of Protus, Jesus EB5AGF, has made
@ -436,7 +449,7 @@ radio BBS, using Protus type of <em>c_filter</em>:
of security: a fixed phrase as a password
(similar when you connect to the Internet
via telephone line, but this way the phrase
can be masqueraded within the longer answer);
can be masqueraded within some longer answer);
a changeable answer to the 5 numbers (just
like usual FBB sysop's password); a mode
that uses automatic answer from user's client
@ -451,9 +464,9 @@ radio BBS, using Protus type of <em>c_filter</em>:
that DosFBB and WinFBB versions of Protus have
been using, so I considered that it was enough
just to copy the same directory structure when
I wanted to implement Protus under LinFBB. It
was wrong. After I have pulled out the
remaining hair, the thing started to work, so
I started the installation of Protus under LinFBB.
It was wrong. After having pulled out the
remaining hair, the thing started to work, so,
now I am going to tell you what to do.
<p>
@ -462,34 +475,34 @@ radio BBS, using Protus type of <em>c_filter</em>:
and LinFBB under Linux (see also <tt>Linux+WinNT
mini-HOWTO</tt> and <tt>Lilo mini-HOWTO</tt>). That means
all Protus stuff has already been installed,
except Linux executable of <em>c_filter</em> file. I
put that file into <bf>/fbb/bin</bf> directory and,
except Linux executable <filename>c_filter</filename> file.
I put that file into <tt>/fbb/bin</tt> directory and,
after the next restart of LinFBB, I got the
info mentioned above: {PROTUS-4.0}. But the
password protection was not likely to work.
I was told to make a new directory <bf>/var/ax25/fbb/protus</bf>
I was told to make a new directory <tt>/var/ax25/fbb/protus</tt>
and put *.prt files there. I <em>didn't move</em> *.PRT
files from <bf>\FBB\PROTUS</bf> but <em>copied</em> them into
files from <tt>\FBB\PROTUS</tt> but <em>copied</em> them into
the new location, because I wanted Protus to
run further under WinFBB as before. The utility
still didn't want to run, unless I copied
<em>also</em> *.PRT files from <bf>\FBB\SYSTEM</bf> to the
new location (<bf>/var/ax25/fbb/protus</bf>). After I
did that, everything became good.
still didn't want to run, unless I also copied
<em>also</em> *.PRT files from <tt>\FBB\SYSTEM</tt> to the
new location (<tt>/var/ax25/fbb/protus</tt>). After I
did that, Protus became functional.
<p>
<item>Well, I suppose, the above info would be
useful for those of you who intend to run
both Windows and Linux on the same machine.
For the majority of LinFBB users, it is only
important to make <bf>/var/local/fbb/protus</bf>
For the majority of LinFBB-only users, it is just
important to make <tt>/var/local/fbb/protus</tt>
where <em>all</em> *.prt files should be placed. <em>Only</em>
c_filter executable should go to <bf>/fbb/bin</bf>
<filename>c_filter</filename> executable should go to <tt>/fbb/bin</tt>
and that's it.
<p>
<item>About FBB-to-FBB protection: *both* partners
have to install Protus and password for the
have to install Protus and the password for the
forwarding partner's callsign must be the
same at *both* sides of the link. The versions
of Protus don't need to be the same (neither
@ -502,13 +515,13 @@ radio BBS, using Protus type of <em>c_filter</em>:
<p>
<item>One of the interesting features of Protus is to
log unsuccessful connections. Due to the
<em>different</em> locations of *.prt files here, I have
separate logs for WinFBB and LinFBB. Those of
you who are going to run only one version of
FBB, will have <em>one</em> complete log of connection
log unsuccessful connections and other errors. Due to the
<em>different</em> locations of <filename>*.prt</filename>
files here, I have separate logs for WinFBB and LinFBB.
Those of you who are going to run only one version of
FBB, will have <em>one</em> complete log of all
errors, your users make when they try
connecting your BBS.
connecting your BBS.
<p>
<item>As it was told earlier, if you implemented
@ -516,23 +529,23 @@ radio BBS, using Protus type of <em>c_filter</em>:
users (but not for all of them who connect
normally) - your system is considered as
an "open" one. It means that will be logged
only unsuccessful tries to enter the system
by "protected" callsigns. But, if you decided
that your BBS can be accessed by <em>only</em> those
only these unsuccessful tries to enter the system
by "protected" callsigns. But, if you have decided
that your BBS is to be accessed by <em>only</em> those
callsigns who are protected with Protus, it
means that your system is the "closed" one.
Then, there is no way a user could enter your
FBB unless its callsign has given a password
within your Protus. Any unauthorized try to
connect your BBS is logged. In addition,
means that your system is considered as the "closed" one.
Then, there is no way that other users (without passwords
given) could enter your FBB. Any unauthorized try to
connect your BBS is also logged. In addition,
you may decide to have a "guest" access or
a "read-only" as default for some ports as
well for users who enter the wrong password.
a "read-only" as <em>default</em> for some ports and/or
for those users who enter the wrong password.
Many combinations are possible. You could
even password protect your own FBB console!
</itemize>
<sect>FURTHER INFORMATION
<p>
@ -637,4 +650,165 @@ Any comments or suggestions can be mailed to my
email address:
<htmlurl url="mailto:m.skoric@eunet.yu"
name="m.skoric@eunet.yu">.
<sect1>HOWTO
<p>
<nidx>disk!information resources!HOWTOs</nidx>
These are intended as the primary starting points to
get the background information as well as show you how to solve
a specific problem.
Some relevant HOWTOs are <tt/Bootdisk/, <tt/Installation/, <tt/SCSI/ and <tt/UMSDOS/.
The main site for these is the
<url url="http://metalab.unc.edu/LDP/"
name="LDP archive">
at Metalab (formerly known as Sunsite).
<sect1>Mini-HOWTO
<p>
<nidx>disk!information resources!mini-HOWTOs</nidx>
These are the smaller free text relatives to the HOWTOs.
Some relevant mini-HOWTOs are
<tt/Backup-With-MSDOS/, <tt/Diskless/, <tt/LILO/, <tt/Large Disk/,
<tt/Linux+DOS+Win95+OS2/, <tt/Linux+OS2+DOS/, <tt/Linux+Win95/,
<tt/Linux+WinNT/, <tt/Linux+NT-Loader/, <tt/NFS-Root/, <tt/Win95+Win+Linux/,
<tt/ZIP Drive/, <tt/FBB packet-radio BBS/.
You can find these at the same place as the HOWTOs, usually in a sub directory
called <tt/mini/. Note that these are scheduled to be converted into SGML and
become proper HOWTOs in the near future.
<sect1>Local Resources
<p>
<nidx>disk!information resources!local</nidx>
In most distributions of Linux there is a document directory installed,
have a look in the
<htmlurl url="file:///usr/doc"
name="/usr/doc"> directory.
where most packages store their main documentation and README files etc.
Also you will here find the HOWTO archive (
<htmlurl url="file:///usr/doc/HOWTO"
name="/usr/doc/HOWTO">)
of ready formatted HOWTOs
and also the mini-HOWTO archive (
<url url="file:///usr/doc/HOWTO/mini"
name="/usr/doc/HOWTO/mini">)
of plain text documents.
Many of the configuration files mentioned earlier can be found in the
<htmlurl url="file:///etc"
name="/etc">
directory. In particular you will want to work with the
<htmlurl url="file:///etc/fstab"
name="/etc/fstab">
file that sets up the mounting of partitions
and possibly also
<htmlurl url="file:///etc/mdtab"
name="/etc/mdtab">
file that is used for the <tt/md/ system to set up RAID.
The kernel source in
<url url="file:///usr/src/linux"
name="/usr/src/linux">
is, of course, the ultimate documentation. In other
words, <em>use the source, Luke</em>.
It should also be pointed out that the kernel comes not only with
source code which is even commented (well, partially at least)
but also an informative
<url url="file:///usr/src/linux/Documentation"
name="documentation directory">.
If you are about to ask any questions about the kernel you should
read this first, it will save you and many others a lot of time
and possibly embarrassment.
Also have a look in your system log file (
<htmlurl url="file:///var/log/messages"
name="/var/log/messages">)
to see what is going on and in particular how the booting went if
too much scrolled off your screen. Using <tt>tail -f /var/log/messages</tt>
in a separate window or screen will give you a continuous update of what is
going on in your system.
You can also take advantage of the
<htmlurl url="file:///proc"
name="/proc">
file system that is a window into the inner workings of your system.
Use <tt/cat/ rather than <tt/more/ to view the files as they are
reported as being zero length. Reports are that <tt/less/ works well here.
<sect1>Web Pages
<p>
<nidx>disk!information resources!WWW</nidx>
<nidx>disk!information resources!web pages</nidx>
There is a huge number of informative web pages out there and by their very
nature they change quickly so don't be too surprised if these links become
quickly outdated.
A good starting point is of course the
<url url="http://www.linuxdoc.org/"
name="Linux Documentation Project"> home page,
an information central for documentation, project pages and much, much more.
Please let me know if you have any other leads that can be of interest.
<sect>GETTING HELP
<p>
<nidx>(your index root)!assistance, obtaining</nidx>
In the end you might find yourself unable to solve your problems and need
help from someone else. The most efficient way is either to ask someone
local or in your nearest Linux user group, search the web for the nearest
one.
Another possibility is to ask on Usenet News in one of the many, many
newsgroups available. The problem is that these have such a high
volume and noise (called low signal-to-noise ratio) that your question
can easily fall through unanswered.
No matter where you ask it is important to ask well or you will not be
taken seriously. Saying just <it/my disk does not work/ is not going
to help you and instead the noise level is increased even further and if
you are lucky someone will ask you to clarify.
Instead describe your problems in some detail that
will enable people to help you. The problem could lie somewhere you did
not expect. Therefore you are advised to list up the following information
on your system:
<descrip>
<tag/Hardware/
<itemize>
<item>Processor
<item>DMA
<item>IRQ
<item>Chip set (LX, BX etc)
<item>Bus (ISA, VESA, PCI etc)
<item>Expansion cards used (Disk controllers, video, IO etc)
</itemize>
<tag/Software/
<itemize>
<item>BIOS (On motherboard and possibly SCSI host adapters)
<item>LILO, if used
<item>Linux kernel version as well as possible modifications and patches
<item>Kernel parameters, if any
<item>Software that shows the error (with version number or date)
</itemize>
<tag/Peripherals/
<itemize>
<item>Type of disk drives with manufacturer name, version and type
<item>Other relevant peripherals connected to the same busses
</itemize>
</descrip>
Remember that booting text is logged to <tt>/var/log/messages</tt> which can
answer most of the questions above. Obviously if the drives fail you might not
be able to get the log saved to disk but you can at least scroll back up the
screen using the <tt/SHIFT/ and <tt/PAGE UP/ keys. It may also be useful to
include part of this in your request for help but do not go overboard, keep
it <em/brief/ as a complete log file dumped to Usenet News is more than a
little annoying.
</article>

View File

@ -43,7 +43,7 @@ LILO, Linux Crash Rescue HOW-TO
<author>Al Dev (Alavoor Vasudevan)
<htmlurl url="mailto:alavoor@yahoo.com"
name="alavoor@yahoo.com">
<date>v3.0, 21 Oct 2000
<date>v4.0, 12 Nov 2000
<abstract>
This document discusses methods to recover from Linux system failures.
Various reasons for linux system failures can be -
@ -131,7 +131,8 @@ bash# /sbin/lilo -r /a4
<p>
If scene 1 and 2 failes, then
if you made the boot disk with 'mkbootdisk' (during install or
by using 'man mkbootdisk'), boot with it and repair your partitions
by using 'man mkbootdisk'), boot with it and repair your partitions.
The mkbootdisk is in mkbootdisk*.rpm package, you must install this.
<p>
<item> <bf>SCENE 4:</bf> If 1, 2 and 3 above fails and you do not have boot disk
<p>
@ -146,6 +147,7 @@ bash# cp /etc/lilo.conf /etc/lilo-original.conf
<code>
bash# mkbootdisk /dev/fd0
</code>
The mkbootdisk is in mkbootdisk*.rpm package, you must install this.
Make sure you move the /etc/lilo-original.conf back to /etc/lilo.conf!! And
then take this floppy and goto scene 3
<p>

View File

@ -1,37 +1,32 @@
<!doctype linuxdoc system>
<!-- TODO: loader= -->
<!-- Lilo mini-howto -->
<article>
<!-- Title information -->
<title>Lilo mini-Howto
<author>Miroslav Skoric (<tt/m.skoric@eunet.yu/)
<date>v3.2, 05 November 2000
<title>Lilo mini-HOWTO
<author>Miroslav "Misko" Skoric, <tt/m.skoric@eunet.yu/
<date>v3.3, 12 November 2000
<abstract>
<nidx>linux loader windows nt boot</nidx>
LILO is the most used <bf/Li/nux <bf/Lo/ader for the x86 flavour of
Linux; I'll call it Lilo rather than LILO here because I don't
appreciate uppercase. This file describes some typical Lilo
installations. It's intended as a supplement to the Lilo User's
Guide. I think examples are informative even if your setup isn't much
like mine. I hope this saves you trouble. Since Lilo's own
appreciate uppercase. This file describes some typical Lilo
installations. It's intended as a supplement to the Lilo User's
Guide. I think examples are informative even if your setup isn't much
like mine. I hope this saves you trouble. Since Lilo's own
documentation is very good, who's interested in the details is
referred to /usr/doc/lilo*
referred to /usr/doc/lilo* (once upon a time said gentlemen like
Cameron Spitzer and Alessandro Rubini who have made early versions
of this document)
<p>
This version of Lilo mini-HOWTO is based on work of Cameron Spitzer
(<tt/cls@truffula.sj.ca.us/) and Alessandro Rubini (<tt/rubini@linux.it/).
There is also a contribution from Tony Harris (<tt/tony@nmr.mgh.harvard.edu/)
</abstract>
<!-- Table of contents -->
<toc>
<!-- Begin the document -->
<sect>Introduction
<p>
Although the documentation found in Lilo's sources (the one installed
in <tt>/usr/doc/lilo</tt>-version) is very comprehensive, most Linux
@ -69,40 +64,46 @@ doesn't run anything but Linux, so he can't check
nor update them by himself. Needless to say, any feedback is welcome.
<sect>Background Information and Standard Installation
<p>
When Lilo boots the system, it uses BIOS calls to load the Linux
kernel off the disk (IDE drive, floppy or whatever). Therefore, the
kernel must live in some place that can be accessed by the bios.
<p>
At boot time, Lilo is not able to read filesystem data, and any
pathname you put in <tt>/etc/lilo.conf</tt> is resolved at
installation time (when you invoke <em>/sbin/lilo</em>). Installation
installation time (when you invoke <command>/sbin/lilo</command>). Installation
time is when the program builds the tables that list which sectors are
used by the files used to load the operating system. As a consequence,
all of these files must live in a partition that can be accessed by
the BIOS (the files are usually located in the <tt>/boot</tt>
directory, this means that only the root partition of your Linux
system needs to be accessed via the BIOS).
<p>
Another consequence of being BIOS-based is that you must reinstall the
loader (i.e., you must reinvoke <em>/sbin/lilo</em>) any time you
loader (i.e., you must reinvoke <command>/sbin/lilo</command>) any time you
modify the Lilo setup. Whenever you recompile your kernel and
overwrite your old image you must reinstall Lilo.
<sect1>Where Should I Install Lilo?
<p>
The <tt/boot=/ directive in <tt>/etc/lilo.conf</tt> tells Lilo where
it should place its primary boot loader. In general, you can either
specify the master boot record (<tt>/dev/hda</tt>) or the root
partition of your Linux installation (is usually is <tt>/dev/hda1</tt>
or <tt>/dev/hda2</tt>).
<p>
If you have another operating system installed in your hard drive,
you'd better install Lilo to the root partition instead of the MBR. In
this case, you must mark the partition as ``bootable'' using the ``a''
command of <em>fdisk</em> or the ``b'' command of <em>cfdisk</em>. If
you don't overwrite the master boot sector you'll find it easier to
uninstall Linux and Lilo if needed.
command of <command>fdisk</command> or the ``b'' command of <command>cfdisk
</command>. If you don't overwrite the master boot sector you'll find it
easier to uninstall Linux and Lilo if needed.
<p>
Of course, you always have a way to avoid some "rules" like above. Well,
you may install Lilo to the MBR even if you already have another operating
@ -111,27 +112,32 @@ first operating system on your machine, then NT's boot loader was placed into
the MBR so you were able to boot NT without problems. After you installed
Linux and chose to install Lilo to the MBR, Lilo rewrote NT's boot loader.
Next time you boot your machine, you won't be able to boot NT. But, there
is no problem. You just should edit your /etc/lilo.conf and add a new entry
for NT. Next time you re-boot your system, there will be the new added entry
for NT under Lilo.
is no problem. You should edit your <tt>/etc/lilo.conf</tt> and add a new entry
for NT. Next time you re-boot your system, there will be the new added NT entry
under Lilo menu.
<sect1>How Should I Configure my IDE Hard Drives?
<p>
I personally don't use LBA or LARGE settings in the BIOS (but I only
run Linux); they are horrible kludges forced on by design deficiencies
in the PC world. This requires that the kernel lives in the first 1024
cylinders, but this is not a problem as long as you partition your
hard drives and keep root small (as you should do anyways).
<p>
If your hard disk already carries another operating system, you won't
be able to modify the BIOS settings, or the old system won't work any
more. All recent Lilo distribution are able to deal with LBA and LARGE
disk settings.
<p>
Note that the "<tt/linear/" keyword in <tt>/etc/lilo.conf</tt> can
help in dealing with geometry problems. The keyword instructs Lilo to
use linear sector addresses instead of sector/head/cylinder tuples.
Conversion to 3D addresses is delayed to run-time, therefore making
the setup more immune to geometry problems.
<p>
If you have more than one hard disk and some of them are only used by
Linux and are not involved in the boot process, you can tell your BIOS
@ -140,11 +146,13 @@ Linux will autodetect all the disks in no time. I often switch disks
in my computers, but I never touch the BIOS configuration.
<sect1>How Can I Interact at Boot Time?
<p>
When you see the Lilo prompt, you can hit the &lt;Tab&gt; key to show
the list of possible choices. If Lilo is not configured to be
interactive, press and hold the &lt;Alt&gt; or &lt;Shift&gt; key
before the ``LILO'' message appears.
<p>
If you choose to boot a Linux kernel, you can add command-line
arguments after the name of the system you choose. The kernel accepts
@ -161,14 +169,14 @@ important and worth describing here:
installation, and I've been able to boot the system after
destroying my root partition by mistake.
<item><tt/init=/: verson 1.3.43 and newer of the Linux kernel can
execute another command instead of <tt>/sbin/init</tt>, as specified
on the command line. If you experience bad problems
<item><tt/init=/: version 1.3.43 and newer of the Linux kernel can
execute another command instead of <command>/sbin/init</command>,
as specified on the command line. If you experience bad problems
during the boot process, you can access the bare system by
specifying <tt>init=/bin/sh</tt> (when you are at the shell
prompt you most likely will need to mount your disks: try
``<tt>mount -w -n -o remount /; mount -a</tt>'',
and remember to ``<tt>umount -a</tt>'' before turning off
``<command>mount -w -n -o remount /; mount -a</command>'',
and remember to ``<command>umount -a</command>'' before turning off
the computer).
<item>A number: by specifying a number on the kernel command line, you
@ -180,12 +188,13 @@ important and worth describing here:
</itemize>
<sect1>How Can I Uninstall Lilo?
<p>
When Lilo overwrites a boot sector, it saves a backup copy in
<tt>/boot/boot.</tt><em/xxyy/, where <em/xxyy/ are the major and minor
numbers of the device, in hex. You can see the major and minor numbers
of your disk or partition by running ``<tt>ls -l
/dev/</tt><em/device/''. For example, the first sector of
of your disk or partition by running ``<command>ls -l
/dev/<em>/device</em></command>''. For example, the first sector of
<tt>/dev/hda</tt> (major 3, minor 0) will be saved in
<tt>/boot/boot.0300</tt>, installing Lilo on <tt>/dev/fd0</tt> creates
<tt>/boot/boot.0200</tt> and installing on <tt>/dev/sdb3</tt> (major
@ -194,32 +203,36 @@ create the file if there is already one so you don't need to care about
the backup copy whenever you reinstall Lilo (for example, after
recompiling your kernel). The backup copies found in <tt>/boot/</tt>
are always the snapshot of the situation before installing any Lilo.
<p>
If you ever need to uninstall Lilo (for example, in the unfortunate
case you need to uninstall Linux), you just need to restore the
original boot sector. If Lilo is installed in <tt>/dev/hda</tt>, just
do ``<tt>dd if=/boot/boot.0300 of=/dev/hda bs=446 count=1</tt>'' (I
personally just do ``<tt>cat /boot/boot.0300 > /dev/hda</tt>'', but
this is not safe, as this will restore the original partition table as
do ``<command>dd if=/boot/boot.0300 of=/dev/hda bs=446 count=1</command>''
(I personally just do ``<command>cat /boot/boot.0300 > /dev/hda</command>'',
but this is not safe, as this will restore the original partition table as
well, which you might have modified in the meanwhile). This command is
much easier to run than trying ``<tt>fdisk /mbr</tt>'' from a DOS
much easier to run than trying ``<command>fdisk /mbr</command>'' from a DOS
shell: it allows you to cleanly remove Linux from a disk without ever
booting anything but Linux. After removing Lilo remember to run Linux'
<em>fdisk</em> to destroy any Linux partition (DOS' <em>fdisk</em> is
unable to remove non-dos partitions).
<command>fdisk</command> to destroy any Linux partition (DOS' <command>fdisk
</command> is unable to remove non-dos partitions).
<p>
If you installed Lilo on your root partition (e.g., <tt>/dev/hda2</tt>),
nothing special needs to be done to uninstall Lilo. Just run Linux'
<em>fdisk</em> to remove Linux partitions from the partition
<command>fdisk</command> to remove Linux partitions from the partition
table. You must also mark the DOS partition as bootable.
<sect1>How to make a ram disk?
<p>
<em>If you find this part of text hard to read, you may also look for
a web page: http://surfer.nmr.mgh.harvard.edu/partition/ramdisk.html
<em>Notice: If you find the next section hard to read, you may also look for
the web page: http://surfer.nmr.mgh.harvard.edu/partition/ramdisk.html where
you would find the original of the contributed section.
</em>
<p>
by Tony Harris
16 Oct 2000
@ -233,13 +246,13 @@ as a module very early in the boot cycle.
There are only two easy steps:
<itemize>
<item>make a ram disk image with <tt/mkinitrd/
<item>make a ram disk image with <command>/mkinitrd</command>
<item>modify lilo.conf to point to the image
<item>modify <tt>lilo.conf</tt> to point to the image
</itemize>
First, I cd over to <tt//boot/:
First, I <command>cd</command> over to <tt//boot/:
System.map chain.b module-info-2.2.16-3ext3
System.map-2.2.16-3 initrd-2.2.16-3.img vmlinux-2.2.16-3
@ -258,15 +271,17 @@ already a ram disk image for my first kernel (<tt/initrd-2.2.16-3.img/)
To make a new image for the second kernel, I type the following (stuff I
type is in bold):
<tt//boot#/ mkinitrd initrd-2.2-16-3ext3.img 2.2.16-3ext3
boot#<command>mkinitrd initrd-2.2-16-3ext3.img 2.2.16-3ext3</command>
<tt/mkinitrd/ is a shellscript that looks at the modules needed by my
kernel, then makes an ext2 filesystem containing them.
If we look inside the image we see this is the case:
<tt//boot#/ cat initrd-2.2.16-3ext3.img | gunzip > /tmp/myimage
<tt//boot#/ file /tmp/myimage
<tt//tmp/myimage: Linux/i386 ext2 filesystem/
boot#<command>cat initrd-2.2.16-3ext3.img | gunzip > /tmp/myimage</command>
boot#<command>file /tmp/myimage</command>
/tmp/myimage: Linux/i386 ext2 filesystem/
<p>
You do not have to look inside your image. Only making the image and
@ -276,29 +291,46 @@ image is provided for pedagogic purposes.
In order to look inside, I need to mount the image as though it were
a filesystem:
<tt//boot#/ mount /tmp/myimage /mnt/tmp -t ext2 -o loop=/dev/loop3
boot#<command>mount /tmp/myimage /mnt/tmp -t ext2 -o loop=/dev/loop3</command>
boot#<command>ls /mnt/tmp</command>
<tt//boot#/ ls /mnt/tmp
<tt/bin dev etc lib linuxrc/
<tt//boot#/ find /mnt/tmp
boot#<command>find /mnt/tmp</command>
<tt//mnt/tmp/
<tt//mnt/tmp/lib/
<tt//mnt/tmp/lib/aic7xxx.o/
<tt//mnt/tmp/bin/
<tt//mnt/tmp/bin/sh/
<tt//mnt/tmp/bin/insmod/
<tt//mnt/tmp/etc/
<tt//mnt/tmp/dev/
<tt//mnt/tmp/dev/console/
<tt//mnt/tmp/dev/null/
<tt//mnt/tmp/dev/ram/
<tt//mnt/tmp/dev/systty/
<tt//mnt/tmp/dev/tty1/
<tt//mnt/tmp/dev/tty2/
<tt//mnt/tmp/dev/tty3/
<tt//mnt/tmp/dev/tty4/
<tt//mnt/tmp/linuxrc/
The most important part of this ram disk image is (<tt/aic7xxx.o/,
@ -310,12 +342,16 @@ Here is my entry in (<tt/lilo.conf/ that corresponds to the kernel and
image I just created:
<tt/image=/boot/vmlinuz-2.2.16-3ext3/
<tt/label=linux.ext3/
<tt/initrd=/boot/initrd-2.2.16-3ext3.img/
<tt/read-only/
<tt/root=/dev/hdb3/
That's it. Run <tt/lilo/ as root and reboot.
That's it. Run <command>/lilo</command> as root and reboot.
<p>
If you have problems, check out the kernel <tt/HOWTO/. There are a
@ -324,6 +360,7 @@ compiled and living in (<tt//etc/conf.modules/.
<sect>The Simple Configuration
<p>
Most Lilo installations use a configuration file like the
following one:
@ -343,6 +380,7 @@ other = /dev/hda4 # your dos partition, if any
table = /dev/hda # the current partition table
label = dos # or any non-fancy name
</verb>
<p>
You can have multiple ``image'' and ``other'' sections if you want. It's
not uncommon to have several kernel images configured in your
@ -350,6 +388,7 @@ not uncommon to have several kernel images configured in your
development.
<sect1>How to Deal with Big Kernels
<p>
If you compile a ``zImage'' kernel and it is too big to fit in half a
megabyte (this is commong with new 2.1 kernels), you should build a
@ -358,19 +397,8 @@ kernel image nothing special is needed, but you need version 18 or
newer of Lilo. If your installation is older, you should upgrade your
Lilo package.
<sect1>Other Sources of Information
<p>
In addition to the Lilo docs, there are a number of mini-howto's that
can be useful for your needs. All of them are called
``Linux+<em/foobarOS/'', for some <em/foobarOS/, they deal with
coexistence of Linux and other operationg system(s). For example,
"NT OS Loader + Linux mini-HOWTO" by Bernd Reichert, describes how to
add an entry for Linux under existing Windows NT Loader's menu. Also,
``Multiboot-with-LILO'' describes how the various Windows flavours can
be made to coexist with Linux. Here we will talk about adding an entry
for Windows NT under the existing Lilo menu.
<sect1>How to Boot Windows NT from Lilo menu
<p>
Here I will give you an order of routines you have to do if you want
to have both Linux and NT entries under Lilo menu:
@ -385,11 +413,12 @@ to have both Linux and NT entries under Lilo menu:
would be placed into the MBR (Master Boot Record) of your hard
disk. But, there is a possibility for a previous content of
the MBR to remain within the MBR (especially any previous
Lilo), so I would suggest you (befrre installation of NT) to
Lilo), so I would suggest you (before installation of NT) to
boot the computer with a DOS floppy diskette having DOS version
of FDISK. At the prompt a:\ just enter the command: fdisk /mbr
and restart the computer again (without that floppy).
<p>
<item>After you have successfully installed your NT, you will see that
it uses the whole hard disk or a specific partition of the hard
disk (depending on what you decided during the setup process).
@ -418,6 +447,7 @@ to have both Linux and NT entries under Lilo menu:
NT in order to check the new situation: you may use Windows
Explorer or Disk Administrator for that.
<p>
<item>So far so good. Next step is to install your Linux. Case you
are familiar with RedHat distribution (I hope with other distros
is the same or similar), you start by putting your installation
@ -433,6 +463,7 @@ to have both Linux and NT entries under Lilo menu:
Linux as Custom over the existing linux partitions). Lilo should
go to the MBR.
<p>
<item>After it looks that Linux installation is finished, you are going
to re-start the computer and there there you will only see Lilo
with one Linux entry to boot (or maybe more than one Linux
@ -450,6 +481,7 @@ to have both Linux and NT entries under Lilo menu:
<sect>Installing <tt/hdc/ to Boot as <tt/hda/ and Using <tt>bios=</tt>
<p>
Lilo allows to map the kernel image from one disk and instruct the
BIOS to retrieve it from another disk. For example, it's common for me
@ -458,6 +490,7 @@ secondary controller) and boot it as a standalong system on the primary
IDE controller of another computer. I copied the installation floppy
to a tiny partition, so I can run <em>chroot</em> in a virtual
console to install <tt/hdc/ while I use the system to do something else.
<p>
The <em>lilo.conf</em> file I use to install Lilo looks like:
@ -474,18 +507,21 @@ image = /boot/vmlinux # this is on /dev/hdc1
label = Linux
read-only
</verb>
<p>
This configuration file must be read by a Lilo running <bf>off
/dev/hdc1</bf>. The Lilo maps that get written the boot sector
(<tt>/dev/hdc</tt>) must refer to the files in <tt>/boot</tt>
(currently installed as hdc); such files will be accessed under hda
when this disk will be booted as a standalone system.
<p>
I call this configuration file <tt>/mnt/etc/lilo.conf.hdc</tt>
(<tt>/mnt</tt> is where hdc is mounted during the installation. I
install Lilo by invoking ``<tt>cd /mnt; chroot . sbin/lilo -C
/etc/lilo.conf.hdc</tt>''. Refer to the manual page for
<em>chroot</em> if this looks magic.
<p>
The ``<tt>bios=</tt>'' directive in <tt>lilo.conf</tt> is used to tell
Lilo what the BIOS thinks of your devices. BIOS calls identify floppy
@ -494,6 +530,7 @@ drives, 0x80 and the following numbers select hard disks (old BIOSes
can only access two disks). The meaning of ``<tt>bios = 0x80</tt> in
the previous sample file is therefore ``use 0x80 in your BIOS calls
for <tt>/dev/hdc</tt>''.
<p>
This Lilo directive can be handy in other situations, for example when
your BIOS is able to boot from SCSI disks instead of IDE ones. When
@ -501,6 +538,7 @@ both IDE and SCSI devices are there, Lilo can't tell whether 0x80 will
refer to one or the other because the user is able to choose it in the
BIOS configuration menus, and the BIOS can't be accessed while Linux
is running.
<p>
By default, Lilo assumes that IDE drives are mapped first by the BIOS,
but this can be overridden by using instructions like these in
@ -512,15 +550,18 @@ disk = /dev/sda
</verb>
<sect>Using Lilo When the BIOS Can't See the Root Partition
<p>
I have two IDE drives, and a SCSI drive. The SCSI drive can't be seen
from BIOS. The Linux Loader, Lilo, uses BIOS calls and can only see
drives that BIOS can see. My stupid AMI BIOS will only boot from "A:"
or "C:" My root file system is on a partition on the SCSI drive.
<p>
The solution consists in storing the kernel, map file, and chain
loader in a Linux partition on the first IDE. Notice that it is not
necessary to keep your kernel on your root partition.
<p>
The second partition on my first IDE (<tt>/dev/hda2</tt>, the Linux
partition used to boot the system) is mounted on <tt>/u2</tt>. Here
@ -566,30 +607,38 @@ other = /dev/hda1
alias = m
</verb>
<sect>Accessing Huge Disks When the BIOS Can't
<sect>Accessing Huge Disks When the BIOS Can't
<p>
Notice: 1GB is "Huge"? Well, once upon a time...
<p>
The system in my office has a 1GB IDE drive. The BIOS can only see
the first 504 MB of the IDE. (Where MB means 2**10 bytes, not 10**6
bytes.) So I have MS-DOS on a 350 MB partition <tt>/dev/hda1</tt> and
my Linux root on a 120 MB partition <tt>/dev/hda2</tt>.
<p>
MS-DOS was unable to install itself correctly when the drive was
fresh. Novell DOS 7 had the same problem. Luckily for me, "Options
by IBM" forgot to put the "OnTrack" diskette in the box with the
drive. The drive was supposed to come with a product called "OnTrack
Disk Manager." If you only have MSDOS, I guess you have to use it.
<p>
So I made a partition table with Linux' fdisk. MSDOS-6.2 refused to
install itself in <tt>/dev/hda1</tt>. It said something like ``this
release of MS-DOS is for new installations. Your computer already has
MS-DOS so you need to get an upgrade release from your dealer.''
Actually, the disk was brand new.
<p>
What a crock! So I ran Linux' fdisk again and deleted partition 1
from the table. This satisfied MS-DOS 6.2 which proceeded to create
the exact same partition 1 I had just deleted and installed itself.
MS-DOS 6.2 wrote its Master Boot Record on the drive, but it couldn't
boot.
<p>
Luckily I had a Slackware kernel on floppy (made by the Slackware
installation program "setup"), so I booted Linux and wrote Lilo over
@ -619,12 +668,14 @@ other = /dev/hda1
table = /dev/hda
loader = /boot/chain.b
</verb>
<p>
After I installed these systems, I verified that the partition
containing the zImage, boot.b, map, chain.b, and message files can use
an msdos file system, as long as it is not "stackered" or
"doublespaced." So I could have made the DOS partition on
<tt>/dev/hda1</tt> 500 MB.
<p>
I have also learned that "OnTrack" would have written a partition
table starting a few dozen bytes into the drive, instead of at the
@ -636,6 +687,7 @@ me Linux is broken because Linux doesn't use BIOS. I gave their
diskette away.
<sect>Booting from a Rescue Floppy
<p>
Next, I installed Windows-95 on my office system. It blew away my nice
Lilo MBR, but it left my Linux partitions alone. Kernels take a long
@ -651,10 +703,12 @@ I made the lilo floppy like so:
lilo -C /etc/lilo.flop # install Lilo and the map on the diskette.
umount /mnt
</verb>
<p>
Notice that the diskette <bf>must be mounted when you run the
installer</bf> so that Lilo can write its map file properly.
<P>
<p>
This file is /etc/lilo.flop. It's almost the same as the last one:
<verb>
@ -681,6 +735,7 @@ other = /dev/hda1
table = /dev/hda
loader = /mnt/chain.b
</verb>
<p>
Finally, I needed MS-DOS 6.2 on my office system, but I didn't
want to touch the first drive. I added a SCSI controller and
@ -695,7 +750,118 @@ other = /dev/sda1
table = /dev/sda
loader = /boot/any_d.b
</verb>
With this modification MSDOS-6.2 runs, and it thinks it is on C: and
Windows-95 is on D:.
<sect>Further Information
<p>
<sect1>Copyright
<p>
<em>Copyright is a source of much and continuous
debate on the LDP mailing list. For more in depth
information please consult the Manifesto at the
</em> <url url="http://www.LinuxDoc.org/"
name="LinuxDoc"> site.
<em>The purpose of having a license is to allow
appropriate distribution. You can use any license
that meets the Manifesto. What follows is a
boilerplatte license.
</em>
<p>
Copyright (c) 2000 by Miroslav "Misko" Skoric, YT7MPB.
<p>
Please freely copy and distribute (sell or give
away) this document in any format. It is
requested that corrections and/or comments be
forwarded to the document maintainer. You may
create a derivative work and distribute it
provided that you:
<itemize>
<item>
Send your derivative work (in the most suitable
format such as sgml) to the LDP (Linux
Documentation Project) or the like for posting
on the Internet. If not the LDP, then let the LDP
know where it is available.
<item>
License the derivative work with this same
license or use GPL. Include a copyright notice
and at least a pointer to the license used.
<item>
Give due credit to previous authors and major
contributors.
</itemize>
<p>
If you're considering making a derived work other
than a translation, it's requested that you
discuss your plans with the current maintainer.
<sect1>Disclaimer
<p>
Use the information in this document at your own
risk. I disavow any potential liability of this
document. Use of the concepts, examples, and/or
other content of this document is entirely at
your own risk.
All copyrights are owned by their owners, unless
specifically noted otherwise. Use of a term in
this document should not be regarded as
affecting the validity of any trademark or service
mark.
Naming of particular products or brands should not
be seen as endorsements.
You are strongly recommended to take a backup of
your system before major installation and backups
at regular intervals.
<sect1>Other Sources of Information
<p>
In addition to the Lilo docs, there are a number
of mini-howto's that can be useful for your needs.
All of them are called ``Linux+<em/foobarOS/'', for
some <em/foobarOS/, they deal with coexistence of
Linux and other operationg system(s). For example,
"NT OS Loader + Linux mini-HOWTO" by Bernd Reichert,
describes how to add an entry for Linux under existing
Windows NT Loader's menu. Next, you have "Linux+WindowsNT
mini-HOWTO" by myself, covering how to add an entry for NT
under existing Linux Lilo menu (more detailed than here).
Also, "Multiboot-with-LILO" describes how the various
Windows flavours can be made to coexist with Linux.
<em>This mini-HOWTO would be improved from time
to time. If you think that the HOWTO on your
Linux installation CD is some out-of-date, you
may check for newest release on the Internet. It
could be found within the main <url
url="http://www.linuxdoc.org/"
name="Linux Documentation Project">
homepage.
</em>
<sect1>Credits
<p>
<em>This version of mini-HOWTO can thanks to:</em>
<tscreen><verb>
Cameron Spitzer (<tt/cls@truffula.sj.ca.us/)
Alessandro Rubini (<tt/rubini@linux.it/)
Tony Harris (<tt/tony@nmr.mgh.harvard.edu/)
</verb></tscreen>
Any comments or suggestions can be mailed to my
email address:
<htmlurl url="mailto:m.skoric@eunet.yu"
name="m.skoric@eunet.yu">.
</article>

View File

@ -2,12 +2,11 @@
<article>
<title>Linux+WindowsNT mini-HOWTO
<author>Miroslav Skoric, <tt/m.skoric@eunet.yu/
<date>v2.3, 05 November 2000
<date>v2.4, 12 November 2000
<abstract>
<nidx>windows nt</nidx>
<nidx>linux loader windows nt boot</nidx>
This mini-HOWTO covers some ways on how to install both Linux
and Windows NT on the same computer and how to boot either of
them from within LILO menu. There is also another mini-HOWTO
@ -15,6 +14,7 @@ them from within LILO menu. There is also another mini-HOWTO
within NT Loader menu.
</abstract>
<sect>INTRODUCTION
<p>
@ -60,6 +60,7 @@ Linux. We'll see how to do that and how to use <bf/LILO/ (<bf/Li/nux
we'll see the procedure that Bill Wohler, the previous maintainer of
this mini-HOWTO, has been using:
<sect>HOW TO INSTALL: LINUX <em>FIRST</em>, WINDOWS NT <em>AFTER</em>
<p>
@ -87,11 +88,13 @@ this mini-HOWTO, has been using:
<p>
5. Add NT stanza to /etc/lilo.conf, e.g.:
<tt>other=/dev/sda1
<verb><tt>
other=/dev/sda1
label=NT
table=/dev/sda</tt>
table=/dev/sda
</tt><verb>
and run lilo. If lilo complains about this (I forget the message),
add the "linear" flag to /etc/lilo.conf near the "compact" keyword.
@ -138,9 +141,9 @@ Partition 1 does not end on cylinder boundary:
previously. Clear and restore the MBR (but not the signature) with:
<p>
<bf>dd if=/dev/zero of=/dev/sda bs=512 count=1
dd if=/dev/zero of=/dev/sda bs=512 count=1
dd if=/dev/fd0 of=/dev/sda bs=510 count=1</bf>
dd if=/dev/fd0 of=/dev/sda bs=510 count=1
<p>
8. Install the rest of Linux. Easy, huh?
@ -150,11 +153,11 @@ Partition 1 does not end on cylinder boundary:
<itemize>
<item><bf>dd if=/dev/zero of=/dev/sda bs=446 count=1</bf> (in Linux) or perform
<item>dd if=/dev/zero of=/dev/sda bs=446 count=1 (in Linux) or perform
a low-level format with the SCSI utilities. I've heard that a
low-level format of an IDE disk is fatal, so don't do it.
<item><bf>fdisk /mbr</bf> (you've obviously already created a DOS boot
<item>fdisk /mbr (you've obviously already created a DOS boot
disk that contains fdisk).
<item>delete NT partition and create it again in NT install.
@ -304,37 +307,28 @@ Partition 1 does not end on cylinder boundary:
<item>My added NT entry is:
<p>
<tt>
<verb><tt>
other=/dev/hda1
label=nt
</tt></verb>
<p>
So, the whole /etc/lilo.conf looks like this:
<p>
<verb><tt>
boot=/dev/hda
timeout=50
prompt
default=linux
vga=normal
read-only
image=/boot/vmlinuz-2.2.12-20
label=linux
root=/dev/hda3
other=/dev/hda1
label=nt
</tt>
</tt></verb>
<p>
<item>Some more explanations regarding details from my <tt>/etc/lilo.conf</tt>
@ -491,49 +485,35 @@ process shouldn't change too much, if any.
<item>My added NT entry is:
<p>
<verb><tt>
other=/dev/sda1
label=nt
</tt></verb>
<p>
So, the whole /etc/lilo.conf looks like this:
<p> so, the whole /etc/lilo.conf looks like this:
<p>
<verb><tt>
boot=/dev/sda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
default=linux
image=/boot/vmlinuz-2.2.12-20smp
label=linux-mp
initrd=/boot/initrd-2.2.12-20smp.img
read-only
root=/dev/sda6
image=/boot/vmlinuz-2.2.12-20
label=linux-up
initrd=/boot/initrd-2.2.12-20.img
read-only
root=/dev/sda6
other=/dev/hda1
label=nt
</tt></verb>
<p>
<item>Some more explanation, regarding details from my <tt>/etc/lilo.conf</tt>
@ -602,6 +582,7 @@ process shouldn't change too much, if any.
</itemize>
<sect>FURTHER INFORMATION
<p>
@ -611,8 +592,7 @@ process shouldn't change too much, if any.
LDP mailing list. For more in depth information please consult
the Manifesto at the </em>
<url url="http://www.LinuxDoc.org/"
name="LinuxDoc">
site.
name="LinuxDoc"> site.
<em>
The purpose of having a license is to allow appropriate distribution.
You can use any license that meets the Manifesto.
@ -643,8 +623,6 @@ Give due credit to previous authors and major contributors.
If you're considering making a derived work other than a translation,
it's requested that you discuss your plans with the current maintainer.
<sect1>Disclaimer
<p>
@ -662,20 +640,21 @@ Naming of particular products or brands should not be seen as endorsements.
You are strongly recommended to take a backup of your system before
major installation and backups at regular intervals.
<sect1>News
<p>
This is the second release featuring more samples and an improved structure.
Beside that, this version of Linux+WinNT mini-HOWTO is going to offer you
another procedure to install both Linux and NT on your computer. And doing
that on both IDE and SCSI disks.
This is not the first release of this mini-HOWTO. I
hope to improve it whenever possible.
Beside that, there are other documents that may help you to
install more than one operating system on the same computer.
You may look for them at the same location where you get
Linux+WindowsNT mini-HOWTO.
<em>This mini-HOWTO would be improved from time to time. If you think
that the HOWTO on your Linux installation CD is some out-of-date, you
may check for newest release on the Internet. It could be found within
the main <url url="http://www.linuxdoc.org/"
name="Linux Documentation Project">
name="Linux Documentation Project">
homepage.
</em>
@ -694,7 +673,6 @@ Any comments or suggestions can be mailed to my email address:
<htmlurl url="mailto:m.skoric@eunet.yu"
name="m.skoric@eunet.yu">.
<sect1>HOWTO
<p>
<nidx>disk!information resources!HOWTOs</nidx>
@ -778,7 +756,6 @@ file system that is a window into the inner workings of your system.
Use <tt/cat/ rather than <tt/more/ to view the files as they are
reported as being zero length. Reports are that <tt/less/ works well here.
<sect1>Web Pages
<p>
<nidx>disk!information resources!WWW</nidx>
@ -856,6 +833,4 @@ include part of this in your request for help but do not go overboard, keep
it <em/brief/ as a complete log file dumped to Usenet News is more than a
little annoying.
</article>

View File

@ -5,7 +5,7 @@
<title>Linux/MIPS HOWTO
<author>Ralf B&auml;chle, <tt/ralf@gnu.org/
<date>November 8, 2000
<date>November 12, 2000
<abstract>
This FAQ describes the MIPS port of the Linux operating system, common
problems and their solutions, availability and more. It also tries to
@ -576,6 +576,9 @@ find information that actually should be covered elsewhere.
This server covers most of Linux/MIPS. It's somewhat SGI-centric, but since
Linux/MIPS tries to be the same on every platform, most of its information
is of interest to all users.
<tag><url url="http://www.linux-mips.org"><p>
Quite new site which one day will hopefully become the main Linux/MIPS
site.
<tag><url url="http://lena.fnet.fr"><p>
This server is currently pretty outdated. It's included here mostly for
completeness.

View File

@ -42,7 +42,7 @@ Covers PostgreSQL Version 6.5.3
<author>Al Dev (Alavoor Vasudevan)
<htmlurl url="mailto:alavoor@yahoo.com"
name="alavoor@yahoo.com">
<date>v36.0, 24 Oct 2000
<date>v37.0, 12 Nov 2000
<abstract>
This document is a "practical guide" to very quickly setup a SQL Database
engine and
@ -300,7 +300,7 @@ and not even TIME was existing!! Baby universe was born during big bang and star
expanding and kept growing. Even today our universe is still expanding!!
A person from another universe by name <bf>'Brahma'</bf> created
this universe you are currently living in.
<it><bf>Knowledge is the MOTHER of this universe!!</it></bf>
<it><bf>Knowledge is the MOTHER of this universe!!</bf></it>
'Brahma' loved on 'Mother knowledge' before the baby universe in which
you are living was born!!
It is a deal similar to how you were born!
@ -513,7 +513,8 @@ The white paper on PostgreSQL is at
<p>
PostgreSQL defeated Oracle 8 (and 8i), IBM DB2, MS SQL server, Sybase, Interbase
and MySQL in standard benchmark tests in performance, speed, scalability and reliability!
Read the benchmarks at <url url="http://www.greatbridge.com/news/p_081420001.html">
Read the benchmarks at <url url="http://www.aldev.8m.com"> or
at <url url="http://aldev.webjump.com">
<!--
*******************************************
************ End of Section ***************