From bb244863d246c8bfefab78237d5e10300cce0e21 Mon Sep 17 00:00:00 2001 From: gferg <> Date: Sun, 5 Nov 2000 17:56:43 +0000 Subject: [PATCH] updated --- LDP/howto/linuxdoc/Ecology-HOWTO.sgml | 1862 +++++++++-------- LDP/howto/linuxdoc/FBB.sgml | 358 +++- LDP/howto/linuxdoc/Firewall-Piercing.sgml | 297 ++- .../From-PowerUp-To-Bash-Prompt-HOWTO.sgml | 160 +- LDP/howto/linuxdoc/LILO.sgml | 11 +- LDP/howto/linuxdoc/Linux+WinNT.sgml | 161 +- LDP/howto/linuxdoc/Xinerama-HOWTO.sgml | 125 +- 7 files changed, 1816 insertions(+), 1158 deletions(-) diff --git a/LDP/howto/linuxdoc/Ecology-HOWTO.sgml b/LDP/howto/linuxdoc/Ecology-HOWTO.sgml index 805a8850..20ad8269 100644 --- a/LDP/howto/linuxdoc/Ecology-HOWTO.sgml +++ b/LDP/howto/linuxdoc/Ecology-HOWTO.sgml @@ -1,874 +1,988 @@ - -
-Linux Ecology HOWTO - -<author> -Werner Heuser -<htmlurl url="mailto:wehe@snafu.de" name="< wehe@snafu.de >"> - -Wade W. Hampton -<htmlurl url="mailto:whampton@staffnet.com" name="<whampton@staffnet.com>"> - -</author> - -<date>v0.6, 01 March 2000 -<abstract> -The Ecology-HOWTO discusses ways Linux computers can be used as a mean to protect our environment, by using its features to save power or paper. Since it does not require big hardware, Linux may be used with old computers to make their life cycle longer. Games may be used in environmental education and software is available to simulate ecological processes. -</abstract> -<toc> - -<p> -<sect>Introduction -<p> -Life is the first gift, love is the second, and understanding is the third. -- <url url="http://www.capecod.net/˜tmpiercy/" name="Marge Piercy"> - -<p> -Though computers can be seen as part of environmental pollution, there are also ways to use computers in a more reasonable manner to help protect the environment. So I have just started to collect some means to do so with Linux. - -<sect1>Objectives -<p> -Some objectives of the howto: - -<itemize> -<item> -Reduction in power consumption. -<item> -Reduction in consumables like paper and inks. -<item> -Reduction in waste by reusing older components or keeping them in service longer. -<item> -Reduction in toxic waste such as used batteries. -<item> -Use of Linux in environmental education and research. -</itemize> - -<sect1>Caveats -<p> -Some of the recommendations in this text are discussed controversial, for instance: powering down a device, when it's not in use. This may save power, but not under all circumstances. Also it may have other additional ecological costs, e.g. the life time of the device can be shortened. -<p> -I don't have enough technological knowledge to make a decision between these alternatives. Also some alternatives might be rated differently by different persons. So finally the decision what to choose is up to you. Anyway if you have better alternatives please let me know. - -<sect1>About the Document and the Authors -<p> -If I didn't provide an URL for a program or a package, you may get it from <url url="http://www.debian.org" name="Debian"> or as a RPM package, from your favorite RPM server, for instance <url url="http://rufus.w3.org/linux/RPM/ByName.html" name="Rufus">. -<p> -Some parts are modified chapters from <url url="http://home.snafu.de/wehe/howtos.html" name="my Laptop-HOWTO and my IR-(InfraRed)-HOWTO">. -<p> -The document is included in the <url url="http://linuxdoc.org/" name="LINUX DOCUMENTATION PROJECT">. -<p> -The latest version of this document is available at <url url="http://home.snafu.de/wehe/eco_linux.html" name="Ecology and Computers"> . -<p> -Since Wade W. Hampton provided a great amount of information included into this text I consider him as a co-author. Though all responsibility for any mistakes is taken by me. -<p> -Jun Morimoto <morimoto@xantia.citroen.org> has written the <url url="http://www.linux.or.jp/JF/JFdocs/Ecology-HOWTO.html" name="translation into Japanese">. -<p> -Please feel free to contact me for comments or questions about the HOWTO. I know this material is not finished or perfect, but I hope you find it useful anyway. <p> -Werner Heuser <htmlurl url ="mailto:wehe@snafu.de" name="<wehe@snafu.de>"> - -<sect>Reduction of Power Consumption -<p> -There are some means to save power when using a computer which are supported by Linux: Advanced Power Management, certain harddisk settings, working without monitor and others. - -<sect1>Advanced Power Management (APM/ACPI) -<p> -<sect2>Linux Compatibility Check -<p> -From the Battery-Powered-mini-HOWTO &dquot; .. for APM to work on any notebook or energy-conscious desktop, the system BIOS ROM in the machine must support the APM standard. Furthermore, for APM to work with the Linux operating system, the system BIOS ROM must support either the 1.0 or 1.1 version of the APM standard, and it must also support 32-bit protected mode connections. A system that supports APM 1.1 is preferred, as it provides more features that the device driver and supporting utilities can take advantage of.&dquot; - -You may get information about the APM version with the <tt>dmesg</tt> command and in the <file>/proc/apm</file> file. - -<sect2>Introduction -<p> -When you first install Linux, you will probably have to recompile the kernel. The kernel that came with your distribution probably does not have APM enabled. -<p> -APM support consists of two parts: <it>kernel</it> support and <it>user-land</it> support. -<p> -For <it>kernel</it> support, enable the parameters in the corresponding kernel section. AFAIK not all features work with laptops. AFAIK the feature <tt>CONFIG_APM_POWER_OFF</tt> works with most laptops. -<p> -The utilities for <it>userland</it> support may be found at <url url="http://www.worldvisions.ca/~apenwarr/apmd/" name="WorldVisions">. APMD is a set of programs that control the Advanced Power Management system found in most modern laptop computers. If you run a 2.2.x kernel and want to experiment, Gabor Kuti <seasons@falcon.sch.bme.hu> has made a kernel patch that allows you to <it>hibernate</it> any Linux system to disk, even if your computers APM BIOS doesn't support it directly. - -Richard Gooch wrote: I'have had a look at the beta version of <tt>apmd</tt>, and I still don't like it, because: - -<itemize> - -<item> -Only supports one command to run at suspend time. - -<item> -Doesn't distinguish between user and system suspends. - -<item>doesn't provide a way to disable policy (the <tt>sync()</tt>; <tt>sleep(0) </tt>; <tt>sync()</tt>; <tt>sleep(1)</tt>; sequence) - -<item> -Does not document extra features. - -<item> -And I'm not sure that what we want is a single super daemon. A collection of smaller daemons might be better, since it allows people to pick and choose. A super daemon is bloat for those who only want one small feature. - -</itemize> - -Though this topic was discussed controversly Richard Gooch has put together a package <tt>suspendd</tt> at <url url="http://www.atnf.csiro.au/˜rgooch/linux/" name="http://www.atnf.csiro.au/˜rgooch/linux/"> . - -Also, have a look at <tt>apmcd</tt> (<tt>apm</tt> based crontab) at <url url="ftp://ftp.binary9.net/pub/linux/" name="ftp://ftp.binary9.net/pub/linux/"> . A tool made by Nicolas J. Leon <nicholas@binary9.net> <url url="http://mrnick.binary9.net/" name="http://mrnick.binary9.net/">. - -Note: I didn't check wether this features are merged into one package (<tt>apmd</tt> eventually) already. - -<sect2>Caveats -<p> -If you have another operating system preinstalled or use another operating system at the same disk, make sure there is no &dquot;hibernation&dquot; or &dquot;suspend&dquot; tool installed, which could severely interfere with Linux, e.g. it might use disk space which is occupied by Linux or vice versa. - -<sect2>Troubleshooting -<p> -If your machine worked with 2.0.x kernels but not with the 2.2.x series, take this advice from Klaus Franken kfr@klaus.franken.de : &dquot;The default changed in 2.2. Search in the init-scripts for <tt>halt</tt> and change it to <tt>halt -p</tt> or <tt>poweroff</tt>. See <tt>man halt</tt> , if you don't have this option you need a newer version of <tt>halt</tt>.&dquot; You may find it in the <tt>SysVinit</tt> package. -<p> -Sometimes X windows and APM don't work smoothly together, the machine might even hang. A recommendation from Steve Rader: Some Linux systems have their X server hang when doing <tt>apm -s</tt>. Folks with this affliction might want switch to the console virtual terminal then suspend <tt>chvt 1; apm -s</tt> as root, or, more appropiately.<tt>sudo chvt 1; sudo apm -s</tt>. I have these commands in a script, say, <tt>my-suspend</tt> and then do <tt>xapmload --click-command my-suspend</tt> . -<p> -On some new machines (for instance HP Omnibook 4150 - 366 MHz model) when accessing <file>/proc/apm</file>, you may get a kernel fault <tt>general protection fault: f000</tt>. Stephen Rothwell <Stephen.Rothwell@canb.auug.org.au> <url url="http://www.canb.auug.org.au/˜sfr/" name="http://www.canb.auug.org.au/˜sfr/"> explaines: &dquot;This is your APM BIOS attempting to use a real mode segment while in protected mode, i.e. it is a bug in your BIOS. .. We have seen a few of these recently, except all the others are in the power off code in the BIOS wher we can work around it by returning to real mode before attempting to power off. Here we cannot do this.&dquot; - -<sect2>ACPI -<p> -The latest standard is ACPI. The ACPI4Linux project has started at the beginning of 1999. The ACPI4Linux project is a kernel driver project aimed at implementing full ACPI support for Linux, including fan control, dock/undock detection and a WindowMaker dockable temperature meter. You may reach it at <url url="http://phobos.fachschaften.tu-muenchen.de/acpi/" name="http://phobos.fachschaften.tu-muenchen.de/acpi/"> . - -<enum> - -<item> -<url url="ftp://tsx-11.mit.edu/pub/linux/sources/sbin/hdparm-3.0.tar.gz" name="hdparm"> <it>hdparm</it> is a Linux IDE disk utility that lets you set spin-down timeouts and other disk parameters. It works also for some SCSI features. - -<item> -<url url="http://www.complang.tuwien.ac.at/ulrich/linux/tips.html" name="Mobile Update Daemon "> This is a drop-in replacement for the standard <tt>update</tt> daemon, <tt>mobile-update</tt> minimizes disk spin ups and reduces disk uptime. It flushes buffers only when other disk activity is present. To ensure a consistent file system call <tt>sync</tt> manually. Otherwise files may be lost on power failure. <tt>mobile-update</tt> does not use APM. So it works also on older systems. - -<item> -<url url="http://www2.prestel.co.uk/hex/toshiba.html" name="Toshiba Linux Utilities "> This is a set of Linux utilities for controlling the fan, supervisor passwords, and hot key functions of Toshiba Pentium notebooks. There is a KDE package <it>Klibreta</it>, too. - -<item> -<url url="http://lcdproc.omnipotent.net/" name="LCDproc"> . &dquot;LCDproc is a small piece of software that will enable your Linux box to display live system information on a 20x4 line backlit LCD display. AFAIK it connects only to the external Matrix-Orbital 20x4 LCD display <url url="http://www.matrix-orbital.com/" name="Matrix-Orbital">, which is a LCD display connected to a serial port. - -<item> -<url url="http://www.loonie.net/˜eschenk/diald.html" name="Dial Daemon"> . The Diald daemon provides on demand Internet connectivity using the SLIP or PPP protocols. Diald can automatically dial in to a remote host when needed or bring down dial-up connections that are inactive. - -</enum> - -<sect1>Turn Monitor off, use Keyboard LEDs -<p> -There are some tools which allow to get information from your computer without using the monitor: - -<itemize> -<item> -<tt>bl</tt> : Blink Keyboard LEDs -<item> -<tt>blinkd</tt> : &dquot;Blinks keyboard LEDs for an answering machine or fax machine. Blinkd is a client/server pair, that lets the keyboard LEDs blink, indicating things like the number of incoming voice calls in the voice box or incoming faxes in the spool.&dquot; - -<item> -<tt>mailleds</tt> : Shows new mails with the keyboard LEDs, <tt>mailleds</tt> is a quiet, unobtrusive way to signify that you have new mail: a user daemon to blink LEDs when there is new mail. - -<item> -<tt>tleds</tt> : Blinks keyboard LEDs indicating TX and RX network packets. They blink Scroll-Lock LED when a network packet leaves the machine, and Num-Lock LED when one is received. - -</itemize> - -<sect1>Screensavers -<p> -Do they only prevent the screen from being burned in or do they save power, too? -<p> -Some recommendations from Wade W. Hampton: -<p> -Screensavers usually display graphics, look for ETI, or perform other tasks. When using your screensaver in this manner, you may actually consume MORE power. For example a computer using XSETI as a screensaver might get far warmer (hence use more power) than when it was being used to edit a document or perform a compile. - -To really save power, and if your X server plus monitor supports it, use the <tt>dpms</tt> option of <tt>xset</tt> (see the manual page for <tt>xset</tt>). For example, to enable the DPMS (Energy Star) features of you X server: <tt>xset +dpms</tt> - -You may also manually change the mode of your X display: -<code> -xset dpms force standby -xset dpms force suspend -xset dpms force off -</code> - -<p> -AFAIK a CRT consumes on the order of 25 percent more power when displaying a <it>plain white</it> screen than displaying a <it>plain black</it> screen. So, a screensaver that's mostly black can help save power, even if it doesn't actually use DPMS to power down the screen. Of course, one that's very bright and colourful, or that keeps the CPU running fast is not much help. - -<p> -Some screen saver programs: - -<itemize> -<item> -The purpose of <tt>xscreensaver</tt> is to display pretty pictures on your screen when it is not in use, in keeping with the philosophy that unattended monitors should always be doing something interesting, just like they do in the movies. The benefit that this program has over the combination of the <tt>xlock</tt> and <tt>xautolock</tt> programs is the ease with which new graphics hacks can be installed: you don't need to recompile this program to add a new display mode, you just change some resource settings. Any program which can be invoked in such a way that it draws on the root window of the screen can now be used as a screensaver without modification. The programs that are being run as screensavers don't need to have any special knowledge about what it means to be a screensaver. -<item> -<tt>LockVC</tt> is a console-locking-program combined with a starfield screensaver. Executing LOCKVC on a virtual console brings up a starfield that starts to rotate around all three axes. -</itemize> - -<sect1>Energy Star Label -<p> -Robert Horn <rjh@world.std.com> wrote: &dquot; -<p> -I had a chance to discuss Energy Star with the designers of desktop printers. They confirmed that the allowable stand-by power targets depend on the device, and they only knew their targets. But they made some other interesting comments: -<enum> -<item>Energy Star ratings lead to significant operational power savings. Timer based power savings are the exception. Most savings come from designing in power on demand with low leakage drivers. For example, using stepper motors with low leakage current instead of high leakage. -<p> -This savings is both from individual designs and from the resulting demand for low leakage products causing better and cheaper low leakage product designs. The old-style (e.g. typewriter) design with one motor (always on) and various clutches is no longer the least cost. - -<item>Energy Star was good organizational engineering. It never required designers to compromise quality or performance, which made it much harder to argue against design changes to reduce power consumption while idle. Since most of the savings begin the millisecond that parts stop moving, these savings are considerable. - -<item>The power ratings on PC's are a safety rating, not a usage rating. So the 235W and 300W power supplies that commonly found in PCs are specifying their safety limits. Actual full power usage is much less, typically 20-30 percent of the safe limit. The designers also noted that it is actually difficult to measure the power consumption of a switching power supply. You need to use specially designed power meters. The regular AC meters are designed for motors, and are rather inaccurate for switching power supplies. -</enum> -...&dquot; - -<sect1>Miscellaneous Power Saving Techniques -<p> -Linux halts the CPU in the idle cycle to further reduce power consumption. Early reports of OS/2, Win3.1/95, NT, and Linux showed Linux to use far less power than DOS-based O/S's that spun in the idle loop and consumed power -- this may have changed hence it would need research to validate. -<p> -Most Linux-users tend to leave their computer on for years whenever possible. However, several modern BIOS's support an unattended powerup, and with <tt>cron</tt> you can even do an unattended <tt>shutdown</tt>. No need to leave the computer on night after night. - -<sect>Alternative Power Supplies - Sun, Wind, Water -<p> -See a survey of links at <url url="http://www.eklektix.com/solar" name="Eklektix"> . - -<sect>Noise Reduction -<p> -Most of the noise emitted by a computer is produced by the fan, the harddisk and the speakers. - -<sect1>Fan -<p> -<itemize> - -<item> -<tt>libsensors0</tt> is a library to read temperature/voltage/fan sensors - -<item> -<tt>lm-sensors</tt> &dquot;Kernel drivers to read temperature/voltage/fan sensors. This is a module for reading the temperature/voltage/fan sensors in Linux via the LM78/79 chip and possibly sensors on the SMBus (System Management Bus, usually found in P6 and P-II systems). The LM80 and a LM78-clone called W83781D are also supported.&dquot; <url url="http://www.lm-sensors.nu/" name="http://www.lm-sensors.nu/"> - -<item> -ACPI, see APM chapter - -</itemize> - -<sect1>Harddisk -<p> -The noise of the hard disk can be very disturbing, see <tt>man hdparm</tt> to reduce the spin of the disk. - -<sect1>Speakers -<p> -For the console <tt>setterm -blength 0</tt> and for X <tt>xset b off</tt> turns the bell off. See also PCMCIA-HOWTO, and much more details in the Visible-Bell-mini-Howto by Alessandro Rubini. - -<sect>Saving Consumables (Paper, Ink, etc.) -<p> -<sect1>Printing of Drafts / Multiple Pages on One Sheet of Paper -<p> -Use <tt>psutils</tt> package to put more than one page on one sheet of paper. This collection of utilities is for manipulating PostScript documents. Page selection and rearrangement are supported, including arrangement into signatures for booklet printing, and page merging for n-up printing. -<p> -Often HTML pages are not optimised for printing. You may use <tt>html2ps</tt>, a HTML to PostScript converter, to print HTML pages. &dquot;This program converts HTML directly to PostScript. The HTML code can be retrieved from one or more URLs or local files, specified as parameters on the command line. A comprehensive level of HTML is supported, including inline images, CSS1, and some features of HTML 4.0.&dquot; -<p> -Or you may use <tt>mpage</tt> to print 2 up or 4 up (PS documents or ASCII text). This may be used to save up to 50 percent or more of your paper. - -<sect1>Reading From the Monitor Instead From Paper -<p> -Or use <tt>less</tt>/<tt>xless</tt>/<tt>gless</tt> as a viewer instead of printing. You can view PostScript documents with <tt>gs</tt> and view PDF documents with either <tt>xpdf</tt> or <tt>acroread</tt> (from <url url="http://www.adobe.com" name="Adobe">). Ask yourself, do you --really-- need a hardcopy each time you decide to print something out. -<p> -What are the reasons why people don't read from the monitor: -<itemize> -<item> -Reading is slower up to 30 percent, see <url url="http://www.useit.com/alertbox/9602.html" name="N.N.">. The speed can be improved by better hardware (e.g. TFT display, greater screen, though this is against the other below to take smaller CRTs) and better display software (type-1, t1lib, truetype, freetype). -<item> -Paper seems better organizable and more secure to some people. I suppose this can be treated by better software (e.g. Linux) and hardware, too. -</itemize> - -Some people use handheld PC (e.g. PalmIII, Newton Message Pad, Psion 5) to carry around documents to read rather than printing them out. - -<sect1>Other Techniques -<p> -Another means of saving paper is through the use of comments and redline/strikeout markings when exchanging a document with a co-worker/colaborator. For example, a draft could be written using WordPerfect, then E-MAILed to a co-worker. They could update the draft and send it back to you. You can use WordPerfect's redline/strikeout features to see the changes. The document need not be printed until it is &dquot;final&dquot; or in &dquot;final draft&dquot; status. -<p> -Question: Can you use the back side of paper in a laser printer? I have not had much luck. You can use the paper that has been in a laser printer in an inkjet printer by using the other side. -<p> -You should purchase smaller computers and monitors when possible. This will save packaging material translating into less solid waste. For example the box for a 15&dquot; CRT monitor is 2-3 times the size of the box for a 15&dquot; LCD monitor. Linux works well with 15&dquot; LCD monitors on smaller computers like the Netwinder or <url url="http://www.thinworks.com/campaign/try_e3000.html" name="E3000"> . -<p> -Some have expressed the concern that LCD displays may use more toxic materials and manufacturing processes than CRT displays, hence their usage actually may be worse on the environment. The original information above concerned the solid waste issue, which is fairly tangible and hence more controllable. -<p> -Does anyone know of studies or additional research to help clarify and resolve this issue? -<p> -Recycle your used paper, ink, and packing materials. -<p> -You may use refillable printer cartridges. In Germany the are marked with the <it>Blauer Engel</it> label. -<p> -Laser printer cartridges can often be used much more longer if you shake them when the message <it>toner low</it> appears at the message panel. -<p> -Wade W. Hampton provided the biggest part of this chapter. - -From Ralf Muschall I got this suggestions: - -<itemize> -<item>LaTeX documents: -Using \usepackage{ccfonts} replaces the usual fonts by ones with wider lines and bolder serifes, improving readability at low resolutions. They are darker (i.e. use more ink) than the CM fonts and not as beautiful, so I would not recommend them for normal-size printings. - -<item>Size-Reduction: -Instead of <tt>psnup</tt> or other parts of the <tt>pstools</tt> I recommend the <tt>psnup</tt> written in Perl4 by Malcolm Herbert (it's from 1994, and no longer maintained but however there is a descendant of it called <tt>yup</tt>, available at <url url="http://redback.spyda.net/~mjch/yup/" name="yup">. - -<p> -It has a lot of options, which allow to set all 4 margins and the inner gutter separately. Since reduced documents are not very pretty anyway, this can be used to reduce the margin, leaving more place for the text. This probably requires some experimenting (trying new values over and over, checking the result with <tt>ghostview</tt>). -<p> -The normally used options are: -<itemize> -<item><tt>-p2</tt> (or <tt>-p4</tt> etc., like <tt>-2</tt> in the old <tt>psnup</tt>) -<item><tt>-NIH</tt> (don't decorate) -<item><tt>-l10</tt> <tt>-r20</tt> <tt>-b30</tt> <tt>-t40</tt> (add to margins) -<item><tt>-g50</tt> (add to gutter) -</itemize> -(these values vary depending on the papersize and the margins of the original, negative values are allowed). - - -<item> -Different ink printers are more or less capable to print on the backside of already used paper sheets. Try different manufacturers. Older Canon ink printers offer 360 dpi, older HP ink printers 300 dpi. The readability of 4 pages/sheet using LaTex 10pt lies in between this features. - -<item>Non-Linux: -If you have to work with MS-Windows you should get the original Adobe-PostScript-Driver, instead of using the ones from MS-Windows. These fonts offer more than one page per paper sheet. AFAIK both <tt>psnup</tt> programs don't work with Adobe-PS, MS-Windows-PS and the PostScript extracted from MS-Windows-PDF files. - -<item> -Ghostscript has a new output format <tt>pswrite</tt>, which creates output in correct PostScript. This feature can be used to repair broken PostScript e.g. from Microsoft drivers, allowing their postprocessing with <tt>psnup</tt> etc. - -<item> -<url url="http://imagic.weizmann.ac.il/~dov/freesw/impose+/" name="impose+"> is a set of PostScript utilities. The main program is impose, which is used for two-up printing of DSC-compliant PostScript (including that from Netscape, dvips, and FrameMaker). It makes an effort to remove white space from the printout by probing the original PostScript for the bounding box of the printed area. This makes the output much more esthetic than does a simplistic layout of non-cropped original pages. - -</itemize> - -<sect>Recycling of Consumables (Paper, Printer Cartrigdes, CD, Floppies, Tapes) -<p> -All of these consumables are recycleable. I have put a list of URLs into appendix H. You may start this process by separating different kinds of &dquot;waste&dquot;. There should be included some words on the difficulties of recycling (data security, motivation, costs, ...). - -<sect>Reduction of Radiation, Electro Magnetic Fields, Heat -<p> -<itemize> -<item>monitors are a source of <it>radiation</it> and <it>electro magnetic fields</it>. They may be reduced by lead filters, LCD displays. Some eco labels like TCO95 include maximum levels of radiation, etc. -<item>especially larger number of PCs or can <it>heat</it> a room very much therefore it might be necessary to cool the room. This ca be reduced by using standby (powerdown) techniques. - -</itemize> -<p> - -<sect>Extending the Life Cycle of your Hardware -<p> -<sect1>Recycling of Hardware -<p> -The commercial computer market is largely driven by vendors seeking to sell new hardware and software. There is no commercial marketing benefit in promoting reuse. -<p> -Hence Linux doesn't require big hardware, it's very useful if you like or need to use old and small hardware. - -<sect2>Supported CPU Families -<p> -Linux runs on Intel-compatible processors, including Intel's 386, 486, Pentium, Pentium Pro and Pentium II, and compatible processors by AMD, Cyrix and others. - -Linux doesn't support the 286 CPU family yet. But there are some efforts at ELKS <url url="http://www.linux.org.uk/ELKS-Home/index.html" name="http://www.linux.org.uk/ELKS-Home/index.html"> or <url url="http://www.elks.ecs.soton.ac.uk/" name="http://www.elks.ecs.soton.ac.uk/">. - -If you like, you may use <url url="http://www.cs.vu.nl/˜ast/minix.html" name="Minix"> one of the predecessors of Linux. Minix supports 8088 to 286 with as little as 640K memory. - -Of course there are also ports to other systems, such as ALPHA, PowerPC, etc. For details about systems which are supported by the Linux Kernel, see the <url url="http://www.linuxdoc.org/FAQ/Linux-FAQ.html" name="Linux FAQ"> . -<!-- http://www.cl.cam.ac.uk/users/iwj10/linux-faq/ --> - -The ARM is a fast AND low-power alternative. For example, the Corel/Rebel Netwinder is based on the ARM processor see <url url="http://www.rebel.com" name="Rebel"> and <url url="http://developer.intel.com/design/strong/" name="Strong-ARM">. - -<sect2>Dealing with Limited Resources or Tuning the System -<p> -This chapter is taken from my Laptop-HOWTO. - -<sect3>Related HOWTOs -<p> - -<enum> - -<item> -LBX-HOWTO - -<item> -Small-Memory-HOWTO - -</enum> - -<sect3>Introduction -<p> -To deal with limited space, memory, CPU speed and battery power, I have written this chapter. - -<sect3>Small Space -<p> -<sect4>Introduction -<p> -There are different types of techniques to gain more disk space, such as sharing of space, freeing unused or redundant space, filesystem tuning and compression. Note: some of these techniques use memory instead of space. As you will see, there are many small steps necessary to free some space. - -<sect4>Techniques -<p> - -<enum> - -<item> -Stripping: Though many distributions come with stripped binaries today it is useful to check this. For details see <tt>man strip</tt>. To find every unstripped file you can use the <tt>file</tt> command or more convenient the tool <tt>findstrip</tt>. Attention: don't strip libraries, sometimes the wrong symbols are removed due to a bad programming technique. -<p> -A recommendation from Russell Marks <rus@beeb.net>: -<p> -These days a lot of people compile with <tt>-g</tt>, which I find a bit annoying (though AFAIK this <it>only</it> loses you disk space, in practice). -<p> -<tt>strip</tt> has a <tt>--strip-debug</tt> option which doesn't strip symbols, but does still get rid of the debugging stuff. This is almost as good, in many cases, and it's ok to use it on libraries. As it happens, I recently got SuSE 6.3, so I can give you a <it>live</it> example: - -<code> -bash-2.03# cd /lib -bash-2.03# ls -l libc.so.6 --rwxr-xr-x 1 root root 4223971 Nov 6 16:22 libc.so.6 -bash-2.03# strip --strip-debug libc.so.6 -bash-2.03# ls -l libc.so.6 --rwxr-xr-x 1 root root 1200355 Dec 8 00:13 libc.so.6 -</code> - -</item> - -<item> -Perforation: <tt>zum(1)</tt>reads a file list on stdin and attempts to perforate these files. Perforation means, that series of null bytes are replaced by <tt>lseek</tt>, thus giving the file system a chance of not allocating real disk space for those bytes. Example: <tt>find . -type f | xargs zum</tt> </item> - -<item> -Remove Odd Files and Duplicates: Check your system for core files, emacs recovery files <#FILE#> vi recovery files <FILE>.swp, RPM recovery files <FILE>.rpmorig and <tt>patch</tt> recovery files. Find duplicates, you may try <tt>finddup</tt>. Choose a system to name your backup, temporary and test files, e.g. with a signature at the end. - -<item>Clean Temporary Files: , e.g. <file>/tmp</file>, there is even a tool <tt>tmpwatch</tt>. - -<item>Shorten the Log Files: usually the files in <file>/var/log</file>. There are some nice helpers for this task around, e.g. <tt>savelog</tt> . - -<item> -Remove Files: Remove files which are not &dquot;necessary&dquot; under all circumstances such as man pages, documentation <file>/usr/doc</file> and sources e.g. <file>/usr/src</file> . - -<item> -Unnecessary Libraries: You may use the <tt>binstats</tt> package to find unused libraries (Thanks to Tom Ed White). - -<item> -Filesystem: Choose a filesystem which treats disk space economically e.g. <tt>rsfs</tt> aka Reiser Filesystem. Tune your filesystem e.g. <tt>tune2fs</tt>. Choose an appropriate partition and block size. </item> - -<item> -Reduce Kernel Size: Either by using only the necessary kernel features and/or making a compressed kernel image <tt>bzImage</tt>. </item> - -<item> -Compression: I didn't check this but AFAIK you may compress your filesystem with <tt>gzip</tt> and decompress it on the fly. Alternatively you may choose to compress only certain files. You can even execute compressed files with <tt>zexec</tt></item> - -<item> -Compressed Filesystems: -<p> -- For e2fs filesystems there is a compression version available <tt>e2compr</tt> , see <url url="http://debs.fuller.edu/e2compr/" name="http://debs.fuller.edu/e2compr/"> . -<p> -- DMSDOS which enables your machine to access Windows95 compressed drives (drivespace, doublestacker). If you don't need DOS/Windows95 compatibility, i.e. if you want to compress Linux-only data, this is really discouraged by the author of the program. See <url url="http://fb9nt-ln.uni-duisburg.de/mitarbeiter/gockel/software/dmsdos/" name="http://fb9nt-ln.uni-duisburg.de/mitarbeiter/gockel/software/dmsdos/"> .</item> - -<item> -Partition Sharing: You may share swap-space (see Swap-Space-HOWTO) or data partitions between different OS (see <tt>mount</tt>). For mounting MS-DOS Windows95 compressed drives (doublespace, drivespace) you may use <tt>dmsdos</tt> <url url="http://metalab.unc.edu/pub/Linux/system/filesystems/dosfs/" name=" http://metalab.unc.edu/pub/Linux/system/filesystems/dosfs/">.</item> - -<item> -Libraries: Take another (older) library, for instance <tt>libc5</tt> , this library seems to be smaller than <tt>libc6</tt> aka <tt>glibc2</tt> . - -<item> -Kernel: If your needs are fitted with an older kernel version, you can save some space. - -<item> -GUI: Avoid as much Graphical User Interface (GUI) as possible. - -<item>Tiny Distributions: There are some distributions available which fit from one 3.5&dquot; floppy to 10MB disk space and fit for small memories, too. See <url url="http://home.snafu.de/wehe/index_li.html" name="Laptop-HOWTO"> - -</enum> - -<sect3>Harddisk Speed -<p> -Use the tool <tt>hdparm</tt> to set up better harddisk performance. Though I have seen laptop disk enabled with <it>striping</it>, I can't see a reason to do so, because IMHO aka RAID0 striping needs at least to different disks to increase performance. - -<sect3>Small Memory -<p> -<sect4>Related HOWTOs -<p> - -<enum> - -<item> -Small-Memory-mini-HOWTO by Todd Burgess <tburgess@uoguelph.ca > <url url="http://eddie.cis.uoguelph.ca/˜tburgess" name=" http://eddie.cis.uoguelph.ca/˜tburgess"> - -<item> -Modules-mini-HOWTO - -<item> -Kerneld-mini-HOWTO - -</enum> - -<sect4>Techniques -<p> -Check the memory usage with <tt>free</tt> and <tt>top</tt>. - -<url url="http://www.complang.tuwien.ac.at/ulrich/mergemem/" name="Mergemem Project ">. Many programs contain <it>memory areas of the same content</it> that remain undetected by the operating system. Typically, these areas contain data that have been generated on startup and remain unchanged for longer periods. With <tt>mergemem</tt> such areas are detected and shared. The sharing is performed on the operating system level and is invisible to the user level programs. <tt>mergemem</tt> is particularily useful if you run many instances of interpreters and emulators (like Java or Prolog) that keep their code in private data areas. But also other programs can take advantage albeit to a lesser degree. - -You may also reduce the <it>kernel size</it> as much as possible by removing any feature which is not necessary for your needs and by modularizing the kernel as much as possible. - -Also you may shutdown every service or <it>daemon</it> which is not needed, e.g. <tt>lpd</tt>, <tt>mountd</tt>, <tt>nfsd</tt> and close some <it>virtual consoles</it>. Please see Small-Memory-mini-HOWTO for details. - -And of course use <it>swap space</it>, when possible. - -If possible you may use the resources of another machine, for instance with X, VNC or even <tt>telnet</tt>. For more information on Virtual Network Computing (VNC), see <url url="http://www.uk.research.att.com/vnc" name="http://http://www.uk.research.att.com/vnc/"> . - -<sect3>Low CPU Speed -<p> -You may want to overdrive the CPU speed but this can damage your hardware and I don't have experience with it. For some examples look at Adorable Toshiba Libretto - Overclocking <url url="http://www.cerfnet.com/˜adorable/libretto.html" name="http://www.cerfnet.com/˜adorable/libretto.html">. - -<sect3>Tiny Applications and Distributions -<p> -A small collection yet, but I'm looking for more information. - -<enum> - -<item> -BOA - &dquot;Lightweight and High Performance WebServer. <tt>boa</tt> is a single-tasking HTTP server. That means that unlike traditional web servers, it does not fork for each incoming connection, nor does it fork many copies of itself to handle multiple connections. It internally multiplexes all of the ongoing HTTP connections, and forks only for CGI programs (which must be separate processes.) Preliminary tests show boa is capable of handling several hundred hits per second on a 100 MHz Pentium.&dquot; - -<item> -MGR - a graphical windows system, which uses much less resources than X. - -<item> -Low Bandwidth X - Alan Cox in LINUX REDUX February 1998 &dquot; .. there are two that handle <it>normal</it> applications very nicely. LBX (Low Bandwidth X) is the <it>official</it> application of the X Consortium (now OpenGroup www.opengroup.org). Dxpc <url url="http://ccwf.cc.utexas.edu/˜zvonler/dxpc" name="http://ccwf.cc.utexas.edu/˜zvonler/dxpc"> is the alternative most people prefer. These systems act as proxy X11 servers and compress datastreams by well over 50 percent for normal requests, often reaching a reduction to 25 percent of the original bandwidth usage. With dxpc, X windows applications are quite usable over a 28.8 modem link or across the Internet.&dquot; - -<item> -blackbox - &dquot;This is a window manager for X. It is similar in many respects to such popular packages as Window Maker, Enlightenment, and FVWM2. You might be interested in this package if you are tired of window managers that are a heavy drain on your system resources, but you still want an attractive and modern-looking interface.&dquot; - -<item> -linux-lite - distribution based on a 1.x.x kernel for systems with only 2MB memory and 10MB harddisk. URL see above. - -<item> -smallLinux - <url url ="http://smalllinux.netpedia.net/" name=" http://smalllinux.netpedia.net/"> . Three disk micro-distribution of Linux and utilities. Based on kernel 1.2.11. Root disk is ext2 format and has <tt>fdisk</tt> and <tt>mkfs.ext2</tt> so that a harddisk install can be done. Useful to boot up on old machines with less than 4MB of RAM. - -<item> -cLIeNUX - client-use-oriented Linux distribution. - -<item> -minix - not a Linux but a UNIX useful for very small systems, such as 286 CPU and 640K RAM <url url="http://www.cs.vu.nl/˜ast/minix.html" name="http://www.cs.vu.nl/˜ast/minix.html"> . There is even X support named mini-x by David I. Bell <url url="ftp://ftp.linux.org.uk/pub/linux/alan/" name="ftp://ftp.linux.org.uk/pub/linux/alan/"> . - -<item> -<tt>screen</tt> - tiny but powerful console manager. John M. Fisk <fiskjm@ctrvax.vanderbilt.edu> in LINUX GAZETTE July 1, 1996 :&dquot;It's a GUI, GUI, GUI, GUI world! &dquot; - or so the major OS manufacturers would have you belief. Truth is, that while this is increasingly the case, there are times when the command line interface (CLI) is still a very good choice for getting things done. It's fast, generally efficient, and is a good choice on memory or CPU constrained machines. And don't forget that there are still a lot of very nifty things that can be done <it>at the console</it>.&dquot; &dquot;<tt>screen</tt> is a full-screen window manager that multiplexes a physical terminal between several processes, typically interactive shells. Each virtual terminal provides the functions of the DEC VT100 terminal and, in addition, several control functions from the ANSI X3.64 (ISO 6429) and ISO 2022 standards (e.g., insert/delete line and support for multiple character sets). Real multiuser support, split screen support, hardstatus emulation support, configurable window seperator and hardstatus strings, permanent window seperator, many new escapes, logfile timestamps and flush timeout, optional builtin telnet, optional Braille support, support for history compaction.&dquot; - -<item> -tinyirc - &dquot;A tiny, stripped down IRC Client. Doesn't have most of the more advance commands in the ircII family of IRC Clients, nor does it have any color, but it works, and it's tiny.&dquot; - -<item> -tinyproxy - &dquot;Tinyproxy is a lightweight HTTP proxy designed to do the job with a minimum of system resource use. It's ideal for small networks where a larger HTTP proxy such as squid might be overkill or a security risk. This simplicity also makes tinyproxy an ideal candidate for customization - it takes very little time to read and understand the tinyproxy source, and thus you can start adding your own desired features on short order.&dquot; - -</enum> - -<sect1>Other Techniques -<p> -NiCad batteries need to be discharged periodically to prevent the memory effect and prolong their lifespan. - -Batteries such as NiCad, Lead Acid, and NiMH contain TOXIC chemicals. Techniques should be taken to prolong their lifespan, and when you do discard them, they should be recycled, not thrown in the trash. - -One technology to watch is the &dquot;Iron&dquot; battery mentioned in the article at <url url="http://news.excite.com/news/r/990815/01/science-battery-iron" name="N.N."> . Such a battery could reduce some of the toxic waste problems associated with used batteries, however such a battery is probably a few years away. - -Some remarks about backlights in laptops, monitors (screensavers), harddisks (hdparm), etc. have to be written. - -<sect1>Other Operating Systems -<p> -Courtesy of George White <gwhite@bodnext.bio.dfo.ca>: - -Or you can buy an older computer (SGI, Sun, NeXT) that comes with unix and is capable of running a wide range of open source software. In some cases (SGI Indigo2) you can still run current OS versions, in others you may do better with an open source OS such as Linux, but in either case you have access to lots of good software and tools to write your own. - -The lower power consumption of older computers means you get more reserve time from an UPS or can use a small alternative power source if you don't have access to &dquot;mains&dquot; power. - -<sect>X10 - Home Automation System -<p> -&dquot;X-10 modules are devices that plug into an electrical outlet and allow you to remotely control the power to a lamp or an appliance that is plugged into them. There are also X-10 modules that install in place of wall switches to control lights, and there's one that can be used to set back a thermostat.&dquot; -<p> -These <url url="http://www.x10.com" name="X10"> folks make a really cool dongle called the Firecracker. These allow for the control of X10 devices via a serial-port of your PC. Programs like <tt>bottlerocket</tt> and <tt>gtk-x10</tt> allow Linux programs to control X10 devices using the Firecracker device. You may be able to get the Firecracker, a remote control, a receiver, and a lamp module for as little as $5.95 U.S. (special promotion). -<p> -<url url="http://www.joethielen.com/phantom/home/" name="GNU Phantom.Home"> is a computer controlled home automation system. The software includes a circuit diagram for building the Phantom.Home.Controller, a simple circuit board that attaches to your PC's parallel port. Using the combination of hardware/software you can control (i.e. flip on or off) nearly any 120V device. And with a little bit of electronics know-how, you can probably control nearly any device at any voltage by modifying the circuit board to meet your needs. The simple circuit included can be created and built for around $25. The modules cost around $10 (basically a heavy duty relay). -<p> -Turn that light off when not in use! - -<sect>Uninterruptable Power Supply - UPS -<p> -You should use a UPS if you have many thunderstorms in the area. That will save hardware, software, your time, and money, and help prevent you from throwing out that old monitor, CPU, or modem when it gets trashed by lightening. For details consult the <url url="http://linuxdoc.org/HOWTO/UPS-HOWTO.html" name="UPS-HOWTO">. -<p> -UPSs do save hardware, save work, etc. In areas prone to lightening, they could save hours of work each week, potentially translating into power savings. They do save hardware in areas prone to power outages. There is some concern over their additional usage of AC power. If anyone has any studies or research on this issue, could they please forward it to us? That would be an interesting question to post to APC, BEST, etc. - -<sect>Games -<p> -Personally I'm not much a player of computer games but probably they can be used for environmental education. In a first investigation I found <tt>lincity</tt> and <tt>Real Life</tt>, please check their usefulness by yourself. - -<itemize> - -<item> -<tt>lincity</tt> build & maintain a city/country. You are required to build and maintain a city. You must feed, house, provide jobs and goods for your residents. You can build a sustainable economy with the help of renewable energy and recycling, or you can go for broke and build rockets to escape from a pollution ridden and resource starved planet, it's up to you. Due to the finite resources available in any one place, this is not a game that you can leave for long periods of time. This game is similar to the commercial simulation game with a similar name. This package provides files common to both the X and SVGALIB versions of the game. -<item> -<url url="http://www.sunysb.edu/philosophy/RealLife.html" name="Real Life"> - &dquot;In Conway's Game of Life every cell is either fully alive (has the value of 1) or completely dead (has the value 0). In Real Life this restriction to bivalence is lifted to countenance -real-valued- degrees of life and death. Real Life contains Conway's Game of Life as a special case; however, Real Life, in contrast to Conway's Game of Life, exhibits sensitive dependence on initial conditions which is characteristic of chaotic systems.&dquot; -<item> -<url url="http://www.sierra.com" name="Sierra"> has produced (some time ago) Eco Quest 1 - Lost in Rainforest and Eco Quest 2 - The Search for Cetus - -</itemize> - -<sect>Ecology Software (Simulation, Datacollection, Statistics, etc.) -<p> -Though I know there is some MS-Windows based software which is used in ecological science (there is even a branch environmental informatic), I know only <it>Ecolab</it> available for Linux yet. But I guess Linux software (for instance databases or statistics programs) may easily adopted. Also it might be possible to use a Linux cluster to solve ecological simulations. - -<sect1>Ecolab -<p> -Ecolab is both the name of a software package and a research project that is looking at the dynamics of evolution. <url url="http://parallel.acsu.unsw.edu.au/rks/ecolab.html" name="http://parallel.acsu.unsw.edu.au/rks/ecolab.html"> EcoLab is a system that implements an abstract ecology model. It is written as a set of Tcl/Tk commands so that the model parameters can easily be changed on the fly by means of editing a script. The model itself is written in C++. - -<sect1>OpenClassroom -<p> -&dquot;OpenClassroom - distribution for Education. Pre-alpha. homepage: <url url="http://www.openclassroom.org/" name="OpenClassroom"> is integrating a package of software that allows educational and community organizations to create communities of knowledge by connecting their existing PCs (old or new) into a network, both local and worldwide, such as the Internet. A central focus of this initiative is to allow such organizations to extend the usable life of their equipment by bringing them state-of-the-art software that runs on their existing PCs. Our toolset allows organizations and citizens to own and operate their own digital printing press.&dquot; - -<sect1>Tierra -<p> -<url url="http://www.hip.atr.co.jp/˜ray/tierra/tierra.html" name="Tierra"> is a tool for studying digital evolution and ecology that runs on Linux and other OSes. - -<sect1>Linux in Environmental Research -<p> -Courtesy of Wade W. Hampton: Linux is ideally suited for use as a research tool for environmental experiments. There are small embedded Linux solutions that can be used for remote monitoring or telemetry. There are VERY small Linux implementations from PC-104 systems to embedded systems like the <url url="http://www.uclinux.com" name="uCsimm">. Linux even flew on the shuttle controlling biological experiments.... Linux has been used for weather research on NOAA's Hurricane Hunter aircraft. - -Linux is also an ideal platform for researching ecological and environmental information via the Internet using standard WWW-based tools like Netscape. - -Linux may even be used to model complex biological and environmental processes. A (<url url="http://www.beowulf.org" name="beowulf cluster"> could be used to run complex simulations of environmental processes, for example <url url="http://www.methaz.com/earthdome.htm" name="Earthdome"> and a survey at <url url="http://platon.ee.duth.gr/~soeist7t/Visualizations/" name="A COLLECTION OF LINKS OF VISUALIZATION & SIMULATION OF SELF-ORGANIZED SYSTEMS">. - -<sect1>SWARM -<p> -<url url="http://www.swarm.org" name="SWARM"> is a software package for multi-agent simulation of complex systems that is being developed by the Swarm Development Group (SDG). -<p> -Swarm is intended to be a useful tool for researchers in a variety of disciplines, especially artificial life. The basic architecture of Swarm is the simulation of collections of concurrently interacting agents: with this architecture, we can implement a large variety of agent based models. The source code is freely available under GNU Licensing terms. - -<sect1>Climate-Dynamics -<p> -<url url="http://www.climate-dynamics.rl.ac.uk" name="Climate-Dynamics"> is project to share computer client resources to analyze the climate. - -<sect1>UNCERT -<p> -<url url="http://uncert.mines.edu/" name="UNCERT"> is a geostatistical uncertainty analysis package applied to groundwater flow and contaminant transport modeling. This package was developed for evaluating the inherent uncertainty in describing subsurface geology, hydraulic properties, and the migration of hazardous contaminants in groundwater flow systems. It is well suited for the aforementioned purposes, but is also sufficiently general to be usable by researchers in a wide range of disciples. - -<sect1>EcoTopia -<p> -The <url url="http://www.ecotopia.org" name="EcoTopia"> web site uses computer simulation to model Santa Cruz, California as an ideal environmental community. For Ecotourists and Green Consumers, EcoTopia strives to offer the nation a model of integration of technology and environmental remediation using computer modeling and image forecasting. - -<sect>Related Projects, Mailing Lists and Newsgroups -<p> -<itemize> - -<item> -Though I searched the WWW, I couldn't find neither a dedicated newsgroup nor a mailing list yet. So I decided to create the Eco-Com mailing list. You can subscribe to this list via email. Write to <eco_com-subscribe@listbot.com>, and you will be sent a verification message. - -<item> -<url url="http://www.repairfaq.org" name="Repair FAQ"> . - -<item> -<url url="http://www.ncsc.dni.us/fun/user/tcc/cmuseum/helpline/helpline.htm" name="Obsolete Computer Helpline"> . - -<item> -<url url="http://come.to/386" name="386 World"> by Gaute Hvoslef Kvalnes <386@altavista.net> . He provides one of the greatest recources available on 386 computers and software. Though his work is mainly related to MS-Windows, he also supports Linux. - -<item> -&dquot;The <url url="http://www.lib.uidaho.edu" name="Electronic Green Journal">, published by the University of Idaho Library, is a professional, refereed publication devoted to disseminating information concerning sources on international environmental topics including: assessment, conservation, development, disposal, education, hazards, pollution, resources, technology, and treatment. We are academically sponsored; our focus, however, is to publish articles, bibliographies, reviews, and announcements for the educated generalist as well as the specialist. We welcome original contributions from authors on any of the above topics.&dquot; . You may also find a survey about Environmental Resources on the World Wide Web there. - -</itemize> - -<sect>Credits -<p> -Thanks to: - -<itemize> -<item>Verena Lorenz-Meyer <lome@cs.tu-berlin.de> -<item>George White <gwhite@bodnext.bio.dfo.ca> -<item>Wade W. Hampton <whampton@staffnet.com> -<item>Daniel Pirone <cocteau@wact.net> -<item>Knut Suebert <ksueber@gwdg.de> -<item>Ben De Rydt <ben.de.rydt@pandora.be> -<item>Hanno Mueller <kontakt@hanno.de> -<item>Bernhard Reiter <bernhard@uwm.edu> -<item>Yan Wong <yan.wong@linacre.ox.ac.uk> -<item>Robert Horn <rjh@world.std.com> -<item>Martin Pool <martinp@mincom.com> -<item>Andreas Gohr <ballermann@> -<item>Lionel, &dquot;trollhunter&dquot; Bouchpan-Lerust-Juery, <trollhunter@linuxfr.org> -<item>Hristo Bojinov <hib@mit.edu> -<item>Ralf Muschall <rmuschall.fih@t-online.de> -<item>Russell Marks <rus@beeb.net> -<item>Martin Pool <martinp@mincom.com> -<item>Malcolm Herbert <Malcolm.Herbert@fulcrum.com.au> -<item>Sotiris Vassilopoulos <Sotiris.Vassilopoulos@betatech.gr> -<item>Thomas Boutell <boutell@boutell.com> -<item>Matthias Scheller <mscheller@access.diax.ch> -<item>Martin <Niteskate@aol.com> -<item>Jun Morimoto <morimoto@xantia.citroen.org> -<item>Georg Schwarz <schwarz@physik.tu-berlin.de> -</itemize> - -<sect>Revision History -<p> -<itemize> - -<item>v0.1, 18 June 1999, first draft - -<item>v0.2, 10 September 1999, changed <htmlurl ... > tag to <url ...>, another motto, added appendix B about MP3 player, created and added eco_com mailing list, added chapter about alternative power supplies, added recommendations for buying a new computer, improved screensaver section, added UPS chapter, added chapter about hardware design, minor changes - -<item>v0.3, 17 September 1999, added information about Tierra, added information about wasting of resources during computer production, added some comments about UPS, minor changes - -<item>v0.4, 05 December 1999, added appendix G about other operating systems, added information about CD recycling, added appendix H URLs of recyclers, removed link to Linux Games Survey, added links to SWARM, UNCERT and Climate-Dynamics, added chapter about Energy Star label (courtesy of Robert Horn), minor changes - -<item>v0.5, 04 January 2000, some additional information about PostScript utilities, new chapter Caveats, URL corrections and minor changes - -<item>v0.6, 01 March 2000, link to Japanese translation added and some spell checking (thanks to Jun Morimoto), correction of URLs - -</itemize> - -<sect>Copyright and Disclaimer -<p> -Copyright © 1999 by Werner Heuser. This document may be distributed under the terms set forth in the LDP license at <url url="http://linuxdoc.org/COPYRIGHT.html" name="COPYRIGHT">. -<p> -The information in this document is correct to the best of my knowledge, but there's a always a chance I've made some mistakes, so don't follow everything too blindly, especially if it seems wrong. Nothing here should have a detrimental effect on your computer, but just in case I take no responsibility for any damages incurred from the use of the information contained herein. All trademarks belong to their owners. - -<sect>Appendix A - Linux with Laptops -<p> -<sect1>Battery -<p> -Has to be written. See <url url="http://linuxdoc.org/HOWTO/mini/Battery-Powered.html" name="LDP - Battery-HOWTO"> by Hanno Mueller, too. -<p> -<tt> apmd-rhcn-2.4phil-1</tt> by RedHat <url url="ftp://rhcn.redhat.com/pub/rhcn/" name="ftp://rhcn.redhat.com/pub/rhcn/"> contains an unofficial patch for shutting down the PCMCIA sockets before a suspend and patches for multiple batteries. - -<sect1>PCMCIA Card Services and Advanced Power Management -<p> -Quoted from the <url url="http://linuxdoc.org/HOWTO/PCMCIA-HOWTO.html" name="LDP - PCMCIA-HOWTO ">: "Card Services can be compiled with support for APM (Advanced Power Management) if you've configured your kernel with APM support. ... The PCMCIA modules will automatically be configured for APM if a compatible version is detected on your system. Whether or not APM is configured, you can use <tt>cardctl suspend</tt> before suspending your laptop, and <tt>cardctl resume</tt> after resuming, to cleanly shut down and restart your PCMCIA cards. This will not work with a modem that is in use, because the serial driver isn't able to save and restore the modem operating parameters. APM seems to be unstable on some systems. If you experience trouble with APM and PCMCIA on your system, try to narrow down the problem to one package or the other before reporting a bug. Some drivers, notably the PCMCIA SCSI drivers, cannot recover from a suspend/resume cycle. When using a PCMCIA SCSI card, always use <tt>cardctl eject</tt> prior to suspending the system." -<p> -You should use the internal modem in a laptop instead of a PCMCIA modem, if possible (it may be a WinModem). - -<sect1>Power Saving Techniques -<p> -<enum> -<item> -If you don't need infrared support, disable it in the BIOS or shutdown the IrDA device driver. There are also some IrDA features of the kernel which are useful for saving power. - -In the specifications of my HP OmniBook 800 it is recommended to turn off the IR port, if it is not in use, because it may consume up to 10 percent of the battery time. - -If necessary, you may also try to disable the <tt>Fast RRs</tt> feature in the IrDA section of the kernel. This option will give you much better latencies but will consume more power. - -<item> -PCMCIA services consume much power, so shut them down if you don't need them. - -<item> -I'm not sure to which extend the <it>backlight</it> consumes power. WARNING: AFAIK this device can only bear a limited number of uptime circles. So avoid using screensavers too much. - -<item> -For some examples to build batteries with increased uptime up to 8 hours look at Adorable Toshiba Libretto <url url="http://www.cerfnet.com/˜adorable/libretto.html" name="http://www.cerfnet.com/˜adorable/libretto.html">. - -<item> -For information about APM look at the APM chapter above. - -<item> -<url url="http://www-leland.stanford.edu/˜bbense/toys/" name="A hacked rclock ">. Booker C. Bense has hacked the <it>rclock</it> program to include a simple battery power meter on the clock face. - -<item> -<url url="http://www.jaist.ac.jp/˜daisuke/Linux/xbatstat.html" name="xbatstat">. A battery level status checker for Linux and X. - -<item> -KDE <url url="http://www.kde.org" name="http://www.kde.org"> provides <it>KAPM</it>, <it>Kbatmon</it> and <it>Kcmlaptop</it>. Written by Paul Campbell <it>kcmlaptop</it> is a set of KDE control panels that implements laptop computer support functions, it includes a dockable battery status monitor for laptops - in short a little icon in the KDE status bar that shows how much battery time you have left. It also will warn you when power is getting low and allows you to configure power saving options. - -Similar packages you may find at the GNOME project <url url="http://www.gnome.org/" name=" http://www.gnome.org/"> . See the software maps at both sites. - -<item> -Please see Battery Powered Linux Mini-HOWTO by Hanno Mueller, hanno@lava.de <url url="http://www.lava.de/˜hanno/" name="http://www.lava.de/˜hanno/"> for more information. - -<item> -<tt>toshiba-fan</tt> Turn the fan on a Toshiba Pentium laptop on or off. This is a command line utility to turn the fan of a Toshiba laptop on or off, or view its current state. It should work on all Toshiba Pentium laptops that have fans. - -</enum> - -<sect>Appendix B - MP3-Hardware-Decoder at Parallel Port -<p> -In the German computer magazine <url url="http://www.heise.de/ct/" name="CT"> issue 9/1999 p. 200 and 10/1999 p. 260 I found an article about turning an old PC (from 286 upward) into a MP3 player, by using a MP3-Hardware-Decoder at the parallel port. <url url="http://www.ieee.rwth-aachen.de/mp3/" name="Authors Homepag"> . -<p> -Also mentioned there, is a software by <url url="http://cip8.e-technik.uni-erlangen.de:8080/hyplan/kspeichl/mpegcd.htm" name="Klaus Peichl">, which doesn't need a hardware decoder. -<p> -Though both programs are DOS based, I mention them here. I hadn't time to look for an according Linux solution. -<p> -<url url="http://www.cajun.nu/" name="Cajun"> is a program that allows you to turn any computer (>75mhz) into a massive audio jukebox for your car or home. It uses the matrix-orbital serial display and supports the IRman infra-red remote control interface. Soundcard output is delivered to your (car or home) stereo for amplification. The software supports a hotlist and shuffle mode. It includes FM/Video4Linux support, icecast/shoutcast support, CrystalFontz serial display support, and choice of mpg123 or xaudio for driving the sound card. - -<sect>Appendix C - Bibliography -<p> -<itemize> - -<item>Ellringmann, H. /Hrsg.): Softwarefuehrer Umweltschutz. Anbieter - Produkte - Maerkte; 1999ff. - -<item>Koellner, W. / Fichtler, W.: Recycling von Elektro- und Elektronikschrott; 1996 - -<item>Rohwedder, W.J. &dquot;Rocky&dquot; / Alm, Andy: Using Computers in Environmental Education; 1994 - -<item>Schloegl, M.:Recycling von Elektro- und Elektronikschrott; 1995 - -<item>Tiltmann, K.O. (Hrsg.): Recyclingpraxis Elektronik; 1994 - -<item>Andreas Grote: (be): Gruene Rechnung - Das Produkt Computer in der Oekobilanz - Report, Oekologie, Rohstoffverbrauch, Energieverbrauch und Schadstoff-Emissionen bei Herstellung, Betrieb und Entsorgung, EPA, Energy Star, Green-PC (c't 12/1994, Seite 92) <url url="http://www.heise.de/ct/" name="CT"> . - -</itemize> - -<sect>Appendix D - Recommendations for Buying a New Computer -<p> -Courtesy of Wade W. Hampton (modifications by wh): Purchase a low-power computer such as a laptop or network computer. These typically don't use as much power as desktop systems. For example, someone on the WWW had a Corel/Rebel Netwinder powered by solar cells. I find it funny that an &dquot;Energy Star&dquot; desktop still has a 300W power supply and uses far more power than a computer like the Netwinder which uses something like 10 Watts of power, (though this is consistent with the Energy Star goals for computer equipment, since they have targeted unused power consumption). -<p> -Maybe there should be a new class of computers called &dquot;Energy Miser&dquot; (or similar) that use nearly an order of magnitude less power than Energy Star systems? -<p> -To save power for the display, one could purchase a LCD monitor instead of a CRT. LCD monitors consume 30-40 Watts of power versus the 100's of Watts used by most monitors. The price of an LCD is still 2-3 times that of a similar monitor, but as LCDs become more widely used, the price will come down. -<p> -Make sure that any new computer purchase includes APM-compliant hardware and low-radiation. Use TCO, DPMS or Energy Star compliant monitors. -<p> -R Horn <rjh@world.std.com> wrote: &dquot; I personally have found the <url url="http://eande.lbl.gov/" name="Lawrence Berkeley Labs - LBL"> web site to be the best source for information on energy efficient equipment. They go into considerable details on how to reduce energy consumption from many kinds of equipment, including much more than computers. They also have a good collection of links to related sites. The Energy Star program is defined by the US Environmental Protection Agency, which has a web site on it. So far all of the Energy Star regulations have been defined to reduce energy usage without requireing change or restrictions on regular usage. There is an amazingly large amount of electricity consumed by idle equipment (computers, televisions, microwave ovens,...) and also large amounts consumed unnecessarily by equipment that must be continuously one (emergency exit signs, traffic lights, ...). Since this energy can be saved without asking users to make any compromises on performance, it is being targeted first. -<p> -Somewhere on the LBL web site they have the actual power consumption figures for various PCs. The 300W power supply is quite misleading. Actual power usage varies depending upon what programs you run and whether the disks can be powered down. Genuine usage while in operation is usually in the 50-75W range. When the system is idle, it drops significantly. -<p> -The NetWinder is a nice machine, but does force operational compromises. The peak CPU performance is much lower. The operating system is not Windows. And there are other limitations. A closer comparison is the typical laptop PC. These can generally be operated from a modest solar panel because their average power drain is quite low. With these you can see the cost vs power consumption tradeoff. They achieve the same performance as the desktop units, but the low power consumption has doubled or tripled the cost. -<p> -(I personally use a Psion. A decent slow computer that requires only 200mw of power. It may even run Linux once they deal with some of the ROM issues.) -<p> -The big debate in setting the energy star regulations was deciding which would have greater overall benefit: small negligible cost improvements to almost all equipment sold, or greater improvements at much higher cost? Could that cost be invested elsewhere to greater benefit? How will the purchasers react to the higher cost? So far the consensus has been that improving a large number of machines at negligible cost is wiser than improving a smaller number of machines at high cost.&dquot; - -<sect>Appendix E - A New Environmentally Friendly Hardware Design -<p> -Courtesy of Wade W. Hampton and Knut Suebert: New hardware designs that plan to use Linux should take advantage of environmentally friendly technologies such as low-power CPUs e.g., the ARM from: <url url="http://developer.intel.com/design/strong/" name="Intel">, environmentally friendly battery design, low-power displays (e.g., non-backlit LCDs), smaller packaging, etc. Linux supports a WIDE variety of hardware and technologies. These could be leveraged into powerful, flexible, environmentally friendly Linux-based solutions. - -An &dquot;Environmental Rating&dquot; could be created for new Linux-based hardware and even some Linux-based software such as <tt>bottlerocket</tt> (X10). Devices such as the Netwinder or the uCsimm would receive high ratings for their size, power consumption, capabilities, etc. - -At <url url="http://www.telepolis.de/tp/deutsch/inhalt/te/1367/1.html" name="Telepolis (German Computer Magazine)"> you might find an article about wasted resources during computer manufacturing. - -Generally speaking PPC CPUs consume less power than x86 CPUs. - -<sect>Appendix F - Computer Related Eco Labels -<p> -Currently I have only this small list: TCO, DPMS or Energy Star <url url="http://www.blauer-engel.de/" name="Blauer Engel"> (Germany), Energy Label - Group for Efficient Appliances (GEA). - -<sect>Appendix G - Other Operating Systems -<p> -<sect1>DOS -<p> -To my surprise there are still many tools available to make old 286 PC useful. I started a search for <it>286</it> at <url url="http://www.simtel.net/" name="Simtel.Net"> and found many useful shareware programs. For instance: - -<itemize> - -<item> -<url url="ftp://ftp.simtel.net/pub/simtelnet/msdos/lan/neos-10.zip" name="Full-featured LAN for MSDOS computers, 286+req"> - -<item> -<url url="ftp://ftp.simtel.net/pub/simtelnet/msdos/pcboard/rm172b.zip" name="RoseMail, PCBoard offline mail, 8086/286 exe's"> - -<item> -<url url="ftp://ftp.simtel.net/pub/simtelnet/msdos/sysutl/vmix285.zip" name="Multitasking/multiuser environment for 286-586"> - -</itemize> - -There is even a free DOS around, see <url url="http://www.500mhz.net/ndx.html" name="The OS Developers Homepage"> - -<sect1>MS-Windows -<p> -A power saving utility <url url="http://www.bugcomputer.com/cpuidle/index.html " name="CPUIDLE"> is available. Another one for older versions of MS-WindowsNT is available at <url url="http://members.aol.com/niteskate/ntpwr.zip" name="Niteskate">. - -<sect>Appendix H - URLs of Recylers -<p> -<itemize> - -<item><url url="http://www.remedia.de/mitte.htm" name="REMEDIA"> - Germany - recycling of data storage media (CD, floppy, tape) - -<item><url url="http://www.alcad.com/site_map.htm " name="ALCAD"> - worldwide - Ni-Cd Battery Recycling - -<item><url url="http://www.cd-collect.com/" name="CD-COLLECT"> - CD recycling - -<item><url url="http://www.rbrc.org/" name="Rechargeable Battery Recycling Corporation"> RBRC is a non-profit, public service organization created to promote the recycling of Nickel-Cadmium (Ni-Cd) rechargeable batteries. - -<item>The <url url="http://www.epba-europe.org" name="European Portable Battery Association (EPBA)"> is the European organisation of companies manufacturing, selling or distributing portable batteries. The mission of the EPBA is to ensure that the ideal conditions are created for responsible development of the portable battery industry in Europe. Acting in the common interests of all of its members, the EPBA aims to sustain a competitive industry in an increasingly complex commercial climate. - -<item><url url="http://www.batterycouncil.org " name="Battery Council International"> is a not-for-profit organization with the mission of promoting the interests of the international lead-acid battery industry. With more than 175 members worldwide, the Battery Council International (BCI) brings together lead-acid battery manufacturers and recyclers, marketers and retailers, suppliers of raw materials and equipment, and industry consultants. - -</itemize> - -</article> +<!doctype linuxdoc system> +<article> +<title>Linux Ecology HOWTO + +<author> +Werner Heuser +<htmlurl url="mailto:wehe@mobilix.org" name="< wehe@mobilix.org >"> + +Wade W. Hampton +<htmlurl url="mailto:whampton@staffnet.com" name="<whampton@staffnet.com>"> + +</author> + +<date>v0.8, 4 November 2000 +<abstract> +The Ecology-HOWTO discusses ways Linux computers can be used as a means to protect our environment, by using its features to save power or paper. Since it does not require big hardware, Linux may be used with old computers to make their life cycle longer. Games may be used in environmental education and software is available to simulate ecological processes. +</abstract> +<toc> + +<p> +<sect>Introduction +<p> +Life is the first gift, love is the second, and understanding is the third. -- <url url="http://www.capecod.net/˜tmpiercy/" name="Marge Piercy"> + +<p> +Though computers can be seen as part of environmental pollution, there are also ways to use computers in a more reasonable manner to help protect the environment. So I have just started to collect some means to do so with Linux. + +<sect1>Objectives +<p> +Some objectives of the howto: + +<itemize> +<item> +Reduction in power consumption. +<item> +Reduction in consumables like paper and inks. +<item> +Reduction in waste by reusing older components or keeping them in service longer. +<item> +Reduction in toxic waste such as used batteries. +<item> +Use of Linux in environmental education and research. +</itemize> + +<sect1>Caveats +<p> +Some of the recommendations in this text are discussed controversial, for instance: powering down a device, when it's not in use. This may save power, but not under all circumstances. Also it may have other additional ecological costs, e.g. the life time of the device can be shortened. +<p> +I don't have enough technological knowledge to make a decision between these alternatives. Also some alternatives might be rated differently by different persons. So finally the decision what to choose is up to you. Anyway if you have better alternatives please let me know. + +<sect1>About the Document and the Authors +<p> +<sect2>Miscellaneous +<p> +If I didn't provide an URL for a program or a package, you may get it from <url url="http://www.debian.org" name="Debian"> or as a RPM package, from your favorite RPM server, for instance <url url="http://rufus.w3.org/linux/RPM/ByName.html" name="Rufus">. +<p> +Some parts are modified chapters from <url url="http://mobilix.org/howtos.html" name="my Laptop-HOWTO and my IR-(InfraRed)-HOWTO">. +<p> +The document is included in the <url url="http://linuxdoc.org/" name="LINUX DOCUMENTATION PROJECT">. +<p> +The latest version of this document is available at <url url="http://mobilix.org/eco_linux.html" name="Ecology and Computers"> . +<p> +Since Wade W. Hampton provided a great amount of information included into this text I consider him as a co-author. Though all responsibility for any mistakes is taken by me. +<p> +Please feel free to contact me for comments or questions about the HOWTO. I know this material is not finished or perfect, but I hope you find it useful anyway. <p> +Werner Heuser <htmlurl url ="mailto:wehe@mobilix.org" name="<wehe@mobilix.org>"> + +<sect2>Translations +<p> +Jun Morimoto <morimoto@xantia.citroen.org> has written the <url url="http://www.linux.or.jp/JF/JFdocs/Ecology-HOWTO.html" name="translation into Japanese">. +<p> +A translation into Chinese(Big5 code) is proposed by Richie Gan. It is part of the <url url="http://www.linux.org.tw/CLDP/" name="Chinese Linux Document Project">. You may contact CLDP coordinator <cwhuang@linux.org.tw> to reach him. +<p> +Victor Solymossy <victor@lig.dq.ufscar.br> proposed a translation into Portuguese. + +<sect>Reduction of Power Consumption +<p> +There are some means to save power when using a computer which are supported by Linux: Advanced Power Management, certain harddisk settings, working without monitor and others. + +<sect1>Advanced Power Management (APM/ACPI) +<p> +<sect2>Linux Compatibility Check +<p> +From the Battery-Powered-mini-HOWTO &dquot; .. for APM to work on any notebook or energy-conscious desktop, the system BIOS ROM in the machine must support the APM standard. Furthermore, for APM to work with the Linux operating system, the system BIOS ROM must support either the 1.0 or 1.1 version of the APM standard, and it must also support 32-bit protected mode connections. A system that supports APM 1.1 is preferred, as it provides more features that the device driver and supporting utilities can take advantage of.&dquot; + +You may get information about the APM version with the <tt>dmesg</tt> command and in the <file>/proc/apm</file> file. + +<sect2>Introduction +<p> +When you first install Linux, you will probably have to recompile the kernel. The kernel that came with your distribution probably does not have APM enabled. +<p> +APM support consists of two parts: <it>kernel</it> support and <it>user-land</it> support. +<p> +For <it>kernel</it> support, enable the parameters in the corresponding kernel section. AFAIK not all features work with laptops. AFAIK the feature <tt>CONFIG_APM_POWER_OFF</tt> works with most laptops. +<p> +The utilities for <it>userland</it> support may be found at <url url="http://www.worldvisions.ca/~apenwarr/apmd/" name="WorldVisions">. APMD is a set of programs that control the Advanced Power Management system found in most modern laptop computers. If you run a 2.2.x kernel and want to experiment, Gabor Kuti <seasons@falcon.sch.bme.hu> has made a kernel patch that allows you to <it>hibernate</it> any Linux system to disk, even if your computers APM BIOS doesn't support it directly. + +Richard Gooch wrote: I'have had a look at the beta version of <tt>apmd</tt>, and I still don't like it, because: + +<itemize> + +<item> +Only supports one command to run at suspend time. + +<item> +Doesn't distinguish between user and system suspends. + +<item>doesn't provide a way to disable policy (the <tt>sync()</tt>; <tt>sleep(0) </tt>; <tt>sync()</tt>; <tt>sleep(1)</tt>; sequence) + +<item> +Does not document extra features. + +<item> +And I'm not sure that what we want is a single super daemon. A collection of smaller daemons might be better, since it allows people to pick and choose. A super daemon is bloat for those who only want one small feature. + +</itemize> + +Though this topic was discussed controversly Richard Gooch has put together a package <tt>suspendd</tt> at <url url="http://www.atnf.csiro.au/˜rgooch/linux/" name="http://www.atnf.csiro.au/˜rgooch/linux/"> . + +Also, have a look at <tt>apmcd</tt> (<tt>apm</tt> based crontab) at <url url="ftp://ftp.binary9.net/pub/linux/" name="ftp://ftp.binary9.net/pub/linux/"> . A tool made by Nicolas J. Leon <nicholas@binary9.net> <url url="http://mrnick.binary9.net/" name="http://mrnick.binary9.net/">. + +Note: I didn't check wether this features are merged into one package (<tt>apmd</tt> eventually) already. + +<sect2>Caveats +<p> +If you have another operating system preinstalled or use another operating system at the same disk, make sure there is no &dquot;hibernation&dquot; or &dquot;suspend&dquot; tool installed, which could severely interfere with Linux, e.g. it might use disk space which is occupied by Linux or vice versa. + +<sect2>Troubleshooting +<p> +If your machine worked with 2.0.x kernels but not with the 2.2.x series, take this advice from Klaus Franken kfr@klaus.franken.de : &dquot;The default changed in 2.2. Search in the init-scripts for <tt>halt</tt> and change it to <tt>halt -p</tt> or <tt>poweroff</tt>. See <tt>man halt</tt> , if you don't have this option you need a newer version of <tt>halt</tt>.&dquot; You may find it in the <tt>SysVinit</tt> package. +<p> +Sometimes X windows and APM don't work smoothly together, the machine might even hang. A recommendation from Steve Rader: Some Linux systems have their X server hang when doing <tt>apm -s</tt>. Folks with this affliction might want switch to the console virtual terminal then suspend <tt>chvt 1; apm -s</tt> as root, or, more appropiately.<tt>sudo chvt 1; sudo apm -s</tt>. I have these commands in a script, say, <tt>my-suspend</tt> and then do <tt>xapmload --click-command my-suspend</tt> . +<p> +On some new machines (for instance HP Omnibook 4150 - 366 MHz model) when accessing <file>/proc/apm</file>, you may get a kernel fault <tt>general protection fault: f000</tt>. Stephen Rothwell <Stephen.Rothwell@canb.auug.org.au> <url url="http://www.canb.auug.org.au/˜sfr/" name="http://www.canb.auug.org.au/˜sfr/"> explaines: &dquot;This is your APM BIOS attempting to use a real mode segment while in protected mode, i.e. it is a bug in your BIOS. .. We have seen a few of these recently, except all the others are in the power off code in the BIOS wher we can work around it by returning to real mode before attempting to power off. Here we cannot do this.&dquot; + +<sect2>ACPI +<p> +The latest standard is ACPI. The ACPI4Linux project has started at the beginning of 1999. The ACPI4Linux project is a kernel driver project aimed at implementing full ACPI support for Linux, including fan control, dock/undock detection and a WindowMaker dockable temperature meter. You may reach it at <url url="http://phobos.fachschaften.tu-muenchen.de/acpi/" name="http://phobos.fachschaften.tu-muenchen.de/acpi/"> . + +<enum> + +<item> +<url url="ftp://tsx-11.mit.edu/pub/linux/sources/sbin/hdparm-3.0.tar.gz" name="hdparm"> <it>hdparm</it> is a Linux IDE disk utility that lets you set spin-down timeouts and other disk parameters. It works also for some SCSI features. + +<item> +<url url="http://www.complang.tuwien.ac.at/ulrich/linux/tips.html" name="Mobile Update Daemon "> This is a drop-in replacement for the standard <tt>update</tt> daemon, <tt>mobile-update</tt> minimizes disk spin ups and reduces disk uptime. It flushes buffers only when other disk activity is present. To ensure a consistent file system call <tt>sync</tt> manually. Otherwise files may be lost on power failure. <tt>mobile-update</tt> does not use APM. So it works also on older systems. + +<item> +<url url="http://www2.prestel.co.uk/hex/toshiba.html" name="Toshiba Linux Utilities "> This is a set of Linux utilities for controlling the fan, supervisor passwords, and hot key functions of Toshiba Pentium notebooks. There is a KDE package <it>Klibreta</it>, too. + +<item> +<url url="http://lcdproc.omnipotent.net/" name="LCDproc"> . &dquot;LCDproc is a small piece of software that will enable your Linux box to display live system information on a 20x4 line backlit LCD display. AFAIK it connects only to the external Matrix-Orbital 20x4 LCD display <url url="http://www.matrix-orbital.com/" name="Matrix-Orbital">, which is a LCD display connected to a serial port. + +<item> +<url url="http://www.loonie.net/˜eschenk/diald.html" name="Dial Daemon"> . The Diald daemon provides on demand Internet connectivity using the SLIP or PPP protocols. Diald can automatically dial in to a remote host when needed or bring down dial-up connections that are inactive. + +</enum> + +<sect1>Power Management Unit - PMU (PowerBook) +<p> +PowerBooks don't support the APM specification, but they have a separate protocol for their PMU (Power Management Unit). There is a free (GPL) daemon called <tt>pmud</tt> that handles power management; it can monitor the battery level, put the machine to sleep, and set different levels of power consumption. It was written by Stephan Leemburg <stephan@jvc.nl>, and is available from PPC distribution ftp sites (e.g. ftp://ftp.linuxppc.com/contrib/software/Utilities/System/). There is also an older utility called <tt>snooze</tt> available from the same sites that just puts the PowerBook to sleep. + +<sect1>Turn Monitor off, use Keyboard LEDs +<p> +There are some tools which allow to get information from your computer without using the monitor: + +<itemize> +<item> +<tt>bl</tt> : Blink Keyboard LEDs +<item> +<tt>blinkd</tt> : &dquot;Blinks keyboard LEDs for an answering machine or fax machine. Blinkd is a client/server pair, that lets the keyboard LEDs blink, indicating things like the number of incoming voice calls in the voice box or incoming faxes in the spool.&dquot; + +<item> +<tt>mailleds</tt> : Shows new mails with the keyboard LEDs, <tt>mailleds</tt> is a quiet, unobtrusive way to signify that you have new mail: a user daemon to blink LEDs when there is new mail. + +<item> +<tt>tleds</tt> : Blinks keyboard LEDs indicating TX and RX network packets. They blink Scroll-Lock LED when a network packet leaves the machine, and Num-Lock LED when one is received. + +</itemize> + +<sect1>Screensavers +<p> +Do they only prevent the screen from being burned in or do they save power, too? +<p> +Some recommendations from Wade W. Hampton: +<p> +Screensavers usually display graphics, look for ETI, or perform other tasks. When using your screensaver in this manner, you may actually consume MORE power. For example a computer using XSETI as a screensaver might get far warmer (hence use more power) than when it was being used to edit a document or perform a compile. + +To really save power, and if your X server plus monitor supports it, use the <tt>dpms</tt> option of <tt>xset</tt> (see the manual page for <tt>xset</tt>). For example, to enable the DPMS (Energy Star) features of you X server: <tt>xset +dpms</tt> + +You may also manually change the mode of your X display: +<code> +xset dpms force standby +xset dpms force suspend +xset dpms force off +</code> + +<p> +AFAIK a CRT consumes on the order of 25 percent more power when displaying a <it>plain white</it> screen than displaying a <it>plain black</it> screen. So, a screensaver that's mostly black can help save power, even if it doesn't actually use DPMS to power down the screen. Of course, one that's very bright and colourful, or that keeps the CPU running fast is not much help. + +<p> +Some screen saver programs: + +<itemize> +<item> +The purpose of <tt>xscreensaver</tt> is to display pretty pictures on your screen when it is not in use, in keeping with the philosophy that unattended monitors should always be doing something interesting, just like they do in the movies. The benefit that this program has over the combination of the <tt>xlock</tt> and <tt>xautolock</tt> programs is the ease with which new graphics hacks can be installed: you don't need to recompile this program to add a new display mode, you just change some resource settings. Any program which can be invoked in such a way that it draws on the root window of the screen can now be used as a screensaver without modification. The programs that are being run as screensavers don't need to have any special knowledge about what it means to be a screensaver. +<item> +<tt>LockVC</tt> is a console-locking-program combined with a starfield screensaver. Executing LOCKVC on a virtual console brings up a starfield that starts to rotate around all three axes. +</itemize> + +<sect1>Energy Star Label +<p> +Robert Horn <rjh@world.std.com> wrote: &dquot; +<p> +I had a chance to discuss Energy Star with the designers of desktop printers. They confirmed that the allowable stand-by power targets depend on the device, and they only knew their targets. But they made some other interesting comments: +<enum> +<item>Energy Star ratings lead to significant operational power savings. Timer based power savings are the exception. Most savings come from designing in power on demand with low leakage drivers. For example, using stepper motors with low leakage current instead of high leakage. +<p> +This savings is both from individual designs and from the resulting demand for low leakage products causing better and cheaper low leakage product designs. The old-style (e.g. typewriter) design with one motor (always on) and various clutches is no longer the least cost. + +<item>Energy Star was good organizational engineering. It never required designers to compromise quality or performance, which made it much harder to argue against design changes to reduce power consumption while idle. Since most of the savings begin the millisecond that parts stop moving, these savings are considerable. + +<item>The power ratings on PC's are a safety rating, not a usage rating. So the 235W and 300W power supplies that commonly found in PCs are specifying their safety limits. Actual full power usage is much less, typically 20-30 percent of the safe limit. The designers also noted that it is actually difficult to measure the power consumption of a switching power supply. You need to use specially designed power meters. The regular AC meters are designed for motors, and are rather inaccurate for switching power supplies. +</enum> +...&dquot; + +<sect1>Miscellaneous Power Saving Techniques +<p> +Linux halts the CPU in the idle cycle to further reduce power consumption. Early reports of OS/2, Win3.1/95, NT, and Linux showed Linux to use far less power than DOS-based O/S's that spun in the idle loop and consumed power -- this may have changed hence it would need research to validate. +<p> +Most Linux-users tend to leave their computer on for years whenever possible. However, several modern BIOS's support an unattended powerup, and with <tt>cron</tt> you can even do an unattended <tt>shutdown</tt>. No need to leave the computer on night after night. + +<sect>Alternative Power Supplies - Sun, Wind, Water +<p> +See a survey of links at <url url="http://www.eklektix.com/solar" name="Eklektix"> . + +<sect>Noise Reduction +<p> +Most of the noise emitted by a computer is produced by the fan, the harddisk and the speakers. + +<sect1>Fan +<p> +<itemize> + +<item> +<tt>libsensors0</tt> is a library to read temperature/voltage/fan sensors + +<item> +<tt>lm-sensors</tt> &dquot;Kernel drivers to read temperature/voltage/fan sensors. This is a module for reading the temperature/voltage/fan sensors in Linux via the LM78/79 chip and possibly sensors on the SMBus (System Management Bus, usually found in P6 and P-II systems). The LM80 and a LM78-clone called W83781D are also supported.&dquot; <url url="http://www.lm-sensors.nu/" name="http://www.lm-sensors.nu/"> + +<item> +ACPI, see APM chapter + +</itemize> + +<sect1>Harddisk +<p> +The noise of the hard disk can be very disturbing, see <tt>man hdparm</tt> to reduce the spin of the disk. + +<sect1>Speakers +<p> +For the console <tt>setterm -blength 0</tt> and for X <tt>xset b off</tt> turns the bell off. See also PCMCIA-HOWTO, and much more details in the Visible-Bell-mini-Howto by Alessandro Rubini. + +<sect>Saving Consumables (Paper, Ink, etc.) +<p> +<sect1>Printing of Drafts / Multiple Pages on One Sheet of Paper +<p> +Use <tt>psutils</tt> package to put more than one page on one sheet of paper. This collection of utilities is for manipulating PostScript documents. Page selection and rearrangement are supported, including arrangement into signatures for booklet printing, and page merging for n-up printing. +<p> +Often HTML pages are not optimised for printing. You may use <tt>html2ps</tt>, a HTML to PostScript converter, to print HTML pages. &dquot;This program converts HTML directly to PostScript. The HTML code can be retrieved from one or more URLs or local files, specified as parameters on the command line. A comprehensive level of HTML is supported, including inline images, CSS1, and some features of HTML 4.0.&dquot; +<p> +Or you may use <tt>mpage</tt> to print 2 up or 4 up (PS documents or ASCII text). This may be used to save up to 50 percent or more of your paper. + +<sect1>Double Sided Printing +<p> +One important way to save paper is to print on both sides of the paper. Ben Woodard is working on a library called <tt>libppd</tt> that allows you to do this from standard Linux printing programs (along with other printer tweaking, but duplex printing is most important for paper saving.) +<p> +http://sourceforge.net/project/?group_id=1658 is the download page for the beta version, as well as for a modified version of <tt>lpr</tt> that supports this functionality. +<p> +<url url="http://www.mesa.nl/pub/mpage" name="mpage"> can do some of this as well. From the manual page: +<p> +<tt>-jfirst[-last][%interval]</tt> +<p> +Print just the selected sheets, specified by number, starting at 1. Here last defaults to the end of data, interval to 1. Thus -j1-10 selects the first 10 sheets, while -j 1%2 prints just the odd- numbered sheets and -j 2%2 prints just the even ones. +<p> +You can do double-sided printing, in two passes, as follows. If you use 3-hole punched paper, put it in the printer such that the holes will appear at the top of the page -- on the right as you pull out the printer tray, in our Laser writer II NTX. Print the odd-numbered sheets with +<p> +<tt>-j 1%2 ...</tt> +<p> +Note the number of pages it reports. (Only half this many will really be printed). When printing finishes, if mpage reported an odd number of pages, remove the last one from the stack, since there will be no even-numbered sheet to match it. Then arrange the stack of paper for printing on the other side. (If it's punched, the holes will now be on the left.) On our II NTX, the paper comes out blank-side up; replace it in the tray still blank-side up but rotated 180 degrees. For other printers, you figure it out. Now print the even- numbered sheets in reverse order with +<p> +<tt>-r -j 2%2 ...</tt> +<p> +hoping no one else reaches the printer before you do. +<p> +Still missing are some explanations how to use a printer, which has a duplex (add on) device. Sorry I don't have such an expensive printer, so I can't check it yet. + +<sect1>Reading From the Monitor Instead From Paper +<p> +Or use <tt>less</tt>/<tt>xless</tt>/<tt>gless</tt> as a viewer instead of printing. You can view PostScript documents with <tt>gs</tt> and view PDF documents with either <tt>xpdf</tt> or <tt>acroread</tt> (from <url url="http://www.adobe.com" name="Adobe">). Ask yourself, do you --really-- need a hardcopy each time you decide to print something out. +<p> +What are the reasons why people don't read from the monitor: +<itemize> +<item> +Reading is slower up to 30 percent, see <url url="http://www.useit.com/alertbox/9602.html" name="N.N.">. The speed can be improved by better hardware (e.g. TFT display, greater screen, though this is against the other below to take smaller CRTs) and better display software (type-1, t1lib, truetype, freetype). +<item> +Paper seems better organizable and more secure to some people. I suppose this can be treated by better software (e.g. Linux) and hardware, too. +</itemize> + +Some people use handheld PC (e.g. PalmIII, Newton Message Pad, Psion 5) to carry around documents to read rather than printing them out. + +<sect1>Other Techniques +<p> +Another means of saving paper is through the use of comments and redline/strikeout markings when exchanging a document with a co-worker/colaborator. For example, a draft could be written using WordPerfect, then E-MAILed to a co-worker. They could update the draft and send it back to you. You can use WordPerfect's redline/strikeout features to see the changes. The document need not be printed until it is &dquot;final&dquot; or in &dquot;final draft&dquot; status. +<p> +Question: Can you use the back side of paper in a laser printer? I have not had much luck. You can use the paper that has been in a laser printer in an inkjet printer by using the other side. +<p> +You should purchase smaller computers and monitors when possible. This will save packaging material translating into less solid waste. For example the box for a 15&dquot; CRT monitor is 2-3 times the size of the box for a 15&dquot; LCD monitor. Linux works well with 15&dquot; LCD monitors on smaller computers like the Netwinder or <url url="http://www.thinworks.com/campaign/try_e3000.html" name="E3000"> . +<p> +Tough smaller monitors may have another ecological caveat: because it's inconvenient to browse to longer documents, people may tend to print the documents instead of reading them from the screen. +<p> +Some have expressed the concern that LCD displays may use more toxic materials and manufacturing processes than CRT displays, hence their usage actually may be worse on the environment. The original information above concerned the solid waste issue, which is fairly tangible and hence more controllable. +<p> +Does anyone know of studies or additional research to help clarify and resolve this issue? +<p> +Recycle your used paper, ink, and packing materials. +<p> +You may use refillable printer cartridges. In Germany the are marked with the <it>Blauer Engel</it> label. +<p> +Laser printer cartridges can often be used much more longer if you shake them when the message <it>toner low</it> appears at the message panel. + +<itemize> +<item>LaTeX documents: +Using \usepackage{ccfonts} replaces the usual fonts by ones with wider lines and bolder serifes, improving readability at low resolutions. They are darker (i.e. use more ink) than the CM fonts and not as beautiful, so I would not recommend them for normal-size printings. + +<item>Size-Reduction: +Instead of <tt>psnup</tt> or other parts of the <tt>pstools</tt> I recommend the <tt>psnup</tt> written in Perl4 by Malcolm Herbert (it's from 1994, and no longer maintained but however there is a descendant of it called <tt>yup</tt>, available at <url url="http://redback.spyda.net/~mjch/yup/" name="yup">). + +<p> +It has a lot of options, which allow to set all 4 margins and the inner gutter separately. Since reduced documents are not very pretty anyway, this can be used to reduce the margin, leaving more place for the text. This probably requires some experimenting (trying new values over and over, checking the result with <tt>ghostview</tt>). +<p> +The normally used options are: + +<itemize> +<item><tt>-p2</tt> (or <tt>-p4</tt> etc., like <tt>-2</tt> in the old <tt>psnup</tt>) +<item><tt>-NIH</tt> (don't decorate) +<item><tt>-l10</tt> <tt>-r20</tt> <tt>-b30</tt> <tt>-t40</tt> (add to margins) +<item><tt>-g50</tt> (add to gutter) +</itemize> + +(these values vary depending on the papersize and the margins of the original, negative values are allowed). + + +<item> +Different ink printers are more or less capable to print on the backside of already used paper sheets. Try different manufacturers. Older Canon ink printers offer 360 dpi, older HP ink printers 300 dpi. The readability of 4 pages/sheet using LaTex 10pt lies in between this features. + +<item>Non-Linux: +If you have to work with MS-Windows you should get the original Adobe-PostScript-Driver, instead of using the ones from MS-Windows. These drivers offer more than one page per paper sheet. AFAIK both <tt>psnup</tt> programs don't work with Adobe-PS, MS-Windows-PS and the PostScript extracted from MS-Windows-PDF files. The Computer-Modern-Fonts (without German diacritical characters) are available as TTF fonts on the CTAN servers. With these fonts you may enhance the aesthetical value of documents and save some paper space, too. + +<item> +Ghostscript has a new output format <tt>pswrite</tt>, which creates output in correct PostScript. This feature can be used to repair broken PostScript e.g. from Microsoft drivers, allowing their postprocessing with <tt>psnup</tt> etc. + +<item> +<url url="http://imagic.weizmann.ac.il/~dov/freesw/impose+/" name="impose+"> is a set of PostScript utilities. The main program is impose, which is used for two-up printing of DSC-compliant PostScript (including that from Netscape, dvips, and FrameMaker). It makes an effort to remove white space from the printout by probing the original PostScript for the bounding box of the printed area. This makes the output much more esthetic than does a simplistic layout of non-cropped original pages. + +<item>hpgs +<url url="http://www.hpgs.cjb.net/" name="hpgs"> is a printer driver that lets you to print on a HP 6xx Series printer using economic mode. It relies on the printer driver included in GhostScript to do everything but put the printer into economic mode. + +</itemize> + +<p> +Wade W. Hampton provided the biggest part of this chapter. Some suggestions are from Ralf Muschall. + +<sect>Ecological Behaviour is Convenient +<p> +The <tt>psutils</tt> may not only save paper, they are also a great tool to produce a convenient page design. Imagine a nice bounded manual in A5 format, against a losely hefted block of A4 sheets. + +<p> +Depending on wordlength and paragraphlength a multi-column layout sometimes saves paper space (though the likelihood for a word to be broken increases, on the other hand the space used by incomplete lines at the end of paragraphs decreases). This doesn't save very much paper, but may fit 2.1 pages in 2.0, therefore with the use of <tt>psnup</tt> it may fit on one page. Also multicolumn layout is better readable. +<p> +Thanks to Ralf Muschall for his suggestions. + +<sect>Recycling of Consumables (Paper, Printer Cartrigdes, CD, Floppies, Tapes) +<p> +All of these consumables are recycleable. I have put a list of URLs into appendix H. You may start this process by separating different kinds of &dquot;waste&dquot;. There should be included some words on the difficulties of recycling (data security, motivation, costs, ...). + +<sect>Reduction of Radiation, Electro Magnetic Fields, Heat +<p> +<itemize> +<item>monitors are a source of <it>radiation</it> and <it>electro magnetic fields</it>. They may be reduced by lead filters, LCD displays. Some eco labels like TCO95 include maximum levels of radiation, etc. +<item>especially larger number of PCs or can <it>heat</it> a room very much therefore it might be necessary to cool the room. This ca be reduced by using standby (powerdown) techniques. + +</itemize> +<p> + +<sect>Extending the Life Cycle of your Hardware +<p> +<sect1>Recycling of Hardware +<p> +The commercial computer market is largely driven by vendors seeking to sell new hardware and software. There is no commercial marketing benefit in promoting reuse. +<p> +Hence Linux doesn't require big hardware, it's very useful if you like or need to use old and small hardware. + +<sect2>Supported CPU Families +<p> +Linux runs on Intel-compatible processors, including Intel's 386, 486, Pentium, Pentium Pro and Pentium II, and compatible processors by AMD, Cyrix and others. + +Linux doesn't support the 286 CPU family yet. But there are some efforts at ELKS <url url="http://www.linux.org.uk/ELKS-Home/index.html" name="http://www.linux.org.uk/ELKS-Home/index.html"> or <url url="http://www.elks.ecs.soton.ac.uk/" name="http://www.elks.ecs.soton.ac.uk/">. + +If you like, you may use <url url="http://www.cs.vu.nl/˜ast/minix.html" name="Minix"> one of the predecessors of Linux. Minix supports 8088 to 286 with as little as 640K memory. + +Of course there are also ports to other systems, such as ALPHA, PowerPC, etc. For details about systems which are supported by the Linux Kernel, see the <url url="http://www.linuxdoc.org/FAQ/Linux-FAQ.html" name="Linux FAQ"> . +<!-- http://www.cl.cam.ac.uk/users/iwj10/linux-faq/ --> + +The ARM is a fast AND low-power alternative. For example, the Corel/Rebel Netwinder is based on the ARM processor see <url url="http://www.rebel.com" name="Rebel"> and <url url="http://developer.intel.com/design/strong/" name="Strong-ARM">. + +<sect2>Linux Applications for Old Computers +<p> +<sect3>ISDN Router +<p> +<url url="http://schumann.cx/isdn-router/" name="ISDN Router"> allows you to convert old hardware into a secure masquerading ISDN router, including caching nameserver, IP Port Forwarding, and on-demand channel bundling. The system fits onto a single disk, and users can change the configuration through a simple menu-based system (on the console or over telnet) and store it permanently on the disk. + +<sect3>PingOO ISDN Router +<p> +<url url="http://www.pingoo.org/Router/" name="The PingOO ISDN Router"> is a Linux distribution based on Debian which is designed to transform an old and useless computer like a 486/DX with 8MB RAM and 100 MB HD into a very reliable ISDN router. It features bandwith on demand (1 or 2 ISDN channels), dialin for maintenance, IP filters with ipchains, LZS compression, and LAN2LAN or single host + masquerade connection. PingOO ISDN-router uses the same philosophy as PingOO Communication Server. + +<sect3>FreeS/WAN +<p> +<url url="http://www.freeswan.org/" name="Linux FreeS/WAN"> provides IPSEC (IP Security, which is both encryption and authentication) kernel extensions and an IKE (Internet Key Exchange, keying and encrypted routing daemon) as well as various rc scripts and documentation. This lets a bright Linux sysadmin build VPN's gateways out of even old 584 and 486 PC Clone boxes. The 1.00 version is known to inter-operate with other IPSEC and IKE system already deployed by other vendors such as OpenBSD. + +<sect3>Print Server +<p> +A common use for an old computer is running a print server on it. + +<sect2>Dealing with Limited Resources or Tuning the System +<p> +This chapter is taken from my Laptop-HOWTO. + +<sect3>Related HOWTOs +<p> + +<enum> + +<item> +LBX-HOWTO + +<item> +Small-Memory-HOWTO + +</enum> + +<sect3>Introduction +<p> +To deal with limited space, memory, CPU speed and battery power, I have written this chapter. + +<sect3>Small Space +<p> +<sect4>Introduction +<p> +There are different types of techniques to gain more disk space, such as sharing of space, freeing unused or redundant space, filesystem tuning and compression. Note: some of these techniques use memory instead of space. As you will see, there are many small steps necessary to free some space. + +<sect4>Techniques +<p> + +<enum> + +<item> +Stripping: Though many distributions come with stripped binaries today it is useful to check this. For details see <tt>man strip</tt>. To find every unstripped file you can use the <tt>file</tt> command or more convenient the tool <tt>findstrip</tt>. Attention: don't strip libraries, sometimes the wrong symbols are removed due to a bad programming technique. +<p> +A recommendation from Russell Marks <rus@beeb.net>: +<p> +These days a lot of people compile with <tt>-g</tt>, which I find a bit annoying (though AFAIK this <it>only</it> loses you disk space, in practice). +<p> +<tt>strip</tt> has a <tt>--strip-debug</tt> option which doesn't strip symbols, but does still get rid of the debugging stuff. This is almost as good, in many cases, and it's ok to use it on libraries. As it happens, I recently got SuSE 6.3, so I can give you a <it>live</it> example: + +<code> +bash-2.03# cd /lib +bash-2.03# ls -l libc.so.6 +-rwxr-xr-x 1 root root 4223971 Nov 6 16:22 libc.so.6 +bash-2.03# strip --strip-debug libc.so.6 +bash-2.03# ls -l libc.so.6 +-rwxr-xr-x 1 root root 1200355 Dec 8 00:13 libc.so.6 +</code> + +</item> + +<item> +Perforation: <tt>zum(1)</tt>reads a file list on stdin and attempts to perforate these files. Perforation means, that series of null bytes are replaced by <tt>lseek</tt>, thus giving the file system a chance of not allocating real disk space for those bytes. Example: <tt>find . -type f | xargs zum</tt> </item> + +<item> +Remove Odd Files and Duplicates: Check your system for core files, emacs recovery files <#FILE#> vi recovery files <FILE>.swp, RPM recovery files <FILE>.rpmorig and <tt>patch</tt> recovery files. Find duplicates, you may try <tt>finddup</tt>. Choose a system to name your backup, temporary and test files, e.g. with a signature at the end. + +<item>Clean Temporary Files: , e.g. <file>/tmp</file>, there is even a tool <tt>tmpwatch</tt>. + +<item>Shorten the Log Files: usually the files in <file>/var/log</file>. There are some nice helpers for this task around, e.g. <tt>savelog</tt> . + +<item> +Remove Files: Remove files which are not &dquot;necessary&dquot; under all circumstances such as man pages, documentation <file>/usr/doc</file> and sources e.g. <file>/usr/src</file> . + +<item> +Unnecessary Libraries: You may use the <tt>binstats</tt> package to find unused libraries (Thanks to Tom Ed White). + +<item> +Filesystem: Choose a filesystem which treats disk space economically e.g. <tt>rsfs</tt> aka Reiser Filesystem. Tune your filesystem e.g. <tt>tune2fs</tt>. Choose an appropriate partition and block size. </item> + +<item> +Reduce Kernel Size: Either by using only the necessary kernel features and/or making a compressed kernel image <tt>bzImage</tt>. </item> + +<item> +Compression: I didn't check this but AFAIK you may compress your filesystem with <tt>gzip</tt> and decompress it on the fly. Alternatively you may choose to compress only certain files. You can even execute compressed files with <tt>zexec</tt></item> + +<item> +Compressed Filesystems: +<p> +- For e2fs filesystems there is a compression version available <tt>e2compr</tt> , see <url url="http://debs.fuller.edu/e2compr/" name="http://debs.fuller.edu/e2compr/"> . +<p> +- DMSDOS which enables your machine to access Windows95 compressed drives (drivespace, doublestacker). If you don't need DOS/Windows95 compatibility, i.e. if you want to compress Linux-only data, this is really discouraged by the author of the program. See <url url="http://fb9nt-ln.uni-duisburg.de/mitarbeiter/gockel/software/dmsdos/" name="http://fb9nt-ln.uni-duisburg.de/mitarbeiter/gockel/software/dmsdos/"> .</item> + +<item> +Partition Sharing: You may share swap-space (see Swap-Space-HOWTO) or data partitions between different OS (see <tt>mount</tt>). For mounting MS-DOS Windows95 compressed drives (doublespace, drivespace) you may use <tt>dmsdos</tt> <url url="http://metalab.unc.edu/pub/Linux/system/filesystems/dosfs/" name=" http://metalab.unc.edu/pub/Linux/system/filesystems/dosfs/">.</item> + +<item> +Libraries: Take another (older) library, for instance <tt>libc5</tt> , this library seems to be smaller than <tt>libc6</tt> aka <tt>glibc2</tt> . + +<item> +Kernel: If your needs are fitted with an older kernel version, you can save some space. + +<item> +GUI: Avoid as much Graphical User Interface (GUI) as possible. + +<item>Tiny Distributions: There are some distributions available which fit from one 3.5&dquot; floppy to 10MB disk space and fit for small memories, too. See <url url="http://mobilix.org/howtos.html" name="Laptop-HOWTO"></item> + +<item> +<url url="http://www.innominate.org/~phillips/tailmerge/" name="Tailmerging"> for Ext2: Tailmerging is a technique that helps save space on a filesystem with large blocks and many small files. Tailmerging for Ext2 is an experimental extension for ext2 that packs together tail blocks of several files into a shared block. + +</item> + +</enum> + +<sect3>Harddisk Speed +<p> +Use the tool <tt>hdparm</tt> to set up better harddisk performance. Though I have seen laptop disk enabled with <it>striping</it>, I can't see a reason to do so, because IMHO aka RAID0 striping needs at least to different disks to increase performance. + +<sect3>Small Memory +<p> +<sect4>Related HOWTOs +<p> + +<enum> + +<item> +Small-Memory-mini-HOWTO by Todd Burgess <tburgess@uoguelph.ca > <url url="http://eddie.cis.uoguelph.ca/˜tburgess" name=" http://eddie.cis.uoguelph.ca/˜tburgess"> + +<item> +<url url="http://website.lineone.net/~brichardson/linux/4mb_laptops/" name="4MB Laptop-HOWTO"> by Bruce Richardson. + +<item> +Modules-mini-HOWTO + +<item> +Kerneld-mini-HOWTO + +</enum> + +<sect4>Techniques +<p> +Check the memory usage with <tt>free</tt> and <tt>top</tt>. + +<url url="http://www.complang.tuwien.ac.at/ulrich/mergemem/" name="Mergemem Project ">. Many programs contain <it>memory areas of the same content</it> that remain undetected by the operating system. Typically, these areas contain data that have been generated on startup and remain unchanged for longer periods. With <tt>mergemem</tt> such areas are detected and shared. The sharing is performed on the operating system level and is invisible to the user level programs. <tt>mergemem</tt> is particularily useful if you run many instances of interpreters and emulators (like Java or Prolog) that keep their code in private data areas. But also other programs can take advantage albeit to a lesser degree. + +You may also reduce the <it>kernel size</it> as much as possible by removing any feature which is not necessary for your needs and by modularizing the kernel as much as possible. + +Also you may shutdown every service or <it>daemon</it> which is not needed, e.g. <tt>lpd</tt>, <tt>mountd</tt>, <tt>nfsd</tt> and close some <it>virtual consoles</it>. Please see Small-Memory-mini-HOWTO for details. + +And of course use <it>swap space</it>, when possible. + +If possible you may use the resources of another machine, for instance with X, VNC or even <tt>telnet</tt>. For more information on Virtual Network Computing (VNC), see <url url="http://www.uk.research.att.com/vnc" name="http://http://www.uk.research.att.com/vnc/"> . + +<sect3>Low CPU Speed +<p> +You may want to overdrive the CPU speed but this can damage your hardware and I don't have experience with it. For some examples look at Adorable Toshiba Libretto - Overclocking <url url="http://www.cerfnet.com/˜adorable/libretto.html" name="http://www.cerfnet.com/˜adorable/libretto.html">. + +<sect3>Tiny Applications and Distributions +<p> +A small collection yet, but I'm looking for more information. + +<enum> + +<item> +BOA - &dquot;Lightweight and High Performance WebServer. <tt>boa</tt> is a single-tasking HTTP server. That means that unlike traditional web servers, it does not fork for each incoming connection, nor does it fork many copies of itself to handle multiple connections. It internally multiplexes all of the ongoing HTTP connections, and forks only for CGI programs (which must be separate processes.) Preliminary tests show boa is capable of handling several hundred hits per second on a 100 MHz Pentium.&dquot; + +<item> +MGR - a graphical windows system, which uses much less resources than X. + +<item> +Low Bandwidth X - Alan Cox in LINUX REDUX February 1998 &dquot; .. there are two that handle <it>normal</it> applications very nicely. LBX (Low Bandwidth X) is the <it>official</it> application of the X Consortium (now OpenGroup www.opengroup.org). Dxpc <url url="http://ccwf.cc.utexas.edu/˜zvonler/dxpc" name="http://ccwf.cc.utexas.edu/˜zvonler/dxpc"> is the alternative most people prefer. These systems act as proxy X11 servers and compress datastreams by well over 50 percent for normal requests, often reaching a reduction to 25 percent of the original bandwidth usage. With dxpc, X windows applications are quite usable over a 28.8 modem link or across the Internet.&dquot; + +<item> +blackbox - &dquot;This is a window manager for X. It is similar in many respects to such popular packages as Window Maker, Enlightenment, and FVWM2. You might be interested in this package if you are tired of window managers that are a heavy drain on your system resources, but you still want an attractive and modern-looking interface.&dquot; + +<item> +linux-lite - distribution based on a 1.x.x kernel for systems with only 2MB memory and 10MB harddisk. URL see above. + +<item> +smallLinux - <url url ="http://smalllinux.netpedia.net/" name=" http://smalllinux.netpedia.net/"> . Three disk micro-distribution of Linux and utilities. Based on kernel 1.2.11. Root disk is ext2 format and has <tt>fdisk</tt> and <tt>mkfs.ext2</tt> so that a harddisk install can be done. Useful to boot up on old machines with less than 4MB of RAM. + +<item> +cLIeNUX - client-use-oriented Linux distribution. + +<item> +minix - not a Linux but a UNIX useful for very small systems, such as 286 CPU and 640K RAM <url url="http://www.cs.vu.nl/˜ast/minix.html" name="http://www.cs.vu.nl/˜ast/minix.html"> . There is even X support named mini-x by David I. Bell <url url="ftp://ftp.linux.org.uk/pub/linux/alan/" name="ftp://ftp.linux.org.uk/pub/linux/alan/"> . + +<item> +<tt>screen</tt> - tiny but powerful console manager. John M. Fisk <fiskjm@ctrvax.vanderbilt.edu> in LINUX GAZETTE July 1, 1996 :&dquot;It's a GUI, GUI, GUI, GUI world! &dquot; - or so the major OS manufacturers would have you belief. Truth is, that while this is increasingly the case, there are times when the command line interface (CLI) is still a very good choice for getting things done. It's fast, generally efficient, and is a good choice on memory or CPU constrained machines. And don't forget that there are still a lot of very nifty things that can be done <it>at the console</it>.&dquot; &dquot;<tt>screen</tt> is a full-screen window manager that multiplexes a physical terminal between several processes, typically interactive shells. Each virtual terminal provides the functions of the DEC VT100 terminal and, in addition, several control functions from the ANSI X3.64 (ISO 6429) and ISO 2022 standards (e.g., insert/delete line and support for multiple character sets). Real multiuser support, split screen support, hardstatus emulation support, configurable window seperator and hardstatus strings, permanent window seperator, many new escapes, logfile timestamps and flush timeout, optional builtin telnet, optional Braille support, support for history compaction.&dquot; + +<item> +tinyirc - &dquot;A tiny, stripped down IRC Client. Doesn't have most of the more advance commands in the ircII family of IRC Clients, nor does it have any color, but it works, and it's tiny.&dquot; + +<item> +tinyproxy - &dquot;Tinyproxy is a lightweight HTTP proxy designed to do the job with a minimum of system resource use. It's ideal for small networks where a larger HTTP proxy such as squid might be overkill or a security risk. This simplicity also makes tinyproxy an ideal candidate for customization - it takes very little time to read and understand the tinyproxy source, and thus you can start adding your own desired features on short order.&dquot; + +</enum> + +<sect1>Other Techniques +<p> +NiCad batteries need to be discharged periodically to prevent the memory effect and prolong their lifespan. + +Batteries such as NiCad, Lead Acid, and NiMH contain TOXIC chemicals. Techniques should be taken to prolong their lifespan, and when you do discard them, they should be recycled, not thrown in the trash. + +One technology to watch is the &dquot;Iron&dquot; battery mentioned in the article at <url url="http://news.excite.com/news/r/990815/01/science-battery-iron" name="N.N."> . Such a battery could reduce some of the toxic waste problems associated with used batteries, however such a battery is probably a few years away. + +Some remarks about backlights in laptops, monitors (screensavers), harddisks (hdparm), etc. have to be written. + +<sect1>Linux BadRAM Patch +<p> +The objective of the <url url="http://home.zonnet.nl/vanrein/badram/" name="BadRAM Patch"> is to run the Linux kernel in such a way that it can handle defective RAM modules. With defective RAM, I mean RAM which has some bits wrong at some (known) addresses. Normally, such RAM is considered useless and thrown away; the larger RAMs get, the higher the chances of failing addresses. With ever growing RAM sizes, it would therefore be pleasant to have an alternative to discarding of defective RAM chips. + +<sect1>Other Operating Systems +<p> +Courtesy of George White <gwhite@bodnext.bio.dfo.ca>: + +Or you can buy an older computer (SGI, Sun, NeXT) that comes with unix and is capable of running a wide range of open source software. In some cases (SGI Indigo2) you can still run current OS versions, in others you may do better with an open source OS such as Linux, but in either case you have access to lots of good software and tools to write your own. + +The lower power consumption of older computers means you get more reserve time from an UPS or can use a small alternative power source if you don't have access to &dquot;mains&dquot; power. + +<sect>X10 - Home Automation System +<p> +&dquot;X-10 modules are devices that plug into an electrical outlet and allow you to remotely control the power to a lamp or an appliance that is plugged into them. There are also X-10 modules that install in place of wall switches to control lights, and there's one that can be used to set back a thermostat.&dquot; +<p> +These <url url="http://www.x10.com" name="X10"> folks make a really cool dongle called the Firecracker. These allow for the control of X10 devices via a serial-port of your PC. Programs like <tt>bottlerocket</tt> and <tt>gtk-x10</tt> allow Linux programs to control X10 devices using the Firecracker device. You may be able to get the Firecracker, a remote control, a receiver, and a lamp module for as little as $5.95 U.S. (special promotion). +<p> +<url url="http://www.joethielen.com/phantom/home/" name="GNU Phantom.Home"> is a computer controlled home automation system. The software includes a circuit diagram for building the Phantom.Home.Controller, a simple circuit board that attaches to your PC's parallel port. Using the combination of hardware/software you can control (i.e. flip on or off) nearly any 120V device. And with a little bit of electronics know-how, you can probably control nearly any device at any voltage by modifying the circuit board to meet your needs. The simple circuit included can be created and built for around $25. The modules cost around $10 (basically a heavy duty relay). +<p> +Turn that light off when not in use! + +<sect>Uninterruptable Power Supply - UPS +<p> +You should use a UPS if you have many thunderstorms in the area. That will save hardware, software, your time, and money, and help prevent you from throwing out that old monitor, CPU, or modem when it gets trashed by lightening. For details consult the <url url="http://linuxdoc.org/HOWTO/UPS-HOWTO.html" name="UPS-HOWTO">. +<p> +UPSs do save hardware, save work, etc. In areas prone to lightening, they could save hours of work each week, potentially translating into power savings. They do save hardware in areas prone to power outages. There is some concern over their additional usage of AC power. If anyone has any studies or research on this issue, could they please forward it to us? That would be an interesting question to post to APC, BEST, etc. + +<sect>Games +<p> +Personally I'm not much a player of computer games but probably they can be used for environmental education. In a first investigation I found <tt>lincity</tt> and <tt>Real Life</tt>, please check their usefulness by yourself. + +<itemize> + +<item> +<tt>lincity</tt> build & maintain a city/country. You are required to build and maintain a city. You must feed, house, provide jobs and goods for your residents. You can build a sustainable economy with the help of renewable energy and recycling, or you can go for broke and build rockets to escape from a pollution ridden and resource starved planet, it's up to you. Due to the finite resources available in any one place, this is not a game that you can leave for long periods of time. This game is similar to the commercial simulation game with a similar name. This package provides files common to both the X and SVGALIB versions of the game. + +<item> +<url url="http://www.sunysb.edu/philosophy/RealLife.html" name="Real Life"> - &dquot;In Conway's Game of Life every cell is either fully alive (has the value of 1) or completely dead (has the value 0). In Real Life this restriction to bivalence is lifted to countenance -real-valued- degrees of life and death. Real Life contains Conway's Game of Life as a special case; however, Real Life, in contrast to Conway's Game of Life, exhibits sensitive dependence on initial conditions which is characteristic of chaotic systems.&dquot; + +<item> +<url url="http://www.sierra.com" name="Sierra"> has produced (some time ago) Eco Quest 1 - <it>Lost in Rainforest</it> and <it>Eco Quest 2 - The Search for Cetus</it>. The EcoQuest games were for MS-DOS and Windows 3.x. These were targeted at younger players. + +<item> +SimEarth, 1988, Maxis (DOS, Win3.x, Mac) Simulates the development of a planet from the forming of the crust to the spread of civilization. Based on James Lovelock's Gaia theory. Somewhat dull and difficult to learn, but there's a good amount of educational value to be gotten out of fiddling around with the models, particularly greenhouse effect. + +<item> +Balance of the Planet, 1991, Chris Crawford (DOS, Mac) You take the role of a government policy-maker who must try to balance industry and ecology. Remarkably complicated and drab (even moreso than SimEarth), but certain to be educational and thought-provoking if time is spent with the manual. (The Mac version can now be downloaded for free from Crawford's website http://www.erasmatazz.com/free.html, but Executor seems to be unable to deal the filenames in the archive.) + +<item> +Global Effect, 1992, Millennium (DOS, Amiga) +An early real-time strategy game where you must try to conquer your opponent while dealing with the ecological ramifications of your weapons and industry upon your population. Clunky interface, not a lot of fun compared to current Warcraft-type games. + +<item> +SimIsle, 1995, Maxis (DOS, ???) +Develop a tropical island without destroying the rainforest ecology. Large learning curve but supposedly a lot of fun. + +<item> +SimPark, 1997, Maxis (Win 95, ???) +Sort of a children's version of SimIsle, which is simpler and more education-focused. + +</itemize> + +I suspect the older games should run just fine on <tt>dosemu</tt>. + +<sect>Ecology Software (Simulation, Datacollection, Statistics, etc.) +<p> +Though I know there is some MS-Windows based software which is used in ecological science (there is even a branch environmental informatic), I know only <it>Ecolab</it> available for Linux yet. But I guess Linux software (for instance databases or statistics programs) may easily adopted. Also it might be possible to use a Linux cluster to solve ecological simulations. + +<sect1>Ecolab +<p> +Ecolab is both the name of a software package and a research project that is looking at the dynamics of evolution. <url url="http://parallel.acsu.unsw.edu.au/rks/ecolab.html" name="http://parallel.acsu.unsw.edu.au/rks/ecolab.html"> EcoLab is a system that implements an abstract ecology model. It is written as a set of Tcl/Tk commands so that the model parameters can easily be changed on the fly by means of editing a script. The model itself is written in C++. + +<sect1>OpenClassroom +<p> +&dquot;OpenClassroom - distribution for Education. Pre-alpha. homepage: <url url="http://www.openclassroom.org/" name="OpenClassroom"> is integrating a package of software that allows educational and community organizations to create communities of knowledge by connecting their existing PCs (old or new) into a network, both local and worldwide, such as the Internet. A central focus of this initiative is to allow such organizations to extend the usable life of their equipment by bringing them state-of-the-art software that runs on their existing PCs. Our toolset allows organizations and citizens to own and operate their own digital printing press.&dquot; + +<sect1>Tierra +<p> +<url url="http://www.hip.atr.co.jp/˜ray/tierra/tierra.html" name="Tierra"> is a tool for studying digital evolution and ecology that runs on Linux and other OSes. + +<sect1>Linux in Environmental Research +<p> +Courtesy of Wade W. Hampton: Linux is ideally suited for use as a research tool for environmental experiments. There are small embedded Linux solutions that can be used for remote monitoring or telemetry. There are VERY small Linux implementations from PC-104 systems to embedded systems like the <url url="http://www.uclinux.com" name="uCsimm">. Linux even flew on the shuttle controlling biological experiments.... Linux has been used for weather research on NOAA's Hurricane Hunter aircraft. + +Linux is also an ideal platform for researching ecological and environmental information via the Internet using standard WWW-based tools like Netscape. + +Linux may even be used to model complex biological and environmental processes. A (<url url="http://www.beowulf.org" name="beowulf cluster"> could be used to run complex simulations of environmental processes, for example <url url="http://www.methaz.com/earthdome.htm" name="Earthdome"> and a survey at <url url="http://platon.ee.duth.gr/~soeist7t/Visualizations/" name="A COLLECTION OF LINKS OF VISUALIZATION & SIMULATION OF SELF-ORGANIZED SYSTEMS">. + +<sect1>SWARM +<p> +<url url="http://www.swarm.org" name="SWARM"> is a software package for multi-agent simulation of complex systems that is being developed by the Swarm Development Group (SDG). +<p> +Swarm is intended to be a useful tool for researchers in a variety of disciplines, especially artificial life. The basic architecture of Swarm is the simulation of collections of concurrently interacting agents: with this architecture, we can implement a large variety of agent based models. The source code is freely available under GNU Licensing terms. + +<sect1>Climate-Dynamics +<p> +<url url="http://www.climate-dynamics.rl.ac.uk" name="Climate-Dynamics"> is project to share computer client resources to analyze the climate. + +<sect1>UNCERT +<p> +<url url="http://uncert.mines.edu/" name="UNCERT"> is a geostatistical uncertainty analysis package applied to groundwater flow and contaminant transport modeling. This package was developed for evaluating the inherent uncertainty in describing subsurface geology, hydraulic properties, and the migration of hazardous contaminants in groundwater flow systems. It is well suited for the aforementioned purposes, but is also sufficiently general to be usable by researchers in a wide range of disciples. + +<sect1>EcoTopia +<p> +The <url url="http://www.ecotopia.org" name="EcoTopia"> web site uses computer simulation to model Santa Cruz, California as an ideal environmental community. For Ecotourists and Green Consumers, EcoTopia strives to offer the nation a model of integration of technology and environmental remediation using computer modeling and image forecasting. + +<sect>Related Projects, Mailing Lists and Newsgroups +<p> +<itemize> + +<item> +Though I searched the WWW, I couldn't find neither a dedicated newsgroup nor a mailing list yet. So I decided to create the Eco-Com mailing list. You can subscribe to this list via email. Write to <eco_com-subscribe@listbot.com>, and you will be sent a verification message. + +<item> +<url url="http://www.repairfaq.org" name="Repair FAQ"> . + +<item> +<url url="http://www.ncsc.dni.us/fun/user/tcc/cmuseum/helpline/helpline.htm" name="Obsolete Computer Helpline"> . + +<item> +<url url="http://come.to/386" name="386 World"> by Gaute Hvoslef Kvalnes <386@altavista.net> . He provides one of the greatest recources available on 386 computers and software. Though his work is mainly related to MS-Windows, he also supports Linux. + +<item> +&dquot;The <url url="http://www.lib.uidaho.edu" name="Electronic Green Journal">, published by the University of Idaho Library, is a professional, refereed publication devoted to disseminating information concerning sources on international environmental topics including: assessment, conservation, development, disposal, education, hazards, pollution, resources, technology, and treatment. We are academically sponsored; our focus, however, is to publish articles, bibliographies, reviews, and announcements for the educated generalist as well as the specialist. We welcome original contributions from authors on any of the above topics.&dquot; . You may also find a survey about Environmental Resources on the World Wide Web there. + +</itemize> + +<sect>Credits +<p> +Thanks to: + +<itemize> +<item>Hristo Bojinov <hib@mit.edu> +<item>Thomas Boutell <boutell@boutell.com> +<item>Lionel &dquot;trollhunter&dquot; Bouchpan-Lerust-Juery<trollhunter@linuxfr.org> +<item>Ben De Rydt <ben.de.rydt@pandora.be> +<item>Richie Gan <csardas@gate.sinica.edu.tw> +<item>Andreas Gohr <ballermann@> +<item>Wade W. Hampton <whampton@staffnet.com> +<item>Malcolm Herbert <Malcolm.Herbert@fulcrum.com.au> +<item>Robert Hoehne <hoehne@eng.usf.edu> +<item>Robert Horn <rjh@world.std.com> +<item>Larry Lade <lade@midco.net> +<item>Verena Lorenz-Meyer <lome@cs.tu-berlin.de> +<item>Russell Marks <rus@beeb.net> +<item>Don Marti <dmarti@varesearch.com> +<item>Jun Morimoto <morimoto@xantia.citroen.org> +<item>Hanno Mueller <kontakt@hanno.de> +<item>Ralf Muschall <rmuschall.fih@t-online.de> +<item>Martin <Niteskate@aol.com> +<item>Klaus Peichl <pei@iis.fhg.de> +<item>Daniel Pirone <cocteau@wact.net> +<item>Martin Pool <martinp@mincom.com> +<item>Bernhard Reiter <bernhard@uwm.edu> +<item>Matthias Scheller <mscheller@access.diax.ch> +<item>Georg Schwarz <schwarz@physik.tu-berlin.de> +<item>Victor Solymossy <victor@lig.dq.ufscar.br> +<item>Knut Suebert <ksueber@gwdg.de> +<item>Charlie Triplett <crtfcc@missouri.edu> +<item>Sotiris Vassilopoulos <Sotiris.Vassilopoulos@betatech.gr> +<item>George White <gwhite@bodnext.bio.dfo.ca> +<item>Yan Wong <yan.wong@linacre.ox.ac.uk> + +</itemize> + +<sect>Revision History +<p> +<itemize> + +<item>v0.1, 18 June 1999, first draft + +<item>v0.2, 10 September 1999, changed <htmlurl ... > tag to <url ...>, another motto, added appendix B about MP3 player, created and added eco_com mailing list, added chapter about alternative power supplies, added recommendations for buying a new computer, improved screensaver section, added UPS chapter, added chapter about hardware design, minor changes + +<item>v0.3, 17 September 1999, added information about Tierra, added information about wasting of resources during computer production, added some comments about UPS, minor changes + +<item>v0.4, 05 December 1999, added appendix G about other operating systems, added information about CD recycling, added appendix H URLs of recyclers, removed link to Linux Games Survey, added links to SWARM, UNCERT and Climate-Dynamics, added chapter about Energy Star label (courtesy of Robert Horn), minor changes + +<item>v0.5, 04 January 2000, some additional information about PostScript utilities, new chapter Caveats, URL corrections and minor changes + +<item>v0.6, 01 March 2000, link to Japanese translation added and some spell checking (thanks to Jun Morimoto), correction of URLs + +<item>v0.7, 14 April 2000, new chapter about double sided printing, some links added to the Games chapter, Power Management Unit - PMU section added, proposition of Chinese translation + +<item>v0.8, 4 November 2000, some more hints on using small space and small memory added, new chapter about Linux applications for old hardware, some more hints how to save paper included, proposal of Portuguese translation, links updated, new document URL, minor changes + +</itemize> + +<sect>Copyright and Disclaimer +<p> +Copyright © 1999 by Werner Heuser. This document may be distributed under the terms set forth in the LDP license at <url url="http://linuxdoc.org/COPYRIGHT.html" name="COPYRIGHT">. +<p> +The information in this document is correct to the best of my knowledge, but there's a always a chance I've made some mistakes, so don't follow everything too blindly, especially if it seems wrong. Nothing here should have a detrimental effect on your computer, but just in case I take no responsibility for any damages incurred from the use of the information contained herein. All trademarks belong to their owners. + +<sect>Appendix A - Linux with Laptops +<p> +<sect1>Battery +<p> +Has to be written. See <url url="http://linuxdoc.org/HOWTO/mini/Battery-Powered.html" name="LDP - Battery-HOWTO"> by Hanno Mueller, too. +<p> +<tt> apmd-rhcn-2.4phil-1</tt> by RedHat <url url="ftp://rhcn.redhat.com/pub/rhcn/" name="ftp://rhcn.redhat.com/pub/rhcn/"> contains an unofficial patch for shutting down the PCMCIA sockets before a suspend and patches for multiple batteries. + +<sect1>PCMCIA Card Services and Advanced Power Management +<p> +Quoted from the <url url="http://linuxdoc.org/HOWTO/PCMCIA-HOWTO.html" name="LDP - PCMCIA-HOWTO ">: "Card Services can be compiled with support for APM (Advanced Power Management) if you've configured your kernel with APM support. ... The PCMCIA modules will automatically be configured for APM if a compatible version is detected on your system. Whether or not APM is configured, you can use <tt>cardctl suspend</tt> before suspending your laptop, and <tt>cardctl resume</tt> after resuming, to cleanly shut down and restart your PCMCIA cards. This will not work with a modem that is in use, because the serial driver isn't able to save and restore the modem operating parameters. APM seems to be unstable on some systems. If you experience trouble with APM and PCMCIA on your system, try to narrow down the problem to one package or the other before reporting a bug. Some drivers, notably the PCMCIA SCSI drivers, cannot recover from a suspend/resume cycle. When using a PCMCIA SCSI card, always use <tt>cardctl eject</tt> prior to suspending the system." +<p> +You should use the internal modem in a laptop instead of a PCMCIA modem, if possible (it may be a WinModem). + +<sect1>Power Saving Techniques +<p> +<enum> +<item> +If you don't need infrared support, disable it in the BIOS or shutdown the IrDA device driver. There are also some IrDA features of the kernel which are useful for saving power. + +In the specifications of my HP OmniBook 800 it is recommended to turn off the IR port, if it is not in use, because it may consume up to 10 percent of the battery time. + +If necessary, you may also try to disable the <tt>Fast RRs</tt> feature in the IrDA section of the kernel. This option will give you much better latencies but will consume more power. + +<item> +PCMCIA services consume much power, so shut them down if you don't need them. + +<item> +I'm not sure to which extend the <it>backlight</it> consumes power. WARNING: AFAIK this device can only bear a limited number of uptime circles. So avoid using screensavers too much. + +<item> +For some examples to build batteries with increased uptime up to 8 hours look at Adorable Toshiba Libretto <url url="http://www.cerfnet.com/˜adorable/libretto.html" name="http://www.cerfnet.com/˜adorable/libretto.html">. + +<item> +For information about APM look at the APM chapter above. + +<item> +<url url="http://www-leland.stanford.edu/˜bbense/toys/" name="A hacked rclock ">. Booker C. Bense has hacked the <it>rclock</it> program to include a simple battery power meter on the clock face. + +<item> +<url url="http://www.jaist.ac.jp/˜daisuke/Linux/xbatstat.html" name="xbatstat">. A battery level status checker for Linux and X. + +<item> +KDE <url url="http://www.kde.org" name="http://www.kde.org"> provides <it>KAPM</it>, <it>Kbatmon</it> and <it>Kcmlaptop</it>. Written by Paul Campbell <it>kcmlaptop</it> is a set of KDE control panels that implements laptop computer support functions, it includes a dockable battery status monitor for laptops - in short a little icon in the KDE status bar that shows how much battery time you have left. It also will warn you when power is getting low and allows you to configure power saving options. + +Similar packages you may find at the GNOME project <url url="http://www.gnome.org/" name=" http://www.gnome.org/"> . See the software maps at both sites. + +<item> +Please see Battery Powered Linux Mini-HOWTO by Hanno Mueller, hanno@lava.de <url url="http://www.lava.de/˜hanno/" name="http://www.lava.de/˜hanno/"> for more information. + +<item> +<tt>toshiba-fan</tt> Turn the fan on a Toshiba Pentium laptop on or off. This is a command line utility to turn the fan of a Toshiba laptop on or off, or view its current state. It should work on all Toshiba Pentium laptops that have fans. + +</enum> + +<sect>Appendix B - MP3-Hardware-Decoder at Parallel Port +<p> +In the German computer magazine <url url="http://www.heise.de/ct/" name="CT"> issue 9/1999 p. 200 and 10/1999 p. 260 I found an article about turning an old PC (from 286 upward) into a MP3 player, by using a MP3-Hardware-Decoder at the parallel port. <url url="http://www.ieee.rwth-aachen.de/mp3/" name="Authors Homepag"> . +<p> +Also mentioned there, is a software by <url url="http://leute.server.de/peichl/mpegcd.htm" name="Klaus Peichl">, which doesn't need a hardware decoder. +<p> +Though both programs are DOS based, I mention them here. I hadn't time to look for an according Linux solution. +<p> +<url url="http://www.cajun.nu/" name="Cajun"> is a program that allows you to turn any computer (>75mhz) into a massive audio jukebox for your car or home. It uses the matrix-orbital serial display and supports the IRman infra-red remote control interface. Soundcard output is delivered to your (car or home) stereo for amplification. The software supports a hotlist and shuffle mode. It includes FM/Video4Linux support, icecast/shoutcast support, CrystalFontz serial display support, and choice of mpg123 or xaudio for driving the sound card. + +<sect>Appendix C - Bibliography +<p> +<itemize> + +<item>Ellringmann, H. /Hrsg.): Softwarefuehrer Umweltschutz. Anbieter - Produkte - Maerkte; 1999ff. + +<item>Koellner, W. / Fichtler, W.: Recycling von Elektro- und Elektronikschrott; 1996 + +<item>Rohwedder, W.J. &dquot;Rocky&dquot; / Alm, Andy: Using Computers in Environmental Education; 1994 + +<item>Schloegl, M.:Recycling von Elektro- und Elektronikschrott; 1995 + +<item>Tiltmann, K.O. (Hrsg.): Recyclingpraxis Elektronik; 1994 + +<item>Andreas Grote: (be): Gruene Rechnung - Das Produkt Computer in der Oekobilanz - Report, Oekologie, Rohstoffverbrauch, Energieverbrauch und Schadstoff-Emissionen bei Herstellung, Betrieb und Entsorgung, EPA, Energy Star, Green-PC (c't 12/1994, Seite 92) <url url="http://www.heise.de/ct/" name="CT"> . + +</itemize> + +<sect>Appendix D - Recommendations for Buying a New Computer +<p> +Courtesy of Wade W. Hampton (modifications by wh): Purchase a low-power computer such as a laptop or network computer. These typically don't use as much power as desktop systems. For example, someone on the WWW had a Corel/Rebel Netwinder powered by solar cells. I find it funny that an &dquot;Energy Star&dquot; desktop still has a 300W power supply and uses far more power than a computer like the Netwinder which uses something like 10 Watts of power, (though this is consistent with the Energy Star goals for computer equipment, since they have targeted unused power consumption). +<p> +Maybe there should be a new class of computers called &dquot;Energy Miser&dquot; (or similar) that use nearly an order of magnitude less power than Energy Star systems? +<p> +To save power for the display, one could purchase a LCD monitor instead of a CRT. LCD monitors consume 30-40 Watts of power versus the 100's of Watts used by most monitors. The price of an LCD is still 2-3 times that of a similar monitor, but as LCDs become more widely used, the price will come down. +<p> +Make sure that any new computer purchase includes APM-compliant hardware and low-radiation. Use TCO, DPMS or Energy Star compliant monitors. +<p> +R Horn <rjh@world.std.com> wrote: &dquot; I personally have found the <url url="http://eande.lbl.gov/" name="Lawrence Berkeley Labs - LBL"> web site to be the best source for information on energy efficient equipment. They go into considerable details on how to reduce energy consumption from many kinds of equipment, including much more than computers. They also have a good collection of links to related sites. The Energy Star program is defined by the US Environmental Protection Agency, which has a web site on it. So far all of the Energy Star regulations have been defined to reduce energy usage without requireing change or restrictions on regular usage. There is an amazingly large amount of electricity consumed by idle equipment (computers, televisions, microwave ovens,...) and also large amounts consumed unnecessarily by equipment that must be continuously one (emergency exit signs, traffic lights, ...). Since this energy can be saved without asking users to make any compromises on performance, it is being targeted first. +<p> +Somewhere on the LBL web site they have the actual power consumption figures for various PCs. The 300W power supply is quite misleading. Actual power usage varies depending upon what programs you run and whether the disks can be powered down. Genuine usage while in operation is usually in the 50-75W range. When the system is idle, it drops significantly. +<p> +The NetWinder is a nice machine, but does force operational compromises. The peak CPU performance is much lower. The operating system is not Windows. And there are other limitations. A closer comparison is the typical laptop PC. These can generally be operated from a modest solar panel because their average power drain is quite low. With these you can see the cost vs power consumption tradeoff. They achieve the same performance as the desktop units, but the low power consumption has doubled or tripled the cost. +<p> +(I personally use a Psion. A decent slow computer that requires only 200mw of power. It may even run Linux once they deal with some of the ROM issues.) +<p> +The big debate in setting the energy star regulations was deciding which would have greater overall benefit: small negligible cost improvements to almost all equipment sold, or greater improvements at much higher cost? Could that cost be invested elsewhere to greater benefit? How will the purchasers react to the higher cost? So far the consensus has been that improving a large number of machines at negligible cost is wiser than improving a smaller number of machines at high cost.&dquot; + +<sect>Appendix E - A New Environmentally Friendly Hardware Design +<p> +Courtesy of Wade W. Hampton and Knut Suebert: New hardware designs that plan to use Linux should take advantage of environmentally friendly technologies such as low-power CPUs e.g., the ARM from: <url url="http://developer.intel.com/design/strong/" name="Intel">, environmentally friendly battery design, low-power displays (e.g., non-backlit LCDs), smaller packaging, etc. Linux supports a WIDE variety of hardware and technologies. These could be leveraged into powerful, flexible, environmentally friendly Linux-based solutions. + +An &dquot;Environmental Rating&dquot; could be created for new Linux-based hardware and even some Linux-based software such as <tt>bottlerocket</tt> (X10). Devices such as the Netwinder or the uCsimm would receive high ratings for their size, power consumption, capabilities, etc. + +At <url url="http://www.telepolis.de/tp/deutsch/inhalt/te/1367/1.html" name="Telepolis (German Computer Magazine)"> you might find an article about wasted resources during computer manufacturing. + +Generally speaking PPC CPUs consume less power than x86 CPUs. + +<sect>Appendix F - Computer Related Eco Labels +<p> +Currently I have only this small list: TCO, DPMS or Energy Star <url url="http://www.blauer-engel.de/" name="Blauer Engel"> (Germany), Energy Label - Group for Efficient Appliances (GEA). + +<sect>Appendix G - Other Operating Systems +<p> +<sect1>DOS +<p> +To my surprise there are still many tools available to make old 286 PC useful. I started a search for <it>286</it> at <url url="http://www.simtel.net/" name="Simtel.Net"> and found many useful shareware programs. For instance: + +<itemize> + +<item> +<url url="ftp://ftp.simtel.net/pub/simtelnet/msdos/lan/neos-10.zip" name="Full-featured LAN for MSDOS computers, 286+req"> + +<item> +<url url="ftp://ftp.simtel.net/pub/simtelnet/msdos/pcboard/rm172b.zip" name="RoseMail, PCBoard offline mail, 8086/286 exe's"> + +<item> +<url url="ftp://ftp.simtel.net/pub/simtelnet/msdos/sysutl/vmix285.zip" name="Multitasking/multiuser environment for 286-586"> + +</itemize> + +There is even a free DOS around, see <url url="http://www.500mhz.net/ndx.html" name="The OS Developers Homepage"> and <url url="http://www.freeos.com" name="The FreeOS"> page. + +<sect1>MS-Windows +<p> +A power saving utility <url url="http://www.bugcomputer.com/cpuidle/index.html " name="CPUIDLE"> is available. Another one for older versions of MS-WindowsNT is available at <url url="http://members.aol.com/niteskate/ntpwr.zip" name="Niteskate">. + +<sect>Appendix H - URLs of Recylers +<p> +<itemize> + +<item><url url="http://www.remedia.de/mitte.htm" name="REMEDIA"> - Germany - recycling of data storage media (CD, floppy, tape) + +<item><url url="http://www.alcad.com/site_map.htm " name="ALCAD"> - worldwide - Ni-Cd Battery Recycling + +<item><url url="http://www.cd-collect.com/" name="CD-COLLECT"> - CD recycling + +<item><url url="http://www.rbrc.org/" name="Rechargeable Battery Recycling Corporation"> RBRC is a non-profit, public service organization created to promote the recycling of Nickel-Cadmium (Ni-Cd) rechargeable batteries. + +<item>The <url url="http://www.epba-europe.org" name="European Portable Battery Association (EPBA)"> is the European organisation of companies manufacturing, selling or distributing portable batteries. The mission of the EPBA is to ensure that the ideal conditions are created for responsible development of the portable battery industry in Europe. Acting in the common interests of all of its members, the EPBA aims to sustain a competitive industry in an increasingly complex commercial climate. + +<item><url url="http://www.batterycouncil.org " name="Battery Council International"> is a not-for-profit organization with the mission of promoting the interests of the international lead-acid battery industry. With more than 175 members worldwide, the Battery Council International (BCI) brings together lead-acid battery manufacturers and recyclers, marketers and retailers, suppliers of raw materials and equipment, and industry consultants. + +</itemize> + +</article> diff --git a/LDP/howto/linuxdoc/FBB.sgml b/LDP/howto/linuxdoc/FBB.sgml index 04e5e330..614b1874 100644 --- a/LDP/howto/linuxdoc/FBB.sgml +++ b/LDP/howto/linuxdoc/FBB.sgml @@ -6,7 +6,7 @@ <title>FBB Packet-radio BBS mini-HOWTO <author>Miroslav "Misko" Skoric, YT7MPB, <tt/m.skoric@eunet.yu/ -<date>v1.0, 19 September 2000 +<date>v1.2, 05 October 2000 <abstract> <nidx>linux windows nt amateur packet radio</nidx> This mini-HOWTO covers the installation and use of @@ -25,8 +25,8 @@ connecting computers via amateur radio stations. <p> I have been using FBB amateur radio software since early nineties. It was the time of DOS operating -system, so most of us, system administrators (so -called system operators - sysop's) used various +system, so most of us, system administrators (or, so +called system operators - sysop's), used various packet radio software for DOS. Versions of FBB packet radio BBS software for DOS, today are known as DosFBB. @@ -47,21 +47,23 @@ their client software under DOS, Windows, Linux or any other operating system that offer amateur packet radio abilities. -<p>Two years ago, after I got my new Pentium 166 -box with 32 MB of RAM and VGA color graphics, I +<p>Two years ago, after I got my new box, Pentium 166 +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 -versions of WinFBB, including 16 bit and 32 bit -versions for Windows 3.x and Windows 9x and NT. +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). -<p>I have run both versions until now (WinFBB -v7.00g25 under Windows NT 4.0). The main +<p>The main difference between DosFBB and WinFBB is that the second one offers you to do other jobs with your -computer while FBB runs as just one of several -applications. Beside that, it is always nice to -copy a text from another application (for example +computer, while FBB is running as just any other +application. Beside that, it is always nice to +copy a text from another application (for example, from an Internet email) and to paste it into a packet radio message. @@ -72,7 +74,7 @@ disk that has enough room to try Linux... <sect>INSTALLATION <p> -<sect1>How to install X11 version of LinFBB +<sect1>How to install X11 (Xwindows) version of LinFBB <p> <itemize> @@ -84,43 +86,46 @@ disk that has enough room to try Linux... <p> <item>Download or copy LinFBB (the main ftp site - is ftp.f6fbb.org but there are many mirror + 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 x700e_full.tgz it means that it is X11 - version 7.00e and it contains all you need - in tgz archive to install the BBS. On the - other hand, name like xd700g_full.tgz means - that it is not X11 but daemon version 7.00g + 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 + 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, - x700f01.tgz and x700g.tgz are "upgrades" to - any previous "full" package. + <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 /tmp directory. +<item>Copy the archive file in <bf>/tmp</bf> directory. <p> <item>You have to make a "base" directory where your FBB will be installed. For example you - may type: mkdir /usr/local/fbb if you want + may type: <bf>mkdir /usr/local/fbb</bf> 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: cd /usr/local/fbb. + directory: <bf>cd /usr/local/fbb</bf>. <p> <item>Now, you should unpack the archive: - tar xvzf /tmp/x700b25.tgz (<-- use the right + <bf>tar xvzf /tmp/x700b25.tgz</bf> (<-- use the right name of the archive here). <p> <item>When you finished unpacking the archive, you may continue installing the software: - ./install.sh is the command for that. The + <bf>./install.sh</bf> is the command for that. The setup will ask you for the 'base' directory where FBB will be installed. If you chose - /usr/local/fbb again, you will be told that + <bf>/usr/local/fbb</bf> 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 @@ -129,19 +134,19 @@ disk that has enough room to try Linux... 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 /usr/local/fbb/init.srv + become a part of <bf>/usr/local/fbb/init.srv</bf> file. <p> <item>Beside that, you MUST check this file - again manualy and fix other details if + <bf>again</bf> manually and fix other details if needed (because installation script does not fix all parts of init.srv). <p> <item>Well, so far - so good. After you checked all configuration files, you may start the - software: ./xfbb.sh (<-- type this within + software: <bf>./xfbb.sh</bf> (<-- type this within an xterm or something similar). When you start FBB for the first time, it will ask you to create some files it needs, so you @@ -207,10 +212,10 @@ exchange last time (and vice versa). </em> be renamed: <p> - 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 + protect.sys -> prot_w.sys</verb></tscreen> <p> FBB is able to recognize those changes. @@ -228,22 +233,22 @@ exchange last time (and vice versa). </em> <p> <item>Mount a shared FAT directory: - mount vfat /dev/hda2 /mnt/win + <bf>mount -t vfat /dev/hda2 /mnt/win</bf> <p> -<item>Copy LinFBB archive to /tmp directory. +<item>Copy LinFBB archive to <bf>/tmp</bf> directory. <p> <item>Locate yourself to a 'base' directory: - cd /usr/local/fbb (for example). + <bf>cd /usr/local/fbb</bf> (for example). <p> -<item>Unpack the archive: tar xvzf /tmp/filename. +<item>Unpack the archive: <bf>tar xvzf /tmp/filename</bf>. <p> -<item>Start the installation script ./install.sh +<item>Start the installation script <bf>./install.sh</bf> and, after asked for the 'base' installation - directory, chose /usr/local/fbb. Doesn't + 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 @@ -254,47 +259,280 @@ exchange last time (and vice versa). </em> like before). <p> -<item>Copy /usr/local/fbb to /mnt/win/fbb but do - not over-write existing files with files - with same names. +<item>Copy <bf>/usr/local/fbb</bf> to <bf>/mnt/win/fbb</bf> but do + *not* over-write existing files with new files + having the same names. <p> -<item>Copy /mnt/win/fbb/init_w.srv to a file - /mnt/win/fbb/init_l.srv +<item>Copy <bf>/mnt/win/fbb/init_w.srv</bf> to a file + <bf>/mnt/win/fbb/init_l.srv</bf> <p> -<item>Edit /mnt/win/fbb/init_l.srv to what is +<item>Edit <bf>/mnt/win/fbb/init_l.srv</bf> to what is needed for Linux. You may use the existing - file /mnt/win/fbb/init.srv as an example. + file <bf>/mnt/win/fbb/init.srv</bf> as an example. <p> -<item>Copy newly edited /mnt/win/fbb/init_l.srv - over the /mnt/win/fbb/init.srv (if you do - not do that, maybe you can't start LinFBB - using ./xfbb.sh , like me). +<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). <p> -<item>Copy /mnt/win/fbb/system/port_w.sys to - /mnt/win/fbb/system/port_l.sys file. +<item>Copy <bf>/mnt/win/fbb/system/port_w.sys</bf> to + <bf>/mnt/win/fbb/system/port_l.sys</bf> file. <p> -<item>Edit /mnt/win/fbb/system/port_l.sys to +<item>Edit <bf>/mnt/win/fbb/system/port_l.sys</bf> to what is needed for Linux. You may use the - existing file /mnt/win/fbb/system/port.sys + existing file <bf>/mnt/win/fbb/system/port.sys</bf> as an example. <p> -<item>Edit /mnt/win/fbb/xfbb.sh in order to fix +<item>Edit <bf>/mnt/win/fbb/xfbb.sh</bf> in order to fix the right path. <p> -<item>Start the script ./xfbb.sh to run LinFBB. +<item>Ensure that you are in FBB's main directory: + <bf>cd /mnt/win/fbb</bf> (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 do under Windows. + WinFBB does under Windows. </itemize> +<p> +<sect1>How to install Protus password utility + +<p> +<em>Notice: Well, I have been using Protus +connection filters for a long time now. At +first, it was version 3.1/1.2 for DosFBB515c +and, later, version 3.3 for Dos/WinFBB700. +I have found Protus as very useful utility +because of its implementation of BBS-to-BBS +forwarding protection using MD2 algorythm. +One of the reasons I am going to cover Protus +in this document is a fact that its author +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> + +<p> +Protus offers several interesting features: + +<p> +<itemize> + +<item>It can send a presentation message to + all users, informing about possibility + to make users' access more safe, + +<p> +<item>It can send messages to users who have + normal access, informing about utility's + existence, + +<p> +<item>It can send messages to users who have no + valid access (before disconnecting them), + +<p> +<item>It can send messages to new users who have + connected for the first time, informing + them about the password utility. + +<p> +<item>It can send messages to users who entered + wrong password (before disconnecting them), + +<p> +<item>It can inform sysop about quite everything + related to users' connections (new user on + the system, unsuccessful connections etc), + +<p> +<item>Messages mentioned above could be translated + into various languages, similar to various + languages FBB uses, + +<p> +<item>Messages mentioned above could be different + for different BBS ports, + +<p> +<item>Protus could be activated/deactivated at various + intervals of time using CRON.SYS system file, + +<p> +<item>Passwords could be remotely managed, using an + external server developed by Jose EB5IVB, + +<p> +<item>... + +</itemize> + +<p> +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>: + +<p> +<itemize> + +<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 + 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", + i.e. config *.PRT files that are going to be + within <bf>\FBB\SYSTEM</bf> directory. + +<p> +<item>After the sysop has copied all files into + the proper locations, it is needed to make + some configuration. The most important files + are two "system" ones: <tt>CONFIG.PRT</tt> and <tt>USERS.PRT</tt> + that should be carefully adopted to any + particular situation. Other *.PRT files will + work as they are in original, but they might + be translated because they are originated + in spanish (those files are just textual + 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 + they work quite normal for all users in the + same way as they worked before using Protus. + Only a couple of callsigns have password + implemented and, when connecting, they know + what they are doing, so, they don't need + any additional info. Your mileage may vary. + +<p> +<item>So far - so good. When everything mentioned is + done, you have to restart your FBB in order + for Protus utility to be activated. In all + connections to your BBS (including console), + you should see a line like this: <bf>{PROTUS-4.0}</bf> + just after a line [FBB-7.00-AB1FHMRX$]. It + only designates that Protus is active on the + 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. + +<p> +<item>The author of Protus, Jesus EB5AGF, has made + several working "modes" of its utility. It + is possible for users to have various kinds + 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); + a changeable answer to the 5 numbers (just + like usual FBB sysop's password); a mode + that uses automatic answer from user's client + packet programs; implementation of MD2 and + MD5 algorythms; FBB-to-FBB automatic forward + protection etc. + +<p> +<item>Well, the situation regarding the position + of files under LinFBB is somewhat different. + I have become used to the directory structure + 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 + now I am going to tell you what to do. + +<p> +<item>I think I have already told you that I have + been running here both WinFBB under Windows NT + 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, + 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> + and put *.prt files there. I <em>didn't move</em> *.PRT + files from <bf>\FBB\PROTUS</bf> 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. + +<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> + where <em>all</em> *.prt files should be placed. <em>Only</em> + c_filter executable should go to <bf>/fbb/bin</bf> + and that's it. + +<p> +<item>About FBB-to-FBB protection: *both* partners + have to install Protus and 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 + the versions of FBB, neither the operating + systems, HI!). Anyway, MD5 algorythm will only + work if both parties have Protus 4.x and + above (I still don't use that, but it is not + a problem, because my two boxes, DosFBB/Protus3.3 and + WinFBB/LinFBB/Protus4.0, make all things ok). + +<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 + errors, your users make when they try + connecting your BBS. + +<p> +<item>As it was told earlier, if you implemented + password protection for only <em>some</em> of your + 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 + 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, + 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. + Many combinations are possible. You could + even password protect your own FBB console! + +</itemize> + <sect>FURTHER INFORMATION <p> @@ -311,7 +549,7 @@ that meets the Manifesto. What follows is a boilerplatte license. </em> <p> -Copyright (c) 2000 by Miroslav Skoric, YT7MPB. +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 @@ -367,12 +605,12 @@ at regular intervals. <p> -This is the first release of this mini-HOWTO. I +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 use amateur radio stuff on your computer. You may look for AX.25 (mini-)HOWTO at the same location -where you get FBB mini-HOWTO +where you get FBB mini-HOWTO. <em>This mini-HOWTO would be improved from time to time. If you think that the HOWTO on your @@ -391,6 +629,7 @@ homepage. <tscreen><verb> Jean-Paul Roubelat, F6FBB, the author of FBB. Per Olsen, LA6CU, the author of FBB documentation. +Jesus R., EB5AGF, the author of Protus. </verb></tscreen> @@ -399,4 +638,3 @@ email address: <htmlurl url="mailto:m.skoric@eunet.yu" name="m.skoric@eunet.yu">. </article> - diff --git a/LDP/howto/linuxdoc/Firewall-Piercing.sgml b/LDP/howto/linuxdoc/Firewall-Piercing.sgml index f8b9fb86..81fb5fd1 100644 --- a/LDP/howto/linuxdoc/Firewall-Piercing.sgml +++ b/LDP/howto/linuxdoc/Firewall-Piercing.sgml @@ -5,7 +5,7 @@ <title>Firewall Piercing mini-HOWTO François-René Rideau, fare@tunes.org -v0.6a, 3 November 2000 +v0.7, 4 November 2000 Directions for using ppp over ssh or telnet @@ -26,7 +26,7 @@ Also applies to VPN construction.

-I hereby disclaim all responsibility for this hack. +I hereby disclaim all responsibility for your use of this hack. If it backfires on you in any way whatsoever, that's the breaks. Not my fault. If you don't understand the risks inherent in doing this, don't do it. @@ -55,8 +55,7 @@ I haven't been actively developing this mini-HOWTO recently; in particular, the french version is lagging behind. I'm looking for a maintainer to take over this document, and maybe develop software to make it easier to pierce firewalls. -It has been considered to merge this document into the NASG, -but that wasn't done. I also have a lot of ideas for active maintainers +I also have a lot of ideas for active maintainers to expand this HOWTO, if anyone is interested. @@ -68,18 +67,28 @@ together with the french version. Neither version is truly the translation of the other, though each is somehow partly translated from the other. Both are the ``original version''. + +NO MORE TRUE. I'VE ABANDONNED MAINTENANCE OF THE FRENCH VERSION. --> Credits

-Even though I rewrote most everything but the disclaimers, -I'm indebted to -for his Term-Firewall mini-HOWTO: -I think there was a necessity for a mini-HOWTO about piercing firewalls, +Even though the only thing left is the disclaimers, +this document owes a lot to the + +by . +Barak's mini-HOWTO relies on +an ancient and no-more-supported program named Term + (a great program in its time, + and maybe still useful in some unhappy circumstances), +as well as on peculiarities of a not-so-standard telnet implementation, +that is, many obsolete and non-portable facts. +Nevertheless, there was a necessity for a mini-HOWTO about piercing firewalls, and despite its shortcomings, his mini-HOWTO was a model and an encouragement. -I'd also like to thank +I'd also like to congratulate @@ -95,28 +104,47 @@ for their fine http, mail and icmp tunnels. Foreword

-Because system administrators and users have different -constraints and proficiencies, -it so happens that a user may find himself behind a firewall, +This is document with a moral. And the moral is: +a firewall cannot protect a network against its own internal users, +and should not even try to. + +When an internal user asks you system administrator +to open an outbound port to an external machine, +or an inbound port to an internal machine, +then you should do it for him. +Of course you should help the user to make sure +that his transactions are secure, and that his software is robust. +But a flat out denial of service is plain incompetence. +For unless he is so firewalled as be completely cut from the outside world, +with no ssh, no telnet, no web browsing, no email, no ping, no phone line, +no radio, no nothing, +then the user can and will use firewall piercing techniques to access +the machines he wants nonetheless, +and the net result for security will be +an unaudited connection with the outside world. +So either you trust your users, after proper training and selection, +or you shouldn't grant them access to the network at all. +You can and you shall protect them from the outside world, +but you can't protect them from themselves. + +Because there exists such things as system administrators +who are either unresponsive, absent, plain incompetent, +or more generally managed by incompetent people, +it so happens that a user may find himself behind a firewall that he may cross, but only in awkward ways. This mini-HOWTO explains a generic and portable way -to use standard Internet tools seamlessly across such firewalls, -by the use of an IP emulator through a tunnel -achieved by a telnet, http, or mail connection. - -It is freely inspired by the Term-Firewall mini-HOWTO by -, -which relies on an ancient and no-more-supported program named Term - (a great program at its time, - and still useful in some unhappy circumstances), -as well as on peculiarities of a not-so-standard telnet implementation, -that is, many obsolete and non-portable facts. +to pierce tunnels into firewalls, +by turning any tiny small crack into a full-fledged information superhighway, +so the user can seamlessly use standard tools to access computers +on the other side of the firewall. +The very same technique can be used by competent system administrators +to build virtual private networks (VPN). -Security problems +Security issues

-Of course, if your sysadm has setup a firewall, +Of course, if your sysadm has setup a firewall s/he might have a good reason, and you may have signed an agreement to not circumvent it. On the other hand, the fact that you can use @@ -212,18 +240,12 @@ use the addresses below: . fwprc and cotty can be found at . - httptunnel can be found at . mailtunnel can be found at . icmptunnel can be found at . - @@ -243,61 +265,101 @@ you know where to look for. The first step toward understanding the problem is to give a name to relevant concepts. -So we'll herein call "local" the machine that initiates the connection, +As usual, we'll herein call "local" the client machine +that decides to initiate the connection, as well as programs and files on that machine; -conversely, we'll call "remote" what's on the other side of the connection. +conversely, we'll call "remote" what's on the other side of the connection, +where a server runs that waits for connections. -The problem +The main problem

-The goal is to connect the input and output of a local IP emulator -to the output and input respectively of a remote IP emulator. +The main problem with firewall piercing is to create a tunnel: +a continuous connection from the local machine to a remote machine +on the other side of the firewall, +that allows for bidirectional exchange of information. +Optionally, this connection should be a secure one. +The secondary problem is to transform this connection +into a full IP access for normal programs to use transparently. -Only the communication channels with which IP emulators interact -are either direct devices (in the usual case of pppd), -or the "current tty". -The previous case obviously does not happen with telnet sessions. -The latter is tricky, because when you launch the local emulator -from the command line, the "current tty" is linked to the command-line user, -not to a remote session; -also, should we open a new session (local or remote) on a new terminal, -we must synchronize the launching and connection of IP emulators on both sides, -least one session's garbage output is going to be executed -as commands on the other session, which would recursively produce more garbage. +For the main problem, we'll assume that +either (1) you can establish normal TCP/IP connections +from the local side of the firewall to some port on a remote machine +where a sshd runs or can be set to run, or +(2) you can somehow establish a telnet connection through a telnet proxy. +In case you cannot, we give you pointers to other software that allows you +to pierce a tunnel accross a firewall. +Although we only give a secure solution in the first case, +you can hack your own secure solution in the other cases, +if you understand the principle +(if you don't, someone, e.g. I, can do it for you in exchange for money). -Additional difficulty +The secondary problem

-To get the best ease of use, -the local IP emulator has to provide IP to kernel networking, -hence be pppd. -However, pppd is dumb enough to only accept having data -through /dev or through the current tty; -it must be a tty, not a pair of pipe +For the secondary problem, +IP emulators (pppd or SLiRP) +are run on each side of the tunnel. + +On the side that wants full IP access to the other side, +you'll want to run pppd. +On the other side, you want to run pppd +if you also want full IP access to the first side, +or SLiRP if you want to prevent any access. +Go to your usual pppd or SLiRP documentation for more information, +if you have specific needs not covered by the examples given below. + +Although this is conceptually trivial, +it nonetheless requires a few silly tricks, so as to work, since +(a) in case you're using some kind of programmed interactive shell session +to start the remote IP emulator on either side, you need to correctly +synchronize the start of the IP emulator on the other side, +so as not to send garbage into the shell session, +and +(b) IP emulators are designed to be run on a "tty" interface +so you have to convert your tunnel's interface into a tty one. + +Issue (a) is just your usual synchronization problem, +and doesn't even exist if you use ssh, +that transparently handles remote command launching. + +Issue (b) requires the use of a simple external utility. +We wrote one, cotty just for that purpose. + +<FLAME ON> + +Among the silly problems caused by pppd maintainers' shortmindedness, +you can only run it through +either a device in /dev or the current tty. +You cannot run it through a pair of pipe (which would be the obvious design). This is fine for the remote pppd if any, -as it can use the telnet session's tty; -but for the local pppd, this sucks, -as it can't launch the telnet session to connect to; -hence, there must some kind of wrapper around it. +as it can use the telnet or ssh session's tty; +but for the local pppd, this conflicts with +the possible use of telnet as a way to establish a connection. -Telnet behaves almost correctly with a pair of pipe, +Indeed, telnet, too wants to be on a tty; +it behaves almost correctly with a pair of pipe, except that it will still insist on doing ioctl's to the current tty, with which it will interfere; -using telnet without a tty also causes race conditions, +using telnet without a tty also causes race conditions, so that the whole connection will fail on "slow" computers -(fwprc 0.1 worked perfectly on a P/MMX 233, +(fwprc 0.1 worked perfectly on a P/MMX 233, one time out of 6 on a 6x86-P200+, and never on a 486dx2/66). +All in all, when using telnet, you need cotty +to run as a daemon to copy output from one tty on which runs pppd +into another tty on which runs telnet, and conversely. -[Note: if I find the sucker -(probably a MULTICS guy, +If I find the sucker (probably a MULTICS guy, though there must have been UNIX people stupid enough to copy the idea) who invented the principle of "tty" devices by which you read and write from a "same" pseudo-file, instead of having clean pairs of pipes, -I strangle him!] +I strangle him! + +</FLAME> @@ -307,18 +369,25 @@ I strangle him!] Principle

Let's assume that your site administrator allows -transparent TCP connections to some port, +transparent TCP connections to some port on some remote machine, (be it the standard SSH port 22, or an alternate destination port, like the HTTP port 80 or whatever), or that you somehow managed to get some port in one side of the firewall to get redirected to a port on the other side -(using httptunnel or mailtunnel or whatever). +(using httptunnel, mailtunnel, icmptunnel, +some tunnel over telnet, or whatelse). + Then, you can run an sshd on the remote port, and connect to it with an ssh on the local port. -On both sides of the ssh connection, you run IP emulators (pppd), +On both sides of the ssh connection, +you run IP emulators (pppd), and there you have your VPN, Virtual Public Network, -that circumvents the stupid firewall limitations. -

+that circumvents the stupid firewall limitations, +with the added bonus of being encrypted for privacy +(beware: the firewall administrator still knows the other end of the tunnel, +and whatever authentication information you might have sent before to run +ssh). + The exact same technology can be used to build a VPN, Virtual Private Network, whereby you securely join physical sites into a one logical network without sacrificing security with respect to the transport network @@ -328,6 +397,18 @@ between the sites. A sample session

+Below is a sample session to integrate in a shell script +(it assumes sh/bash syntax; YMMV). + +Be sure to edit this into a script +with the right values for your needs. +Use option -p for ssh to try another port than port 22 +(but then, be sure to run sshd on same port). +You can use slirp on the remote end, +if you are not root there, or simply want to screen your +local network from outbound connections. + +Automatic reconnection is left as an exercise to the reader. REMOTE_ACCOUNT=root@remote.fqdn.tld @@ -336,15 +417,9 @@ LOCAL_PPPD="pppd silent 192.168.0.1:192.168.0.2" cotty -d -- $LOCAL_PPPD -- ssh -t $REMOTE_ACCOUNT $REMOTE_PPPD -This command requires cotty 0.4 or later. -Be sure to edit this into a script with the right values. -Use option -p for ssh to try another port than port 22 -(but then, be sure to run sshd on same port). -You can use slirp on the remote end, -if you are not root there, or simply want to screen your -local network from outbound connections. - -Automatic reconnection is left as an exercise to the reader. +(Note: this command requires cotty 0.4 or later.) + + Unsecure solution: piercing using telnet @@ -367,13 +442,19 @@ and the other will be the local pppd. with a chat script as usual. Actually, if your telnet proxy allows connection to an arbitrary port, -and you can reliably run a daemon on the remote host +and if you can reliably run a daemon on the remote host (with a cron job to relaunch it in case of breakage), then you'd better write some program that will just connect a local port to the remote one through the proxy, so you can use the above secure solution, possibly using some variant of ssh -t -o "ProxyCommand ..." -(if you submit it to me, I'll integrate it to the fwprc distribution). +(if you submit it to me, I'll gladly integrate such a solution +to the fwprc distribution). + +Note: if you must use the unsecure telnet-based solution, +be sure that nothing lies in your target account +that you want to keep secret or untampered, +since the password will be sent in clear text accross the Internet. fwprc @@ -383,11 +464,6 @@ to pierce firewalls, fwprc, available from , - together with cotty (which is required by fwprc 0.2 and later). At the time of my writing these lines, latest versions are @@ -428,7 +504,7 @@ in your home directory. Then replace variable values with stuff that fits your configuration. Finally, copy to the other host, and test.

-Default behavior is to use pppd locally, and slirp remotely. +Default behavior is to use pppd locally, and slirp remotely. To modify that, you can redefine the appropriate function in your .fwprcrc with such a line as: @@ -437,16 +513,15 @@ remote_IP_emu () { remote_pppd }

Note that SLiRP is safer than pppd, and easier to have access to, -since it does not require being root on the remote machine. -Another safe feature is that it will drop packets not directly coming -from the connected machine (which feature becomes a misfeature -if you attempt to route a subnetwork onto it with masquerading). +since it does not require being root on the remote machine, +and needn't additional firewall configuration to prevent +connections from the outside world into the firewalled network. The basic functionality in SLiRP works quite well, -but I've found advertised pluses (like run-time controllability) -to be deficient; -of course, since it is free software, +but I haven't managed to get some advertised pluses to work +(like run-time controllability). +Of course, since it is free software, feel free to hack the source -so as to actually implement whichever feature you need. +so as to actually implement or fix whichever feature you need. @@ -614,19 +689,39 @@ including example use of getroute.pl from /etc/ppp/ip-up. +Related Documents +

+The +publishes many documents related to this mini-HOWTO, +most notably +the , +the , +the . + +Then again, when facing a problem with some program, +one reflex for any Linux user should be to RTFM: +Read The Fscking Manual pages for the considered programs. + + + Extra copy of IMPORTANT DISCLAIMER --- BELIEVE IT!!!

-I hereby disclaim all responsibility for this hack. If it backfires -on you in any way whatsoever, that's the breaks. Not my fault. If -you don't understand the risks inherent in doing this, don't do it. -If you use this hack and it allows vicious vandals to break into your -company's computers and costs you your job and your company millions -of dollars, well that's just tough nuggies. Don't come crying to me. +I hereby disclaim all responsibility for your use of this hack. +If it backfires on you in any way whatsoever, +that's the breaks. Not my fault. +If you don't understand the risks inherent in doing this, don't do it. +If you use this hack and it allows vicious vandals +to break into your company's computers and costs you your job and +your company millions of dollars, well that's just tough nuggies. +Don't come crying to me. -

diff --git a/LDP/howto/linuxdoc/From-PowerUp-To-Bash-Prompt-HOWTO.sgml b/LDP/howto/linuxdoc/From-PowerUp-To-Bash-Prompt-HOWTO.sgml index a0f6a8d5..611eb7ef 100644 --- a/LDP/howto/linuxdoc/From-PowerUp-To-Bash-Prompt-HOWTO.sgml +++ b/LDP/howto/linuxdoc/From-PowerUp-To-Bash-Prompt-HOWTO.sgml @@ -6,7 +6,7 @@ From Power Up To Bash Prompt <AUTHOR>Greg O'Keefe, <tt>gcokeefe@postoffice.utas.edu.au</tt> -<DATE>v0.8, September 2000 +<DATE>v0.9, November 2000 <ABSTRACT> This is a brief description of what happens in a Linux system, from the time @@ -577,6 +577,14 @@ file system (VFS). I won't go into any detail on this though. There is a discussion of it in ``The Linux Kernel'' (see section <REF ID="Kernel" NAME="The Linux Kernel"> for a url) +<P> +A completely different kind of filesystem gets mounted on <TT>/proc</TT>. +It is really a representation of things in the kernel. There is a +directory there for each process running on the system, with the process +number as the directory name. There are also files such as <TT>interrupts</TT>, +and <TT>meminfo</TT> which tell you about how the hardware is being used. +You can learn a lot by exploring <TT>/proc</TT>. + <SECT1>Configuration <P> There are parameters to the command <TT>mke2fs</TT> which creates ext2 @@ -610,7 +618,10 @@ Check out the ext2 filesystem code in the Kernel. to it in <URL URL="http://www.netspace.net.au/~gok/power2bash" NAME="Building a Minimal Linux System from Source Code"> -<ITEM>man pages for <TT>mount</TT>, <TT>fstab</TT>, <TT>fsck</TT> and <TT>mke2fs</TT> +<ITEM>man pages for <TT>mount</TT>, <TT>fstab</TT>, <TT>fsck</TT>, <TT>mke2fs</TT> + and <TT>proc</TT> +<ITEM>The file <TT>Documentation/proc.txt</TT> in the Linux source code explains + the <TT>/proc</TT> filesystem. <ITEM>EXT2 File System Utilities <URL URL="http://web.mit.edu/tytso/www/linux/e2fsprogs.html" NAME="ext2fsprogs"> home page @@ -632,10 +643,6 @@ Check out the ext2 filesystem code in the Kernel. <SECT>Kernel Daemons -<P> -Unfortunately, this section contains more conjectures and questions than facts. -Perhaps you can help? - <P> If you issue the <TT>ps aux</TT> command, you will see something like the following: @@ -656,79 +663,93 @@ root 70 0.0 10.6 1472 708 1 R Sep 11 0:01 ps aux </VERB> <P> -This is a list of the processes running on the system. Note that <TT>init</TT> +This is a list of the processes running on the system. The information comes +from the <TT>/proc</TT> filesystem that I mentioned in the previous section. +Note that <TT>init</TT> is process number one. Processes 2, 3, 4 and 5 are kflushd, kupdate, kpiod and kswapd. There is something strange here though: notice that in both the virtual storage size (SIZE) and the Real Storage Size (RSS) columns, these processes -have zeroes. How can a process use no memory? These processes are really part -of the kernel. The kernel does not show up on process lists at all, and you can +have zeroes. How can a process use no memory? + +<P> +These processes are the kernel daemons. Most of the kernel +does not show up on process lists at all, and you can only work out what memory it is using by subtracting the memory available from -the amount on your system. The brackets around the command name could signify -that these are kernel processes(?) +the amount on your system. The kernel daemons are started after init, +so they get process numbers like normal processes do. But their code and +data lives in the kernel's part of the memory. <P> -<TT>kswapd</TT> moves parts of programs that are not currently being used -from real storage (ie RAM) to the swap space (ie hard disk). <TT>kflushd</TT> -writes data from buffers to disk. This allows things to run faster. What +There are brackets around the entries in the command column +because the <TT>/proc</TT> filesystem does not contain command line information +for these processes. + +<P> +So what are these kernel daemons for? +Previous versions of this document had a plea for help, +as I didn't know much about the kernel daemons. +The following partial story has been patched together +from various replies to that plea, for which I am most grateful. +Further clues, references and corrections are most welcome! + +<P> +Input and output is done via <em>buffers</em> in memory. +This allows things to run faster. What programs write can be kept in memory, in a buffer, then written to disk in -larger more efficient chunks. I don't know what <TT>kupdate</TT> and -<TT>kpiod</TT> are for. +larger more efficient chunks. The daemons <TT>kflushd</TT> and <TT>kupdate</TT> +handle this work: +<TT>kupdate</TT> runs periodically (5 seconds?) +to check whether there are any dirty buffers. If there are, it gets +<TT>kflushd</TT> to flush them to disk. <P> -This is where my knowledge ends. What do these last two daemons do? Why do -kernel daemons get explicit process numbers rather than just being anonymous -bits of kernel code? Does init actually start them, or are they already running -when init arrives on the scene? +Processes often have nothing to do, and ones that are running often +don't need all of their code and data in memory. This means we can +make better use of our memory, by shifting unused parts of running programs +out to the swap partition(s) of the hard disk. +Moving this data in and out of memory as needed is done by +<TT>kpiod</TT> and <TT>kswapd</TT>. Every second or so, <TT>kswapd</TT> +wakes up to check out the memory situation, and if something out on +the disk is needed in memory, or there is not enough free memory, +<TT>kpiod</TT> is called in. <P> -I put a script to mount <TT>/proc</TT> and do a <TT>ps aux</TT> in <TT>/sbin/init</TT>. Process 1 was the script itself, and processess 2, 3, 4 and 5 were the kernel daemons just as under the real init. The kernel must put these processes there, because my script certainly didn't! - -<P> -The following ramblings were contributed by David Leadbeater: - -<P> -These processes seem to take care of disk reads and writes, they seem to be -started by the kernel but after it runs the init process, it seems that being -run as kernel processes rather than seperate processess they are protected from -being killed (kill -9 dosen't stop them), I am not sure why they are run as -seperate threads (it seems to be something with disk access) - -<p><em>kflushd and kupdate</em> -These two processes are started to flush dirty (changed) buffers back to disk. -kflushd is run when the buffers are full and kupdate runs periodically (5 -seconds?) to sync the disk and the buffers in memory. - -<p><em>kpiod and kswapd</em> -These deal with paging out pages (sections) of memory into the swap file so -main memory never gets exhausted, these are similar to kflushd and kupdate in -that one is run when needed kpiod and the other kswapd is run peridically (1 -second intervals) - -<p><em>Other Kernel Daemons</em> -On a default install of RH6 kupdate is missing but update is running as a user -space daemon so it seems it needs to be run! Also another daemon mdrecoveryd is there, this seems to be dealing with software RAID, looking at the kernel source it seems that some SCSI drivers also start seperate processes. - -<p> -I am still unsure of the meaning of the brackets but it seems that they appear -when the RSS of a process is 0 meaning it isn't using any memory? - -<p> -(end of ramble, thanks David) +There might also be a <TT>kapmd</TT> daemon running on your system if you +have configured automatic power management into your kernel. <P> <SECT1>Configuration <P> -I don't know of any configuration for these kernel daemons. +The program <TT>update</TT> allows you to configure <TT>kflushd</TT> and <TT>kswapd</TT>. +Try <TT>update -h</TT> for some information. + +<P> +Swap space is turned on by <TT>swapon</TT> and off by <TT>swapoff</TT>. +The init script (<TT>/etc/rc.sysinit</TT> or <TT>/etc/rc.d/rc.sysinit</TT>) +usually calls <TT>swapon</TT> as the system is coming up. +I'm told that <TT>swapoff</TT> is handy for saving power on laptops. <SECT1>Exercises <P> -Find out what these processes are for, how they work, and write a new ``Kernel Daemons'' section for this document and send it to me! +Do an <TT>update -d</TT>, note the blatherings on the +last line about ``threshold for buffer fratricide''. +Now there's an intriguing concept, go investigate! + +<P> +Change directory to <TT>/proc/sys/vm</TT> and <TT>cat</TT> the +files there. See what you can work out. <SECT1>More Information <P> The Linux Documentation Project's ``The Linux Kernel'' -(see section <REF ID="Kernel" NAME="The Linux Kernel"> for a url), -and the kernel source code are all I can think of. +(see section <REF ID="Kernel" NAME="The Linux Kernel"> for a url) + +<P> +The Linux kernel source code, if you are brave enough! +The <TT>kswapd</TT> code is in <TT>linux/mm/vmscan.c</TT>, +and <TT>kflushd</TT> and <TT>kupdate</TT> +are in <TT>linux/fs/buffer.c</TT>. + <SECT>System Logger @@ -897,6 +918,7 @@ It has a full and up to date list of the packages that go into a Linux system as well as instructions on how to build them. +<SECT>Conclusion <P> One of the best things about Linux, in my humble opinion, is that you can get inside it and really find out how it all works. I hope that you enjoy this as @@ -922,6 +944,9 @@ as does its companion ``Building a Minimal Linux System from Source Code''. There is a French translation at <URL URL="http://www.freenix.fr/unix/linux/HOWTO/From-PowerUp-To-Bash-Prompt-HOWTO.html" NAME="From Powerup To Bash Prompt"> thanks to Dominique van den Broeck. +A Japanese by Yuji Senda is coming soon, if it's not at +<URL URL="http://www.linux.or.jp/JF" NAME="Japanese Documentation and FAQ Project"> +already. @@ -962,13 +987,30 @@ For correcting my hexidecimal arithmetic. For pointing out some typos. <TAG>David Leadbeater</TAG> For contributing some ``ramblings'' about the kernel deamons. -<TAG> Dominique van den Broeck </TAG> +<TAG>Dominique van den Broeck </TAG> For translating this doc into French. +<TAG>Matthieu Peeters </TAG> +For some good information about kernel deamons. +<TAG>John Fremlin</TAG> +For some good information about kernel deamons. +<TAG>Yuji Senda</TAG> +For the Japanese translation. +<TAG>Antonius de Rozari</TAG> +For contributing a GNU assembler version of UNIOS +(see resources section on the home page) </DESCRIP> <SECT1>Change History -<SECT2>0.7 -> 0.8 +<SECT2>0.8 -> 0.9 (November 2000) +<P> +<ITEMIZE> +<ITEM>Incorporated some information from Matthieu Peeters + and John Fremlin on + kernel deamons and the <TT>/proc</TT> filesystem. +</ITEMIZE> + +<SECT2>0.7 -> 0.8 (September 2000) <P> <ITEMIZE> <ITEM> Removed instructions on how to build a system, placing them in a diff --git a/LDP/howto/linuxdoc/LILO.sgml b/LDP/howto/linuxdoc/LILO.sgml index 317bba84..92ff3095 100644 --- a/LDP/howto/linuxdoc/LILO.sgml +++ b/LDP/howto/linuxdoc/LILO.sgml @@ -10,7 +10,7 @@ <title>Lilo mini-Howto <author>Miroslav Skoric (<tt/m.skoric@eunet.yu/) -<date>v3.1, 28 October 2000 +<date>v3.2, 05 November 2000 <abstract> 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 @@ -215,8 +215,15 @@ 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> + by Tony Harris + 16 Oct 2000 + ram disk eenie-weenie HOWTO <p> @@ -440,8 +447,6 @@ to have both Linux and NT entries under Lilo menu: entry into /etc/lilo.conf file. After you do that, restart Lilo and, after the next re-boot, you will have both 'linux' and 'nt' entries under Lilo menu. -</itemize> -</sect> <sect>Installing <tt/hdc/ to Boot as <tt/hda/ and Using <tt>bios=</tt> diff --git a/LDP/howto/linuxdoc/Linux+WinNT.sgml b/LDP/howto/linuxdoc/Linux+WinNT.sgml index ddf89797..d538e81b 100644 --- a/LDP/howto/linuxdoc/Linux+WinNT.sgml +++ b/LDP/howto/linuxdoc/Linux+WinNT.sgml @@ -5,13 +5,14 @@ <title>Linux+WindowsNT mini-HOWTO <author>Miroslav Skoric, <tt/m.skoric@eunet.yu/ -<date>v2.2, 07 August 2000 +<date>v2.3, 05 November 2000 <abstract> <nidx>windows nt</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 "Linux+NT-Loader" that covers how to boot -either of them from within NT Loader menu. +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 +"Linux+NT-Loader" that covers how to boot either of them from +within NT Loader menu. </abstract> <sect>INTRODUCTION @@ -43,6 +44,12 @@ situation on your hard disk(s) you have, before and after you used an utility called Partition Magic by Power Quest. This utility might be needed to 'shrink' your NT (either NTFS or FAT) partition, in order to get some free space for your further Linux' partitions. +(After a while, I recognized that 'shrinking' used partition +might not be needed. Actually, if you start from 'scratch', it +might be the best way to re-format your whole disk(s) using +<bf>FDISK</bf> command. You should make a DOS boot floppy diskete +where DOS commands FDISK and FORMAT have to be also copied. +More details later...) <em>"I installed Linux first and then NT, but based on my experience, I might now be able to install NT first and then Linux."</em> @@ -53,7 +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 FIRST, WINDOWS NT AFTER +<sect>HOW TO INSTALL: LINUX <em>FIRST</em>, WINDOWS NT <em>AFTER</em> <p> 1. Install a minimal Linux (hold off on installing the rest until @@ -63,12 +70,13 @@ this mini-HOWTO, has been using: first partition, but I don't know if that is essential or not. <p> - 2. Edit /etc/lilo.conf and use boot=/dev/sda (I was not successful + 2. Edit <tt>/etc/lilo.conf</tt> and use <bf>boot=/dev/sda</bf> (I + was not successful at installing LILO on the Linux partition--/dev/sda3 in my case) and run "lilo". You'll have to use the editor ae. You'll live. <p> - 3. Save the MBR with this: dd if=/dev/sda of=/dev/fd0 bs=512 count=1 + 3. Save the MBR with this: <bf>dd if=/dev/sda of=/dev/fd0 bs=512 count=1</bf> Use a floppy. Trust me. Also do this each time you change the disk partition table. @@ -79,11 +87,11 @@ this mini-HOWTO, has been using: <p> 5. Add NT stanza to /etc/lilo.conf, e.g.: - other=/dev/sda1 + <tt>other=/dev/sda1 label=NT - table=/dev/sda + table=/dev/sda</tt> and run lilo. If lilo complains about this (I forget the message), add the "linear" flag to /etc/lilo.conf near the "compact" keyword. @@ -130,9 +138,9 @@ Partition 1 does not end on cylinder boundary: previously. Clear and restore the MBR (but not the signature) with: <p> - dd if=/dev/zero of=/dev/sda bs=512 count=1 + <bf>dd if=/dev/zero of=/dev/sda bs=512 count=1 - dd if=/dev/fd0 of=/dev/sda bs=510 count=1 + dd if=/dev/fd0 of=/dev/sda bs=510 count=1</bf> <p> 8. Install the rest of Linux. Easy, huh? @@ -142,12 +150,12 @@ Partition 1 does not end on cylinder boundary: <itemize> -<item>dd if=/dev/zero of=/dev/sda bs=446 count=1 (in Linux) or perform +<item><bf>dd if=/dev/zero of=/dev/sda bs=446 count=1</bf> (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>fdisk /mbr (you've obviously already created a DOS boot disk that - contains fdisk). +<item><bf>fdisk /mbr</bf> (you've obviously already created a DOS boot + disk that contains fdisk). <item>delete NT partition and create it again in NT install. @@ -178,7 +186,7 @@ Partition 1 does not end on cylinder boundary: further information. I use NT about one day a year. Under duress. -<sect>HOW TO INSTALL: WINDOWS NT FIRST, LINUX AFTER +<sect>HOW TO INSTALL: WINDOWS NT <em>FIRST</em>, LINUX <em>AFTER</em> <p> <sect1>If you have <em>only one</em> IDE hard disk @@ -194,10 +202,11 @@ Partition 1 does not end on cylinder boundary: 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 (before installation of NT) to + Lilo), so I would suggest you (<em>before</em> 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). + of FDISK. At the prompt a:\ just enter the command: + <bf>fdisk /mbr</bf> and restart the computer again (without + that floppy). <p> <item>After you have successfully installed your NT, you will see that @@ -210,13 +219,13 @@ Partition 1 does not end on cylinder boundary: diskette with Partition Magic utility by Power Quest. It is a graphical tool able to see all partitions on all hard disks you have. The best thing is that you can make some changes with your - partitions but not to destroy your existing data. One of the + partitions but <em>not</em> to destroy your existing data. One of the available changes is to make your existing partition(s) smaller, so to get some free space on the disk(s) for other purposes. Although you are advised to make a backup before you make any changes to the partitions, I usually practise to 'shrink' NT's - partition before I installed anything but NT itself (so, if - needed, a repetitive re-installation wouldn't be a problem). + partition(s) before I install anything else onto this NT (so, if + needed, a repetitive NT re-installation wouldn't be a problem). Well, Partition Magic (or any other similar utility you are familiar with) will shrink your NT's partition (either NTFS or FAT) to a smaller measure and place it to either the beginning @@ -228,6 +237,30 @@ Partition 1 does not end on cylinder boundary: NT in order to check the new situation: you may use Windows Explorer or Disk Administrator for that. +<p> +<item>As it was said in Introduction, it might <em>not</em> be needed + always to use such tools like Partition Magic. It is better to say + that this tool is of a great value in all those cases you have been + running Windows NT for a long time, so you don't want to start + from 'scratch'. For example, you are fully satisfied with your + beloved NT and related applications. You are not likely to kill + NT, but you have recognized that you have enough <em>unused</em> + space on NT's partition(s) (i.e. NT's partition(s) might look not + much populated). That case, Partition Magic is your choice. + + But, if you do start from the beginning, or you don't mind + re-formatting the disk, it might be suitable to get a blank + floppy diskette, make it to be DOS bootable and copy two DOS + tools on it: FDISK and FORMAT. So, restart your computer with + such floppy and at <bf>A:\</bf> prompt enter <bf>fdisk</bf>. + There you'll find several options that allow re-partition of + your hard disk(s). Now you could make a part of the disk a FAT + partition (where you'll later install your beloved NT). The rest + of space you'd better leave alone (i.e. do not attempt making + Linux partition(s) right now, using DOS's version of FDISK). If + you <em>really</em> want to make Linux-type partitions now, you + should look after Linux version of FDISK. + <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 @@ -235,35 +268,43 @@ Partition 1 does not end on cylinder boundary: CD in the drive and re-boot the computer). Well, when you are about to choose what type of installation it will be (Gnome or KDE Workstation, Custom, etc.) you may choose whatever you planned - before, but I would suggest to install a Workstation at first. - This is good because Linux setup will find automatically the + before, but I would suggest to install a Workstation <em>at first</em>. + This is good because Linux setup will find <em>automatically</em> the free space on the (first) hard disk, make all partitions needed for Linux, format them properly, make majority of options by - default so you won't have much pain during the setup (later, if - you want, you may either add missing components or re-install - Linux as Custom over the existing linux partitions). Lilo should - go to the MBR. + default so you won't have much pain during the setup (<em>later</em>, + if you want, you may either <bf>add</bf> missing components or + <bf>re-install</bf> RedHat Linux as Custom over the existing linux + partitions). Lilo should go to the MBR. + +<p> +<item><bf>Don't forget to make Linux boot floppy diskette. You'll never + know when you may need it. If something goes wrong with the MBR, + and you don't have boot floppy, your Linux might become not accessible, + so you might have to re-install it again.</bf> <p> <item>After it looks that Linux installation is finished, you are going - to re-start the computer and there you will only see Lilo - with one Linux entry to boot (or maybe more than one Linux - entry, in case your hardware is multi-processor one). But, don't - panic! Your Windows NT is still there where you had installed it + to re-start the computer and there you will only see <bf>Lilo</bf> + with only one entry to boot: Linux (or maybe more than one Linux + entry, in case your hardware is multi-processor one or so). But, don't + panic! Your Windows NT is still there - where you had installed it before Linux. You should become some familiar with Linux as soon as possible, in order to be able to find and edit your new - /etc/lilo.conf file. When you open this file for the first time, + <bf>/etc/lilo.conf</bf> file. When you open this file for the first time, you'll see that there is only one (or more) Linux entry. Well, you should know the exact position (read: a partition) where Windows NT has been installed, so you could add an appropriate - entry into /etc/lilo.conf file. After you do that, restart Lilo - and, after the next re-boot, you will have both 'linux' and 'nt' + entry into /etc/lilo.conf file. After you make those changes, restart + Lilo with a command: <bf>/sbin/lilo</bf> and, after the next re-boot, + you will have both 'linux' and 'nt' (or 'dos' or similar) entries under Lilo menu. <p> <item>My added NT entry is: <p> +<tt> other=/dev/hda1 label=nt @@ -293,9 +334,10 @@ Partition 1 does not end on cylinder boundary: other=/dev/hda1 label=nt +</tt> <p> -<item>Some more explanations regarding details from my /etc/lilo.conf +<item>Some more explanations regarding details from my <tt>/etc/lilo.conf</tt> file: After I have installed Windows NT, I assigned the letter C: to that drive. Beside that, I wanted to have another NTFS partition in order to store and backup important files, case I @@ -307,6 +349,12 @@ Partition 1 does not end on cylinder boundary: near 1.9 GB and /swapp part of cca 100 MB (/dev/hda3 and /dev/hda4 respectively). Lilo went to the MBR and all has been running fine. +<p> + For your information, I <em>wanted</em> to make these linux + partitions that time. Later, I found that it was not needed, so + now I let Linux setup to make partitions from the free space in + a way it likes to do that. I trust it :-) + </itemize> <sect1>If you have <em>more than one</em> (SCSI) hard disk @@ -383,6 +431,30 @@ process shouldn't change too much, if any. NT can 'see' all (other) disks you have in your machine (either partitioned or as 'free space' areas). +<p> +<item>Once again, as it was said earlier, it might <em>not</em> be needed + always to use such tools like Partition Magic. It is better to say + that this tool is of a great value in all those cases you have been + running Windows NT for a long time, so you don't want to start + from 'scratch'. For example, you are fully satisfied with your + beloved NT and related applications. You are not likely to kill + NT, but you have recognized that you have enough <em>unused</em> + space on NT's partition(s) (i.e. NT's partition(s) might look not + much populated). That case, Partition Magic is your choice. + + But, if you do start from the beginning, or you don't mind + re-formatting the disk(s), it might be suitable to get a blank + floppy diskette, make it to be DOS bootable and copy two DOS + tools on it: FDISK and FORMAT. So, restart your computer with + such floppy and at <bf>A:\</bf> prompt enter <bf>fdisk</bf>. + There you'll find several options that allow re-partition of + your hard disk(s). Now you could make a part of the disk a FAT + partition (where you'll later install your beloved NT). The rest + of space you'd better leave alone (i.e. do not attempt making + Linux partition(s) right now, using DOS's version of FDISK). If + you <em>really</em> want to make Linux-type partitions now, you + should look after Linux version of FDISK. + <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 @@ -464,7 +536,7 @@ process shouldn't change too much, if any. label=nt <p> -<item>Some more explanation, regarding details from my /etc/lilo.conf +<item>Some more explanation, regarding details from my <tt>/etc/lilo.conf</tt> file: After I have installed Windows NT on the <bf/first/ disk, I assigned the letter C: to that drive. After I made enough free space <em>after</em> the NTFS partition, I let Linux setup to @@ -513,11 +585,13 @@ process shouldn't change too much, if any. everything looked fine, but neither Lilo was not installed, nor the boot floppy was made. Investigating that, I studied the structure of all existing partitions. I was surprised when recognized that new born - logical partitions (within the new extended one) were numbered as - if they were physically positioned <em>after</em> the NT partition! - In the other words, there I have a 'funny' order: /dev/sda5, /dev/sda6, - /dev/sda7 and, finally, /dev/sda1. Looked like the system was a bit - confused. + <em>logical</em> partitions (within the new born <em>extended</em> one) + were numbered as if they were physically positioned <em>after</em> the + NT partition! In the other words, there I have got a 'funny' order: + /dev/sda5, /dev/sda6, /dev/sda7 and, finally, /dev/sda1. Looked like + the system was a bit confused. So I considered that it is advisible + to make the 'free space' <bf>after</bf> already existing NT + partition(s). <p> <item>Regarding two similar Linux images (differ in 'smp'). It is a server @@ -545,7 +619,7 @@ You can use any license that meets the Manifesto. What follows is a boilerplate licence. </em> <p> -Copyright (c) 2000 by Miroslav Skoric. +Copyright (c) 2000 by Miroslav "Misko" Skoric. <P> Please freely copy and distribute (sell or give away) this document in any format. It's requested that corrections and/or comments be fowarded @@ -785,4 +859,3 @@ little annoying. </article> - diff --git a/LDP/howto/linuxdoc/Xinerama-HOWTO.sgml b/LDP/howto/linuxdoc/Xinerama-HOWTO.sgml index fc64fb95..890af43c 100644 --- a/LDP/howto/linuxdoc/Xinerama-HOWTO.sgml +++ b/LDP/howto/linuxdoc/Xinerama-HOWTO.sgml @@ -4,11 +4,11 @@ <!-- Xinerama Howto (MultiHead X) --> -<title>Using the Xinerama Extensions to MultiHead X V. 4.0 +<title>Using the Xinerama Extensions to MultiHead XFree86 V. 4.0+ <author>Dennis Baker <tt/drbaker@softhome.net/ -<date>v1.0, May 2, 2000 +<date>v2.0 Revised November 2, 2000 <abstract> -This document describes how to configure XFree86 Version 4.0 with Multiple monitors and the Xinerama extentions. +This document describes how to configure XFree86 Version 4.0+ with Multiple monitors and the Xinerama extentions. </abstract> <!-- Table of contents --> @@ -17,42 +17,90 @@ This document describes how to configure XFree86 Version 4.0 with Multiple monit <!-- Begin the document --> <sect>Introduction +Many changes made based input from Nico Schottelius <tt/nicos@pcsystems.de/ -<p> This is not meant to be a guide on how to set up your specific monitor, or videocard. In fact, I assume that you already have X windows running for your setup. Please refer to the XF86 Documentation for more information. +<sect1>What is Xinerama? -As far as I know, there are no limits to which video cards you can configure this way, nor does it seem to matter if you mix different types of video cards in a setup, The sample configuration I use in this documentation uses two different video cards, a AGP Fire GL 1000 and a PCI Matrox Millenium II. What effect this has on 3d Accelleration I don't know as I don't currently accellerate either of my video cards. +<P>Why do you need Xinerama ? And what is it ? The Xinerama extensions were introduced to the XFree86 system in version 4.0. Xinerama is an extension to XFree86 Release 6 Version 4.0 (X4.0) which allows applications and window managers to use the two (or more) physical displays as one large virtual display. -<P>This Howto assumes that you know how to edit text files, do basic video card configuration for X Windows, add and remove hardware from your system, start and stop system services, and follow simple instructions. If feel you will have trouble with any of these things, please seek help. I am not responsible if you damage any of your stuff. +<P>The beauty of the Xinerama extensions is that they are totally transparent to user space. Previously, applications could only reside on one of the displays and could not be moved between the two. Window managers had to be specially written to support the two displays. With Xinerama, window managers and applications don't have to be specially written to support the larger "Virtual Desktop" which Xinerama creates. + +<sect1>Guidelines +<p>This is not meant to be a guide on how to set up your specific monitor, or videocard. In fact, I assume that you already have X Window running for your setup. Please refer to the XF86 Documentation for more information. + +<P>As far as I know, there are no limits to which video cards you can configure this way, nor does it seem to matter if you mix different types of video cards in a setup, The sample configuration I use in this documentation uses two different video cards, an AGP Fire GL 1000 and a PCI Matrox Millenium II. What effect this has on 3d Accelleration I don't know as I don't currently accellerate either of my video cards. + +<P>This Howto assumes that you know how to edit text files, do basic video card configuration for X Window, add and remove hardware from your system, start and stop system services, and follow simple instructions. If feel you will have trouble with any of these things, please seek help. I am not responsible if you damage any of your stuff. <sect>Planning <P>Planning a Xinerama setup is pretty straight forward. There as essentially three things you need to take into account, screen resolution, color depth, and screen layout. -<P>It is possible to have each physical screen in your Xinerama setup to have a different resolution. There are some advantages to this, I was able to use an old monitor which only operates at 640x480, and a bigger 17" at 1280x1024 in my setup. I have also heard of web developers and graphics designed who use one big "preview" screen and flank it with one or two smaller screens. I think this is one of the great things about the Xinerama extensions. +<sect1>What you need -<P>There is one significant problem with using multiple screen reolutions. Current generation window managers assume the screen is rectangular and will assume this rectangle is equal in size to the heighth and width of your total desktop. If you have one monitor at 1600x1200 and another at 800x600, your window manager will assume your desktop is 2400x1200. This leaves a big area below the smaller screen which the window manager interprets as "Empty", many window managers will try to utilize this space for new windows. There are ways to configure your window manager to minimize this problem but is a nuisance. As window managers become Xinerama aware and this problem will go away quickly. +<P>You will need at least 2 graphics cards (a dual headed one should work, too) and two monitors, an operating system on which XFree runs (for instance Linux or Solaris) and XFree86 version 4.0. I assume your setup works, and that your two video cards are supported by XFree86. +<P>Unless you recently upgraded or installed linux you are probably running an older version of X. Verify that you are running version 4.0 or better by typing the following command: +<P><tscreen><tt>papel:/home/nico/X/bin # X -version</tt></tscreen> + +<P>You should now see something like this: + +<P><tscreen><code> + XFree86 Version 4.0 / X Window System + (protocol Version 11, revision 0, vendor release 6400) + Release Date: 8 March 2000 + If the server is older than 6-12 months, or if your card is newer + than the above date, look for a newer version before reporting + problems. (see http://www.XFree86.Org/FAQ) + Operating System: Linux 2.3.46 i686 [ELF] + Module Loader present + </code></tscreen> + + +<P>If the version is not 4.0 or higher ( first line ), you will need to upgrade. Use your distributions package manager to upgrade to version 4.0 or better or download it directly from XFree86 and install it. + +<P><tscreen><tt>ftp://ftp.xfree86.org/pub/XFree86/4.0/</tt></tscreen> + +<P>or better use one of the mirrors found at + +<P><tscreen><tt>http://www.xfree86.org/4.0/ftp.html</tt></tscreen> + +<P>After download the files install the new X with the Xinstall.sh shellscript. Please note, if you install X this way it is bypassing any package management your system has. + +<Sect1>Design considerations +<P>It is possible to have each physical screen in your Xinerama setup to have a different resolution. There are some advantages to this, I was able to use an old monitor which only operates at 640x480, and a bigger 17" at 1280x1024 in my setup. I have also heard of web developers and graphics designed who use one big "preview" screen and flank it with one or two smaller screens. I think this flexibility is one of the great things about the Xinerama extensions. + +<P>There are several UI issues which are specific to Xinerama with most current generation window managers (see the section on <ref id="Window Managers">) do not address well. The most anoying is the poor handling of dead areas. + +<P>Window managers assume the display area is a rectangle equal in size to the heighth and width of your total desktop. If you use more than one display resolution in a Xinerama setup your desktop will be non-rectangular. This results in "dead areas", areas which do not exist on your display, but window manager interpret as "Empty". Many window managers will try to utilize this dead area for new windows. The result is windows which are inaccessable. As window managers become Xinerama aware and this problem will go away quickly. + +<P>Window managers also don't handle the concept of maximizing a window when you are running Xinerama. Usually what happens is it maximizes your window across all available screens. Having Netscape spread across 2 displays is generally not the best way to surf the net. <P>Unlike with screen resolotion, Xinerama limits your entire virtual screen to one color depth. If you were planning on pulling out a cheap video card for your second display you need to keep this in mind. If your old video card only supports 8 bit color you might get a bigger display but most newer programs look lousy in 256 colors. -<P>Layout decisions are fairly simple, you just need to decide how you want to lay out your monitors. Most people will simply place their monitors in a row and view their desktop as one giant monitor. It is also possible to overlap displays, or place them in more complex layouts. Keep in mind though what I said above about window managers expecting rectangular displays. +<sect1>Layout +<P>Layout decisions are fairly simple, you just need to decide how you want to physically lay out your monitors. Most people will simply place their monitors in a row and view their desktop as one giant monitor. It is also possible to overlap displays, or place them in more complex layouts. Keep in mind though what I said above about window managers expecting rectangular displays. <sect>Video Card set up. -<P> This is a good time to back up your existing config file: -I did it like this: +<P> This is a good time to back up your existing config file +<P>I did it like this: <P><tscreen><tt>root# > cp /etc/X11/XF86Config /etc/X11/XFree86Config.working</tt></tscreen> <P>Before we start the multihead portion of this process you need to have ALL of your existing cards working properly with the display they will have in the final configuration. If you haven't already, configure and install each different video card/ monitor combination you are going to have in your final setup. If you have several identical video cards you can get away with configuring one and copying the configuration for the other cards. +<P>Note, it is possible configure and test your video cards without physically swapping them. If you use the technique in the scan <ref id="PCI Bus Section"> below and specify the bus ID. + <P>After you have each card set up, back up or print it's config file as you will need it later. Here's how I did it: <P><tscreen><tt>root# > cp /etc/X11/XF86Config /etc/X11/XFree86Config.Matrox</tt></tscreen> +<P>On Some setups the XF86Config file is stored in /etc so you would do it like this: +<P><tscreen><tt>root# > cp /etc/XF86Config /etc/XFree86Config.Matrox</tt></tscreen> <P>If your video cards are identical you can probably get away with just one copy. However don't skip this step, If all else fails this will be you backup config file incase my instructions lead you astray. <P>Once you have all of your displays configured you are almost there... -<sect>Scan the PCI Bus +<sect>Scan the PCI Bus <P>This is a good time to put all of your video cards into your system and set up your monitors. Set everything up the way you want it when you are done, as you will have to repeat steps later if you change things. <P> This next step needs to be done from the console with-out X running. If you are in X, exit now. If your system uses a display manager such as xdm or gdm exit you need to stop that service. If you need to stop a display manager from RedHat the easiest way is like this: @@ -62,7 +110,7 @@ If you need to stop a display manager from RedHat the easiest way is like this: <P>If neither of these methods work you, reboot your computer and start up in single user mode. <P>In a multi-head setup you need to explicitly identify each video card in your config file. To do this you need to use the PCI Bus Identifier your system assigns the card. At this time, all video cards need to be in your system. -<P>To find out what your PCI bus IDs are: <label id="prior step"> +<P>To find out what your PCI bus IDs are: <label id="PCI Bus Section"> <tscreen><P><tt>root# > XFree86 -scanpci </tt></tscreen> <P>X will then output a code for each device on your PCI bus. <tscreen><code> @@ -82,18 +130,18 @@ If you need to stop a display manager from RedHat the easiest way is like this: <sect>Editing your XConfig File -<P>If I haven't lost you so far, we are in the home stretch now. This section is pretty confusion so I suggest you also read the manpage for XF86Config, or at least skim it. Do it now... I'll wait. +<P>If I haven't lost you so far, we are in the home stretch now. This section is pretty confusiing so I suggest you also read the manpage for XF86Config, or at least skim it. Do it now... I'll wait. <P><tscreen><tt> root# > man XF86Config </tt></tscreen> <sect1>Adding all of your video cards -<P>Open your current XF86Config file and scroll down to the Monitor Section. You want to copy the following sections from the XF86Config backup files you created above : Monitor, Device, Screen. These sections should go in your XF86Config file after the coresponding section in the file you have open. As you copy each section make certain that the Identifier is unique for each section, you will reference these identifies later. +<P>Open your current XF86Config file and scroll down to the Monitor Section. You want to copy the following sections from the device specific XF86Config backup files you created above : Monitor, Device, Screen. These sections should go in your XF86Config file after the coresponding section in the file you have open. As you copy each section make certain that the Identifier is unique for each section, you will reference these Identifiers later. <P>Clear as Mud Right? You should now have a Monitor Section, a Device Section, and a Screen Section for EACH video card/monitor combination, each Section should have a unique Identifier. If you are still confused reread the prior paragraph. If that doesn't help, look at the sample <ref id="XF86Config"> I have included at the end. You did read the manpage right? <sect1>Identifying Your Video Cards -<P>Now you need to add the coresponding PCI BusID as an option at the end of each Device Section. The entry should look like this: BusID "PCI:0:12:0", substituting the three numbers with the PCI bus ID which identifies YOUR video card you should have this ID from the <ref id="prior step">. Here is a sample Device Section for one of my video cards. +<P>Now you need to add the coresponding PCI BusID as an option at the end of each Device Section. The entry should look like this: BusID "PCI:0:12:0", substituting the three numbers with the PCI bus ID which identifies YOUR video card you should have this ID from the <ref id="PCI Bus Section">. Here is a sample Device Section for one of my video cards. <tscreen><code> Section "Device" @@ -143,7 +191,44 @@ Hopefully you can now enjoy X with multiple partners... er that is, Monitors. <P><tscreen><tt> 0=/usr/bin/X11/X +xinerama </tt></tscreen> -I am certain configuring KDE, and xdm to start xinerama are equally easy, if you figure it out please drop me a note and I will add it to this Howto. +<P>I have never set up kdm, or xdm for Xinerama, but I got the following tip from Dalibor "dali@dali.net.nz". + +<P><tscreen><code> +Here's my changes to startup files for slackware 7.x +(i use KDM and x4.01) + +edit /var/X11R6/lib/xdm/Xservers +add +xinerama to the end of last line +ie. +:0 local /usr/X11R6/bin/X +xinerama + +It appears that KDM uses standard XFree xdm files, so this should work if you +use xdm as well +</code></tscreen> + +<sect>Window Managers and Xinerama <label id="Window Managers"> +<P>As I mentioned above, a window manager does not need to be written to support Xinerama. However there are certain enhancements which window manager developers can do to make Xinerama users lives easier. Features which I thought were desireable include: +<P>* Intelligent placement of windows. Window managers should not place windows in dead areas or across the borders of two heads. New windows should be placed in the current desktop. +<P>* Maximizing windows should maximize the window to the current head only. +<P>* Window Movements should have edge resistance between heads (Much like they have resistance to other windows). +<P>* Dialogs and informative messages should not pop up Between Heads. + +<P>I searched the mailing lists, FAQs, and emailed the developers of most of the major window managers to see if they were working on any Xinerama related extensions. The Window Managers/ Desktop environments I reviewed included Blackbox, Enlightenment, KDE, WindowMaker, and XFCE. Enlightenment and Sawfish were the only two which I found significant enhancements for Xinerama. I have detailed what I discovered below. +<sect1>Enlightenment +<P>From their news page: Sun Mar 26 2000 +<P>E with Xinerama support +<P><tt> +We just got done adding real xinerama support to E this weekend. Now you have edge resistance moving windows between heads, windows will always pop up on the currently focused head (unless it wants to go someplace else by geom settings or you have it saved to go someplace else), maximize (unless you use "absolute" maximize) stays on the current head also. If you have xinerama and you run E out of CVS, test this and give us feedback. +</tt> +<Sect1>Sawfish +<P>From the Sawfish mailing list I have discovered that they are actively developing Xinerama support. Features which are currently in the development version include : +<code> + * Preventing Windows from being mapped across heads + * Preventing Windows from being mapped in dead spots + * Edge resistance moving between heads + * Centered and Random placement modes place windows on the current Head +</code> +I have not tested this functionality. <sect>Sample XF86Config Files <label id="XF86Config"> <P>My current XF86Config File : @@ -284,6 +369,12 @@ Section "ServerLayout" InputDevice "Keyboard1" "CoreKeyboard" EndSection </code> +<sect>Credits +<P>Much of the introduction and first sections are based loosely on a document submitted to me from Nico Schottelius <tt/nicos@pcsystems.de>/. As mentioned, KDM and xdm configuration included based on an email from Dalibor <tt/dali@dali.net.nz>/. + +<P>Also thanks to the many people who have emailed me with spelling tips, and suggestions. I have incorporated them whenever I could. + + </article>