# Linux Ecology-HOWTO

### Werner Heuser

`<wehe[AT]tuxmobil.org>`

### Wade W. Hampton

`<whampton[AT]staffnet.com>`

Copyright © 1999-2003 Werner Heuser

v1.0, 2003-11-23

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.

Copyright © 1999-2003 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.

# 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. Objectives

Some objectives of the HOWTO:

- Reduction in power consumption.

- Reduction in consumables like paper and inks.

- Reduction in waste by reusing older components or keeping them in service longer.

- Reduction in toxic waste such as used batteries.

- Use of Linux in environmental education and research.

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

# 3. About the Document and the Authors

## 3.1. 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 Linux-Mobile-Guide and my 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[AT]tuxmobil.org>

## 3.2. Translations

Jun Morimoto <morimoto at 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 at linux.org.tw> to reach him.

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

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

# 1.1. Advanced Power Management (APM/ACPI)

## 1.1.1. 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.

## 1.1.2. 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 at 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:

- Only supports one command to run at suspend time.

- Doesn't distinguish between user and system suspends.

- doesn't provide a way to disable policy (the sync(); sleep(0) ; sync(); sleep(1); sequence)

- Does not document extra features.

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

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 at binary9.net> http://mrnick.binary9.net/. Note: I didn't check wether this features are merged into one package (apmd eventually) already.

## 1.1.3. 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.

## 1.1.4. 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 at 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 at 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."

## 1.1.5. 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/ .

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

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

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

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

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

# 1.2. Power Management Unit - PMU (Apple 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 at 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.

# 1.3. Turn Monitor off, use Keyboard LEDs

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

- bl : Blink Keyboard LEDs

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

- mailleds : Shows new mails with the keyboard LEDs, mailleds is a quiet, unobtrusive way to signify that you have new mail: a user daemon to blink LEDs when there is new mail.

- tleds : 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.

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

- The purpose of xscreensaver 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 xlock and xautolock 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.

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

# 1.5. Energy Star Label

Robert Horn <rjh at 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:

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

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

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

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

# Chapter 2. Alternative Power Supplies - Sun, Wind, Water

See a survey of links at Eklektix .

# Chapter 3. Noise Reduction

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

# 3.1. Fan

- libsensors0 is a library to read temperature/voltage/fan sensors

- lm-sensors "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." http://www.lm-sensors.nu/

- ACPI, see APM chapter

# 3.2. Harddisk

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

# 3.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.

# Chapter 4. Saving Consumables (Paper, Ink, etc.)

# 4.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.

# 4.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.

# 4.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:

- Reading is slower up to 30 percent, see 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).

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

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

# 4.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.

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

- Size-Reduction: Instead of psnup or other parts of the pstools I recommend the psnup written in Perl4 by Malcolm Herbert (it's from 1994, and no longer maintained but however there is a descendant of it called yup, available at yup).

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

  The normally used options are:

  - -p2 (or -p4 etc., like -2 in the old psnup)

  - -NIH (don't decorate)

  - -l10 -r20 -b30 -t40 (add to margins)

  - -g50 (add to gutter)

  (these values vary depending on the papersize and the margins of the original, negative values are allowed).

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

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

- Ghostscript has a new output format pswrite, which creates output in correct PostScript. This feature can be used to repair broken PostScript e.g. from Microsoft drivers, allowing their postprocessing with psnup etc.

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

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

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

# Chapter 5. 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.

# Chapter 6. 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, ...).

# Chapter 7. Reduction of Radiation, Electro Magnetic Fields, Heat

- monitors are a source of radiation and electro magnetic fields. They may be reduced by lead filters, LCD displays. Some eco labels like TCO95 include maximum levels of radiation, etc.

- especially larger number of PCs or can heat a room very much therefore it might be necessary to cool the room. This ca be reduced by using standby (powerdown) techniques.

# Chapter 8. Extending the Life Cycle of your Hardware

# 8.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.

## 8.1.1. 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.

## 8.1.2. Linux Applications for Old Computers

### 8.1.2.1. 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.

### 8.1.2.2. 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.

### 8.1.2.3. 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.

### 8.1.2.4. Print Server

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

## 8.1.3. Dealing with Limited Resources or Tuning the System

This chapter is taken from my Linux-Mobile-Guide - A Guide for Laptops, PDAs and Mobile Phones.

### 8.1.3.1. Related HOWTOs

- LBX-HOWTO

- Small-Memory-HOWTO

### 8.1.3.2. Introduction

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

### 8.1.3.3. Small Space

#### 8.1.3.3.1. 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.

#### 8.1.3.3.2. Techniques

- 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 at 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

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

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

- Clean Temporary Files: , e.g. `/tmp`, there is even a tool tmpwatch.

- Shorten the Log Files: usually the files in `/var/log`. There are some nice helpers for this task around, e.g. savelog .

- Remove Files: Remove files which are not "necessary" under all circumstances such as man pages, documentation `/usr/doc` and sources e.g. `/usr/src` .

- Unnecessary Libraries: You may use the binstats package to find unused libraries (Thanks to Tom Ed White).

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

- Reduce Kernel Size: Either by using only the necessary kernel features and/or making a compressed kernel image bzImage.

- 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

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

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

- Libraries: Take another (older) library, for instance libc5 , this library seems to be smaller than libc6 aka glibc2 .

- Kernel: If your needs are fitted with an older kernel version, you can save some space.

- GUI: Avoid as much Graphical User Interface (GUI) as possible.

- 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

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

### 8.1.3.4. 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.

### 8.1.3.5. Small Memory

#### 8.1.3.5.1. Related HOWTOs

- Small-Memory-mini-HOWTO by Todd Burgess <tburgess at uoguelph.ca > http://eddie.cis.uoguelph.ca/˜tburgess

- 4MB Laptop-HOWTO by Bruce Richardson.

- Modules-mini-HOWTO

- Kerneld-mini-HOWTO

#### 8.1.3.5.2. 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/ .

### 8.1.3.6. 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.

### 8.1.3.7. Tiny Applications and Distributions

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

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

- MGR - a graphical windows system, which uses much less resources than X.

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

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

- linux-lite - distribution based on a 1.x.x kernel for systems with only 2MB memory and 10MB harddisk. URL see above.

- smallLinux - http://www.superant.com/smalllinux/ . 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.

- cLIeNUX - client-use-oriented Linux distribution.

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

- screen - tiny but powerful console manager. John M. Fisk <fiskjm at ctrvax.vanderbilt.edu> in LINUX GAZETTE : "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."

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

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

# 8.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.

# 8.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.

# 8.4. Other Operating Systems

Courtesy of George White <gwhite at 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.

# Chapter 9. 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!

# Chapter 10. 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.

# Chapter 11. 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.

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

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

- Sierra has produced (some time ago) Eco Quest 1 - Lost in Rainforest and Eco Quest 2 - The Search for Cetus. The EcoQuest games were for MS-DOS and Windows 3.x. These were targeted at younger players.

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

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

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

- SimIsle, 1995, Maxis (DOS, ???) Develop a tropical island without destroying the rainforest ecology. Large learning curve but supposedly a lot of fun.

- SimPark, 1997, Maxis (Win 95, ???) Sort of a children's version of SimIsle, which is simpler and more education-focused.

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

# Chapter 12. 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.

# 12.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++.

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

# 12.3. Tierra

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

# 12.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.

# 12.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.

# 12.6. Climate-Dynamics

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

# 12.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.

# 12.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.

# Chapter 13. Related Projects, Mailing Lists and Newsgroups

- Though I searched the WWW, I couldn't find neither a dedicated newsgroup nor a mailing list yet. Please let me know of such projects, otherwise I will create a list a FreeLists.org .

- Repair FAQ .

- 386 World by Gaute Hvoslef Kvalnes <386 at 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.

- "The 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." . You may also find a survey about Environmental Resources on the World Wide Web there.

- BAN is a global network of toxics and development activist organizations that share a vision of international environmental justice. We seek to prevent all forms of "toxic trade" -- in toxic wastes, toxic products and toxic technologies. BAN members will work nationally, regionally and globally to accomplish the following mission: The Basel Action Network (BAN) works to prevent the globalization of the toxic chemical crisis. In particular, we seek to ensure that the Basel Convention and its ban (Decisions II/12 and III/1) on the export of hazardous wastes from OECD to non-OECD countries will not be weakened, but rather ratified and implemented at the earliest possible date. We also seek to ensure that the Basel Convention and other instruments and efforts, serve to prevent the trade and growth of the world's most hazardous, and often obsolete industries, particularly with respect to developing or newly industrializing countries.

- Silicon Valley Toxics Coalition (SVTC) is a diverse grassroots coalition that for almost twenty years has engaged in research, advocacy, and organizing associated with environmental and human health problems caused by the rapid growth of the high-tech electronics industry. Our goal in addressing these problems is to advance environmental sustainability and clean production in the industry and to improve health, promote justice, and ensure democratic decision-making for communities and workers affected by the high-tech revolution in Silicon Valley and other high-tech areas of the US and the world.

# Chapter 14. Credits

Thanks to:

- Hristo Bojinov <hib at mit.edu>

- Thomas Boutell <boutell at boutell.com>

- Lionel "trollhunter" Bouchpan-Lerust-Juery<trollhunter at linuxfr.org>

- Ben De Rydt <ben.de.rydt at pandora.be>

- Richie Gan <csardas at gate.sinica.edu.tw>

- Andreas Gohr <a.gohr at web.de>

- Jeandre <jeandre at techie.com>

- Wade W. Hampton <whampton at staffnet.com>

- Malcolm Herbert <Malcolm.Herbert at fulcrum.com.au>

- Robert Hoehne <hoehne at eng.usf.edu>

- Robert Horn <rjh at world.std.com>

- Larry Lade <lade at midco.net>

- Verena Lorenz-Meyer <lome at cs.tu-berlin.de>

- Russell Marks <rus at beeb.net>

- Don Marti <dmarti at varesearch.com>

- Jun Morimoto <morimoto at xantia.citroen.org>

- Hanno Mueller <kontakt at hanno.de>

- Ralf Muschall <rmuschall.fih at t-online.de>

- Martin <Niteskate at aol.com>

- Klaus Peichl <pei at iis.fhg.de>

- Daniel Pirone <cocteau at wact.net>

- Martin Pool <martinp at mincom.com>

- Bernhard Reiter <bernhard at uwm.edu>

- Matthias Scheller <mscheller at access.diax.ch>

- Georg Schwarz <schwarz at physik.tu-berlin.de>

- Victor Solymossy <victor at lig.dq.ufscar.br>

- Knut Suebert <ksueber at gwdg.de>

- Charlie Triplett <crtfcc at missouri.edu>

- Sotiris Vassilopoulos <Sotiris.Vassilopoulos at betatech.gr>

- George White <gwhite at bodnext.bio.dfo.ca>

- Yan Wong <yan.wong at linacre.ox.ac.uk>

# Chapter 15. Revision History

- v0.1, 18 June 1999, first draft

- 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

- 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

- 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

- v0.5, 04 January 2000, some additional information about PostScript utilities, new chapter Caveats, URL corrections and minor changes

- v0.6, 01 March 2000, link to Japanese translation added and some spell checking (thanks to Jun Morimoto), correction of URLs

- 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

- 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

- v0.9, 27 February 2003, some links corrected (TuxMobil.org, tldp.org), minor changes

- v0.10, 22 November 2003, conversion to XML, some remarks about the ecological comparison between laptops and desktops were added, minor changes

# Appendix A. Appendix A - Linux with Laptops

# A.1. Ecological Comparisons of Computers

Scientists of ReUse project located at the Technical University of Berlin recently compared the energy consumption of different computer types along the life cycle. The production of computers actually needs 535 kWh which is 10 % less than 4 years ago. Most of the energy will be consumed while the computer is used for example at work for 8 hours/day. The energy consumption of new computers with 2,5-3 GHz processors is even in the stand-bye-mode still 100 Watt, whereas a 1,4 GHz PC needs 80 Watt and a 4 year old PC only needed 60 Watt. Therefore from the ecological point of view it is better to buy an old computer that didn't need the energy for a new production and which consumes less electricity while it is being used.

LCD displays need less energy than other monitors. For this reason laptops are the most ecological types of the compared computers. They need the smallest amount of energy when they are used. And 3 year old laptops are better than new ones since their processors need less energy than new examples. There is also an article in the German computer magazine C't 21/ 2003.

# A.2. 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.

# A.3. 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).

# A.4. Power Saving Techniques

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

- PCMCIA services consume much power, so shut them down if you don't need them.

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

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

- For information about APM look at the APM chapter above.

- A hacked rclock . Booker C. Bense has hacked the rclock program to include a simple battery power meter on the clock face.

- xbatstat. A battery level status checker for Linux and X.

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

- Please see Battery Powered Linux Mini-HOWTO by Hanno Mueller, hanno at lava.de http://www.lava.de/˜hanno/ for more information.

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

# Appendix B. 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.

# Appendix C. Appendix C - Bibliography

- Ellringmann, H. /Hrsg.): Softwarefuehrer Umweltschutz. Anbieter - Produkte - Maerkte; 1999ff.

- Koellner, W. / Fichtler, W.: Recycling von Elektro- und Elektronikschrott; 1996

- Rohwedder, W.J. "Rocky" / Alm, Andy: Using Computers in Environmental Education; 1994

- Schloegl, M.:Recycling von Elektro- und Elektronikschrott; 1995

- Tiltmann, K.O. (Hrsg.): Recyclingpraxis Elektronik; 1994

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

# Appendix D. 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 at 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."

# Appendix E. 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.

# Appendix F. 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).

# Appendix G. Appendix G - Other Operating Systems

# G.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:

- Full-featured LAN for MSDOS computers, 286+req

- RoseMail, PCBoard offline mail, 8086/286 exe's

- Multitasking/multiuser environment for 286-586

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

# G.2. Microsoft-Windows

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

# Appendix H. Appendix H - URLs of Recylers

- REMEDIA - Germany - recycling of data storage media (CD, floppy, tape)

- ALCAD - worldwide - Ni-Cd Battery Recycling

- CD-COLLECT - CD recycling

- Rechargeable Battery Recycling Corporation RBRC is a non-profit, public service organization created to promote the recycling of Nickel-Cadmium (Ni-Cd) rechargeable batteries.

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

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