Linux Ecology HOWTO

Werner Heuser < wehe@mobilix.org > Wade W. Hampton <whampton@staffnet.com>

v0.8, 4 November 2000


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.

1. Introduction

2. Reduction of Power Consumption

3. Alternative Power Supplies - Sun, Wind, Water

4. Noise Reduction

5. Saving Consumables (Paper, Ink, etc.)

6. Ecological Behaviour is Convenient

7. Recycling of Consumables (Paper, Printer Cartrigdes, CD, Floppies, Tapes)

8. Reduction of Radiation, Electro Magnetic Fields, Heat

9. Extending the Life Cycle of your Hardware

10. X10 - Home Automation System

11. Uninterruptable Power Supply - UPS

12. Games

13. Ecology Software (Simulation, Datacollection, Statistics, etc.)

14. Related Projects, Mailing Lists and Newsgroups

15. Credits

16. Revision History

17. Copyright and Disclaimer

18. Appendix A - Linux with Laptops

19. Appendix B - MP3-Hardware-Decoder at Parallel Port

20. Appendix C - Bibliography

21. Appendix D - Recommendations for Buying a New Computer

22. Appendix E - A New Environmentally Friendly Hardware Design

23. Appendix F - Computer Related Eco Labels

24. Appendix G - Other Operating Systems

25. Appendix H - URLs of Recylers


1. Introduction

Life is the first gift, love is the second, and understanding is the third. -- Marge Piercy

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.

1.1 Objectives

Some objectives of the howto:

1.2 Caveats

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.

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.

1.3 About the Document and the Authors

Miscellaneous

If I didn't provide an URL for a program or a package, you may get it from Debian or as a RPM package, from your favorite RPM server, for instance Rufus.

Some parts are modified chapters from my Laptop-HOWTO and my IR-(InfraRed)-HOWTO.

The document is included in the LINUX DOCUMENTATION PROJECT.

The latest version of this document is available at Ecology and Computers .

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.

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.

Werner Heuser <wehe@mobilix.org>

Translations

Jun Morimoto <morimoto@xantia.citroen.org> has written the translation into Japanese.

A translation into Chinese(Big5 code) is proposed by Richie Gan. It is part of the Chinese Linux Document Project. You may contact CLDP coordinator <cwhuang@linux.org.tw> to reach him.

Victor Solymossy <victor@lig.dq.ufscar.br> proposed a translation into Portuguese.


2. Reduction of Power Consumption

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.

2.1 Advanced Power Management (APM/ACPI)

Linux Compatibility Check

From the Battery-Powered-mini-HOWTO " .. 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."

You may get information about the APM version with the dmesg command and in the /proc/apm file.

Introduction

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.

APM support consists of two parts: kernel support and user-land support.

For kernel support, enable the parameters in the corresponding kernel section. AFAIK not all features work with laptops. AFAIK the feature CONFIG_APM_POWER_OFF works with most laptops.

The utilities for userland support may be found at 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 hibernate 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 apmd, and I still don't like it, because:

Though this topic was discussed controversly Richard Gooch has put together a package suspendd at http://www.atnf.csiro.au/~rgooch/linux/ .

Also, have a look at apmcd (apm based crontab) at ftp://ftp.binary9.net/pub/linux/ . A tool made by Nicolas J. Leon <nicholas@binary9.net> http://mrnick.binary9.net/.

Note: I didn't check wether this features are merged into one package (apmd eventually) already.

Caveats

If you have another operating system preinstalled or use another operating system at the same disk, make sure there is no "hibernation" or "suspend" tool installed, which could severely interfere with Linux, e.g. it might use disk space which is occupied by Linux or vice versa.

Troubleshooting

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 : "The default changed in 2.2. Search in the init-scripts for halt and change it to halt -p or poweroff. See man halt , if you don't have this option you need a newer version of halt." You may find it in the SysVinit package.

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 apm -s. Folks with this affliction might want switch to the console virtual terminal then suspend chvt 1; apm -s as root, or, more appropiately.sudo chvt 1; sudo apm -s. I have these commands in a script, say, my-suspend and then do xapmload --click-command my-suspend .

On some new machines (for instance HP Omnibook 4150 - 366 MHz model) when accessing /proc/apm, you may get a kernel fault general protection fault: f000. Stephen Rothwell <Stephen.Rothwell@canb.auug.org.au> http://www.canb.auug.org.au/~sfr/ explaines: "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."

ACPI

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 http://phobos.fachschaften.tu-muenchen.de/acpi/ .

  1. hdparm hdparm is a Linux IDE disk utility that lets you set spin-down timeouts and other disk parameters. It works also for some SCSI features.
  2. Mobile Update Daemon This is a drop-in replacement for the standard update daemon, mobile-update 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 sync manually. Otherwise files may be lost on power failure. mobile-update does not use APM. So it works also on older systems.
  3. 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 Klibreta, too.
  4. LCDproc . "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 Matrix-Orbital, which is a LCD display connected to a serial port.
  5. 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.

2.2 Power Management Unit - PMU (PowerBook)

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 pmud 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 snooze available from the same sites that just puts the PowerBook to sleep.

2.3 Turn Monitor off, use Keyboard LEDs

There are some tools which allow to get information from your computer without using the monitor:

2.4 Screensavers

Do they only prevent the screen from being burned in or do they save power, too?

Some recommendations from Wade W. Hampton:

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 dpms option of xset (see the manual page for xset). For example, to enable the DPMS (Energy Star) features of you X server: xset +dpms

You may also manually change the mode of your X display:


xset dpms force standby
xset dpms force suspend
xset dpms force off

AFAIK a CRT consumes on the order of 25 percent more power when displaying a plain white screen than displaying a plain black 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.

Some screen saver programs:

2.5 Energy Star Label

Robert Horn <rjh@world.std.com> wrote: "

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:

  1. 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.

    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.

  2. 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.
  3. 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.
..."

2.6 Miscellaneous Power Saving Techniques

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.

Most Linux-users tend to leave their computer on for years whenever possible. However, several modern BIOS's support an unattended powerup, and with cron you can even do an unattended shutdown. No need to leave the computer on night after night.


3. Alternative Power Supplies - Sun, Wind, Water

See a survey of links at Eklektix .


4. Noise Reduction

Most of the noise emitted by a computer is produced by the fan, the harddisk and the speakers.

4.1 Fan

4.2 Harddisk

The noise of the hard disk can be very disturbing, see man hdparm to reduce the spin of the disk.

4.3 Speakers

For the console setterm -blength 0 and for X xset b off turns the bell off. See also PCMCIA-HOWTO, and much more details in the Visible-Bell-mini-Howto by Alessandro Rubini.


5. Saving Consumables (Paper, Ink, etc.)

5.1 Printing of Drafts / Multiple Pages on One Sheet of Paper

Use psutils 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.

Often HTML pages are not optimised for printing. You may use html2ps, a HTML to PostScript converter, to print HTML pages. "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."

Or you may use mpage 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.

5.2 Double Sided Printing

One important way to save paper is to print on both sides of the paper. Ben Woodard is working on a library called libppd 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.)

http://sourceforge.net/project/?group_id=1658 is the download page for the beta version, as well as for a modified version of lpr that supports this functionality.

mpage can do some of this as well. From the manual page:

-jfirst[-last][%interval]

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.

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

-j 1%2 ...

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

-r -j 2%2 ...

hoping no one else reaches the printer before you do.

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.

5.3 Reading From the Monitor Instead From Paper

Or use less/xless/gless as a viewer instead of printing. You can view PostScript documents with gs and view PDF documents with either xpdf or acroread (from Adobe). Ask yourself, do you --really-- need a hardcopy each time you decide to print something out.

What are the reasons why people don't read from the monitor:

Some people use handheld PC (e.g. PalmIII, Newton Message Pad, Psion 5) to carry around documents to read rather than printing them out.

5.4 Other Techniques

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 "final" or in "final draft" status.

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.

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" CRT monitor is 2-3 times the size of the box for a 15" LCD monitor. Linux works well with 15" LCD monitors on smaller computers like the Netwinder or E3000 .

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.

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.

Does anyone know of studies or additional research to help clarify and resolve this issue?

Recycle your used paper, ink, and packing materials.

You may use refillable printer cartridges. In Germany the are marked with the Blauer Engel label.

Laser printer cartridges can often be used much more longer if you shake them when the message toner low appears at the message panel.

Wade W. Hampton provided the biggest part of this chapter. Some suggestions are from Ralf Muschall.


6. Ecological Behaviour is Convenient

The psutils 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.

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 psnup it may fit on one page. Also multicolumn layout is better readable.

Thanks to Ralf Muschall for his suggestions.


7. Recycling of Consumables (Paper, Printer Cartrigdes, CD, Floppies, Tapes)

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 "waste". There should be included some words on the difficulties of recycling (data security, motivation, costs, ...).


8. Reduction of Radiation, Electro Magnetic Fields, Heat


9. Extending the Life Cycle of your Hardware

9.1 Recycling of Hardware

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.

Hence Linux doesn't require big hardware, it's very useful if you like or need to use old and small hardware.

Supported CPU Families

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 http://www.linux.org.uk/ELKS-Home/index.html or http://www.elks.ecs.soton.ac.uk/.

If you like, you may use 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 Linux FAQ .

The ARM is a fast AND low-power alternative. For example, the Corel/Rebel Netwinder is based on the ARM processor see Rebel and Strong-ARM.

Linux Applications for Old Computers

ISDN Router

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.

PingOO ISDN Router

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.

FreeS/WAN

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.

Print Server

A common use for an old computer is running a print server on it.

Dealing with Limited Resources or Tuning the System

This chapter is taken from my Laptop-HOWTO.

Related HOWTOs

  1. LBX-HOWTO
  2. Small-Memory-HOWTO

Introduction

To deal with limited space, memory, CPU speed and battery power, I have written this chapter.

Small Space

Introduction

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.

Techniques

  1. Stripping: Though many distributions come with stripped binaries today it is useful to check this. For details see man strip. To find every unstripped file you can use the file command or more convenient the tool findstrip. Attention: don't strip libraries, sometimes the wrong symbols are removed due to a bad programming technique.

    A recommendation from Russell Marks <rus@beeb.net>:

    These days a lot of people compile with -g, which I find a bit annoying (though AFAIK this only loses you disk space, in practice).

    strip has a --strip-debug 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 live example:


    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
    

  2. Perforation: zum(1)reads a file list on stdin and attempts to perforate these files. Perforation means, that series of null bytes are replaced by lseek, thus giving the file system a chance of not allocating real disk space for those bytes. Example: find . -type f | xargs zum
  3. 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 patch recovery files. Find duplicates, you may try finddup. Choose a system to name your backup, temporary and test files, e.g. with a signature at the end.
  4. Clean Temporary Files: , e.g. /tmp, there is even a tool tmpwatch.
  5. Shorten the Log Files: usually the files in /var/log. There are some nice helpers for this task around, e.g. savelog .
  6. Remove Files: Remove files which are not "necessary" under all circumstances such as man pages, documentation /usr/doc and sources e.g. /usr/src .
  7. Unnecessary Libraries: You may use the binstats package to find unused libraries (Thanks to Tom Ed White).
  8. Filesystem: Choose a filesystem which treats disk space economically e.g. rsfs aka Reiser Filesystem. Tune your filesystem e.g. tune2fs. Choose an appropriate partition and block size.
  9. Reduce Kernel Size: Either by using only the necessary kernel features and/or making a compressed kernel image bzImage.
  10. Compression: I didn't check this but AFAIK you may compress your filesystem with gzip and decompress it on the fly. Alternatively you may choose to compress only certain files. You can even execute compressed files with zexec
  11. Compressed Filesystems:

    - For e2fs filesystems there is a compression version available e2compr , see http://debs.fuller.edu/e2compr/ .

    - 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 http://fb9nt-ln.uni-duisburg.de/mitarbeiter/gockel/software/dmsdos/ .

  12. Partition Sharing: You may share swap-space (see Swap-Space-HOWTO) or data partitions between different OS (see mount). For mounting MS-DOS Windows95 compressed drives (doublespace, drivespace) you may use dmsdos http://metalab.unc.edu/pub/Linux/system/filesystems/dosfs/.
  13. Libraries: Take another (older) library, for instance libc5 , this library seems to be smaller than libc6 aka glibc2 .
  14. Kernel: If your needs are fitted with an older kernel version, you can save some space.
  15. GUI: Avoid as much Graphical User Interface (GUI) as possible.
  16. Tiny Distributions: There are some distributions available which fit from one 3.5" floppy to 10MB disk space and fit for small memories, too. See Laptop-HOWTO
  17. 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.

Harddisk Speed

Use the tool hdparm to set up better harddisk performance. Though I have seen laptop disk enabled with striping, I can't see a reason to do so, because IMHO aka RAID0 striping needs at least to different disks to increase performance.

Small Memory

Related HOWTOs

  1. Small-Memory-mini-HOWTO by Todd Burgess <tburgess@uoguelph.ca > http://eddie.cis.uoguelph.ca/~tburgess
  2. 4MB Laptop-HOWTO by Bruce Richardson.
  3. Modules-mini-HOWTO
  4. Kerneld-mini-HOWTO

Techniques

Check the memory usage with free and top.

Mergemem Project . Many programs contain memory areas of the same content 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 mergemem such areas are detected and shared. The sharing is performed on the operating system level and is invisible to the user level programs. mergemem 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 kernel size 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 daemon which is not needed, e.g. lpd, mountd, nfsd and close some virtual consoles. Please see Small-Memory-mini-HOWTO for details.

And of course use swap space, when possible.

If possible you may use the resources of another machine, for instance with X, VNC or even telnet. For more information on Virtual Network Computing (VNC), see http://http://www.uk.research.att.com/vnc/ .

Low CPU Speed

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 http://www.cerfnet.com/~adorable/libretto.html.

Tiny Applications and Distributions

A small collection yet, but I'm looking for more information.

  1. BOA - "Lightweight and High Performance WebServer. boa 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."
  2. MGR - a graphical windows system, which uses much less resources than X.
  3. Low Bandwidth X - Alan Cox in LINUX REDUX February 1998 " .. there are two that handle normal applications very nicely. LBX (Low Bandwidth X) is the official application of the X Consortium (now OpenGroup www.opengroup.org). Dxpc 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."
  4. blackbox - "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."
  5. linux-lite - distribution based on a 1.x.x kernel for systems with only 2MB memory and 10MB harddisk. URL see above.
  6. smallLinux - 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 fdisk and mkfs.ext2 so that a harddisk install can be done. Useful to boot up on old machines with less than 4MB of RAM.
  7. cLIeNUX - client-use-oriented Linux distribution.
  8. minix - not a Linux but a UNIX useful for very small systems, such as 286 CPU and 640K RAM http://www.cs.vu.nl/~ast/minix.html . There is even X support named mini-x by David I. Bell ftp://ftp.linux.org.uk/pub/linux/alan/ .
  9. screen - tiny but powerful console manager. John M. Fisk <fiskjm@ctrvax.vanderbilt.edu> in LINUX GAZETTE July 1, 1996 :"It's a GUI, GUI, GUI, GUI world! " - 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 at the console." "screen 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."
  10. tinyirc - "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."
  11. tinyproxy - "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."

9.2 Other Techniques

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 "Iron" battery mentioned in the article at 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.

9.3 Linux BadRAM Patch

The objective of the 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.

9.4 Other Operating Systems

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 "mains" power.


10. X10 - Home Automation System

"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."

These 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 bottlerocket and gtk-x10 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).

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).

Turn that light off when not in use!


11. Uninterruptable Power Supply - UPS

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 UPS-HOWTO.

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.


12. Games

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 lincity and Real Life, please check their usefulness by yourself.

I suspect the older games should run just fine on dosemu.


13. Ecology Software (Simulation, Datacollection, Statistics, etc.)

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 Ecolab 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.

13.1 Ecolab

Ecolab is both the name of a software package and a research project that is looking at the dynamics of evolution. 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++.

13.2 OpenClassroom

"OpenClassroom - distribution for Education. Pre-alpha. homepage: 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."

13.3 Tierra

Tierra is a tool for studying digital evolution and ecology that runs on Linux and other OSes.

13.4 Linux in Environmental Research

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 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 ( beowulf cluster could be used to run complex simulations of environmental processes, for example Earthdome and a survey at A COLLECTION OF LINKS OF VISUALIZATION & SIMULATION OF SELF-ORGANIZED SYSTEMS.

13.5 SWARM

SWARM is a software package for multi-agent simulation of complex systems that is being developed by the Swarm Development Group (SDG).

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.

13.6 Climate-Dynamics

Climate-Dynamics is project to share computer client resources to analyze the climate.

13.7 UNCERT

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.

13.8 EcoTopia

The 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.


14. Related Projects, Mailing Lists and Newsgroups


15. Credits

Thanks to:


16. Revision History


17. Copyright and Disclaimer

Copyright © 1999 by Werner Heuser. This document may be distributed under the terms set forth in the LDP license at COPYRIGHT.

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.


18. Appendix A - Linux with Laptops

18.1 Battery

Has to be written. See LDP - Battery-HOWTO by Hanno Mueller, too.

apmd-rhcn-2.4phil-1 by RedHat ftp://rhcn.redhat.com/pub/rhcn/ contains an unofficial patch for shutting down the PCMCIA sockets before a suspend and patches for multiple batteries.

18.2 PCMCIA Card Services and Advanced Power Management

Quoted from the 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 cardctl suspend before suspending your laptop, and cardctl resume 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 cardctl eject prior to suspending the system."

You should use the internal modem in a laptop instead of a PCMCIA modem, if possible (it may be a WinModem).

18.3 Power Saving Techniques

  1. 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 Fast RRs feature in the IrDA section of the kernel. This option will give you much better latencies but will consume more power.
  2. PCMCIA services consume much power, so shut them down if you don't need them.
  3. I'm not sure to which extend the backlight consumes power. WARNING: AFAIK this device can only bear a limited number of uptime circles. So avoid using screensavers too much.
  4. For some examples to build batteries with increased uptime up to 8 hours look at Adorable Toshiba Libretto http://www.cerfnet.com/~adorable/libretto.html.
  5. For information about APM look at the APM chapter above.
  6. A hacked rclock . Booker C. Bense has hacked the rclock program to include a simple battery power meter on the clock face.
  7. xbatstat. A battery level status checker for Linux and X.
  8. KDE http://www.kde.org provides KAPM, Kbatmon and Kcmlaptop. Written by Paul Campbell kcmlaptop 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 http://www.gnome.org/ . See the software maps at both sites.
  9. Please see Battery Powered Linux Mini-HOWTO by Hanno Mueller, hanno@lava.de http://www.lava.de/~hanno/ for more information.
  10. toshiba-fan 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.


19. Appendix B - MP3-Hardware-Decoder at Parallel Port

In the German computer magazine 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. Authors Homepag .

Also mentioned there, is a software by Klaus Peichl, which doesn't need a hardware decoder.

Though both programs are DOS based, I mention them here. I hadn't time to look for an according Linux solution.

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.


20. Appendix C - Bibliography


21. Appendix D - Recommendations for Buying a New Computer

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 "Energy Star" 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).

Maybe there should be a new class of computers called "Energy Miser" (or similar) that use nearly an order of magnitude less power than Energy Star systems?

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.

Make sure that any new computer purchase includes APM-compliant hardware and low-radiation. Use TCO, DPMS or Energy Star compliant monitors.

R Horn <rjh@world.std.com> wrote: " I personally have found the 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.

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.

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.

(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.)

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."


22. Appendix E - A New Environmentally Friendly Hardware Design

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: 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 "Environmental Rating" could be created for new Linux-based hardware and even some Linux-based software such as bottlerocket (X10). Devices such as the Netwinder or the uCsimm would receive high ratings for their size, power consumption, capabilities, etc.

At 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.


23. Appendix F - Computer Related Eco Labels

Currently I have only this small list: TCO, DPMS or Energy Star Blauer Engel (Germany), Energy Label - Group for Efficient Appliances (GEA).


24. Appendix G - Other Operating Systems

24.1 DOS

To my surprise there are still many tools available to make old 286 PC useful. I started a search for 286 at Simtel.Net and found many useful shareware programs. For instance:

There is even a free DOS around, see The OS Developers Homepage and The FreeOS page.

24.2 MS-Windows

A power saving utility CPUIDLE is available. Another one for older versions of MS-WindowsNT is available at Niteskate.


25. Appendix H - URLs of Recylers