old-www/HOWTO/text/Ecology-HOWTO

2735 lines
123 KiB
Plaintext

Linux Ecology-HOWTO
Werner Heuser
<wehe[AT]tuxmobil.org>
Wade Hampton
<whampton[AT]staffnet.com>
Michael Opdenacker
<michael[AT]free-electrons.com>
Copyright (c) 1999-2009 Werner Heuser
0.20, 2009-09-28
The Linux-Ecology-HOWTO discusses ways to make computers less harmful
to our environment and to solve some ecological issues. It explains how
to use Linux to save power and consumables like paper and ink. 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-2009 by Werner Heuser. This document may be
distributed under the terms set forth in the LDP license at
[http://tldp.org/COPYRIGHT.html] 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.
------------------------------------------------------------------------
Table of Contents
Introduction
1. Objectives
2. Caveats
3. About the Document and the Authors
1. Reduction of Power Consumption
1.1. Advanced Power Management (APM/ACPI)
1.2. Power Management Unit - PMU (Apple PowerBook)
1.3. Turn Monitor off, use Keyboard LEDs
1.4. Screensavers
1.5. Virtual Servers: Consolidation and Virtualization
1.6. Energy Star Label
1.7. Using Spare CPU Cycles
1.8. Miscellaneous Power Saving Techniques
2. Alternative Power Supplies - Sun, Wind, Water
3. Noise Reduction
3.1. Fan
3.2. Harddisk
3.3. Speakers
4. Saving Consumables (Paper, Ink, etc.)
4.1. Printing of Drafts / Multiple Pages on One Sheet of
Paper
4.2. Double Sided Printing
4.3. Reading From the Monitor Instead From Paper
4.4. Other Techniques
5. Ecological Behaviour is Convenient
6. Recycling of Consumables (Paper, Printer Cartridges, CD, Floppies,
Tapes)
7. Reduction of Radiation, Electro Magnetic Fields, Heat
8. Extending the Life Cycle of your Hardware
8.1. Recycling of Hardware
8.2. Other Techniques
8.3. Linux BadRAM Patch
8.4. Installing Linux on Older Hardware
8.5. Upgrading and Repairing Computer Hardware and
Communication Devices
8.6. Other Operating Systems
9. Using Linux on non-PC Hardware
9.1. Using Consumer Electronics Devices
9.2. Using Embedded Linux Boards
10. X10 - Home Automation System
11. Uninterruptible Power Supply - UPS
12. Games
13. Ecology Software (Simulation, Data Collection, Statistics, etc.)
13.1. Ecolab
13.2. Tierra
13.3. Linux in Environmental Research
13.4. SWARM
13.5. Climate-Dynamics
13.6. UNCERT
13.7. EcoTopia
13.8. Digiqual
14. Related Projects, Mailing Lists and Newsgroups
15. Credits
16. Revision History
A. Appendix A - Linux with Laptops
A.1. Ecological Comparisons of Computers
A.2. Battery
A.3. PCMCIA Card Services and Advanced Power Management
A.4. Power Saving Techniques
B. Appendix B - MP3-Hardware-Decoder at Parallel Port
C. Appendix C - Bibliography
D. Appendix D - Recommendations for Buying a New Computer
E. Appendix E - A New Environmentally Friendly Hardware Design
F. Appendix F - Computer Related Eco Labels
G. Appendix G - Other Operating Systems
G.1. DOS
H. Appendix H - URLs of Recyclers
------------------------------------------------------------------------
Introduction
Life is the first gift, love is the second, and understanding is the
third.
[http://www.margepiercy.com/] 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 [http://www.debian.org/] Debian or as a RPM package, from your
favorite RPM server, for instance [http://rpmfind.net/] rpmfind.
Some parts are modified chapters from my
[http://tuxmobil.org/howtos.html] Linux-Mobile-Guide and my
InfraRed-HOWTO.
The document is included in the [http://tldp.org/] LINUX DOCUMENTATION
PROJECT.
The latest version of this document is available at
[http://computerecology.org/] Computers and Ecology .
A [http://free-electrons.com/articles/linux-ecology] summary
presentation about this HOWTO has been contributed by Michael Opdenacker
from [http://free-electrons.com/] Free Electrons, which also has made
many contributions to this document itself.
Since Wade 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
[http://www.linux.or.jp/JF/JFdocs/Ecology-HOWTO.html] translation into
Japanese.
A translation into Chinese(Big5 code) is proposed by Richie Gan. It is
part of the [http://www.linux.org.tw/CLDP/] 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)
Putting your GNU/Linux PC in suspend or hibernate mode.
------------------------------------------------------------------------
1.1.1. ACPI
Most modern PCs support the ACPI (Advanced Configuration and Power
Interface) standard. The [http://acpi.sourceforge.net/] ACPI4Linux
project works on implementing full ACPI support in the Linux kernel,
including fan control, dock/undock detection.
All ACPI related information (such as processor or board temperature)
is available through files in /proc/acpi. For example, this makes it
very easy for desktop environments (or for your own programs) to display
to temperature information somewhere on your screen.
------------------------------------------------------------------------
1.1.1.1. Hibernate to disk
Use hibernate to disk and no longer be afraid of switching off your
system. Booting is much faster than having to wait for services and
graphics to start up. Actually, most of the time is saved by getting
back to your work as you left it before suspending your computer (open
files, terminals, browser windows). There is no need to re-open
everything!
While hibernating is often considered as a power saving solution for
notebook computers, it should also be used for desktop computers, to
save AC power. Use it when you go for lunch, when you leave the office
in the evening or for holidays...
Hibernating also saves a lot of time when you replace a battery of a
notebook. Again, hibernate, install a fresh battery, power up and get
back to your work as you left it off.
Technical details
* Hibernation to disk is implemented by the
[http://www.suspend2.net/] Suspend 2 for Linux project. It consists
of a kernel driver and a user-space program to control the driver.
Users just need to run the program (usually called hibernate).
* It works by copying the whole of used RAM to a swap partition. As a
consequence, it requires the swap partition to be at least as big as
the amount of RAM.
* Both the patched kernel and the user-space program are very easy to
install through packages.
* Here are [http://mhensler.de/swsusp/] Fedora Core packages
for download.
* At least in the 6.06 release of (K)Ubuntu, hibernating is
directly available as an option from the battery icon.
* Go to your favorite package source for other distributions
------------------------------------------------------------------------
1.1.2. Older hardware with APM
1.1.2.1. Linux Compatibility Check
From the [http://tldp.org/HOWTO/Battery-Powered/index.html] Battery
Powered Linux 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.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
[http://www.worldvisions.ca/~apenwarr/apmd/] 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.
------------------------------------------------------------------------
1.1.2.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.2.4. Troubleshooting
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 appropriately, 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. [http://www.canb.auug.org.au/~sfr/] Stephen Rothwell
explains: "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.3. Processor frequency scaling
cpufreq is a Linux kernel driver to control the CPU frequency. It is
included in all recent kernels and enabled by default by recent
distributions. It supports most recent "mobile" processors. Note that
only such processors support frequency scaling.
This driver lets user programs control cpu frequency by writing files
in /sys/devices/system/cpu/cpu<n>/cpufreq/.
Actually, frequency scaling is usually handled by a governor program,
according to system or user specific preferences.
CPUSpeed is the de-facto governor for Linux. It allows to control the
cpufreq driver according to user defined criteria: CPU load, board
temperature, battery / plugged in... It is released by default in recent
distributions.
CPUspeed is usually configured through the /etc/cpuspeed.conf file
(Fedora Core 4 example):
VMAJOR=1
VMINOR=1
DRIVER="speedstep-centrino"
OPTS="-i 2
-t /proc/acpi/thermal_zone/THM/temperature 70
-a /proc/acpi/ac_adapter/AC/state
-p 10 25
-m 600000 -M 1600000"
After making changes, you can restart CPUspeed with
/etc/init.d/cpuspeed restart (Fedora Core example).
Type /usr/sbin/cpuspeed -h for details and more options.
You can type cat /proc/cpuinfo to consult the current processor speed.
That's useful to check that the processor speed is scaled according to
your settings.
------------------------------------------------------------------------
1.1.4. Useful Resources for Power Management
* [http://hdparm.sourceforge.net/] 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.
* Laptop Mode - A feature implemented in the Linux kernel since the
2.6.6 version. The idea is to spin up the hard disk only when
reading uncached data, to delay and group disk writes, in order to
reduce hard disk power consumption and save battery life. Control
scripts are shipped by default by recent distributions.
Laptop Mode may not be activated by default by distributions, as it
is not recommended for servers and laptops running on AC power,
because of the risk to loose data in a crash or sudden power off.
* [http://muru.com/linux/dyntick/] Dynamic Tick is available since
kernel 2.6.21 and later. When enabled, this kernel feature allows to
disable the CPU timer interrupts when all processors are idle. This
way, idle systems are not woken up every 4 ms (default setting in
Linux 2.6) just to realize there is nothing to do! This can save a
little bit of power in notebooks (and CPU cycles in virtual hosting
servers). Regular timer interrupts are re-enabled when something
really happens, when a real hardware interrupt is received. In
kernel configuration, this feature can be selected from the Kernel
Features section (NO_IDLE_HZ setting). You can verify whether it is
enabled with cat /boot/config-$(uname -r) | grep CONFIG_NO_HZ.
* [http://www.complang.tuwien.ac.at/ulrich/linux/tips.html] Mobile
Update Daemon 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.
* The noatime and nodiratime mount options can be used to reduce disk
writings. In operating systems like Linux which comply with the
POSIX standard, filesystems are supposed to record the last time
files are read. With default kernel settings, even if files are read
from the file cache in RAM, this causes time data to be written to
disk every 5 seconds. You may use a line like this /dev/hda3 /data
ext3 defaults,noatime,nodiratime, 1 2 for example in /etc/fstab.
To avoid this and reduce disk activity, you can add the noatime
mount option to lines in the /etc/fstab file.
This option doesn't have any known or significant impact on regular
programs, except perhaps for backup / archiving software for which
file access time information is useful.
* [http://www.buzzard.me.uk/toshiba/index.html] 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.
* [http://lcdproc.omnipotent.net/] LCDproc - "LCDproc is a small
piece of software that will enable your Linux box to display live
system information on a LCD display. It supports a lot of serial and
parallel LCDs.
* [http://sourceforge.net/projects/diald/] 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.
* Getting your computer to use the least amount of power can be
problematic. Intel's [http://www.linuxpowertop.org/]
http://www.linuxpowertop.org/ project provides information on
reducing power usage, tips, and tricks for Intel-based computers
running Linux. As a first step, Intel has released PowerTOP, a tool
that helps you find what software is using the most power. By fixing
(or closing) these applications or processes, you can immediately
see the power savings in the tool. You'll also see the estimated
time left for battery power if you are running a laptop. The Tips &
Tricks page has fixes for a lot of the issues that are already
found.
------------------------------------------------------------------------
1.1.5. Restoring your Work after Shutdown
Even if you don't use hibernate or suspend and switch off your system
in a standard way, you still have ways of saving time getting back to
your work.
Modern graphical environments (KDE or Gnome) restart the applications
that were open when you logged out. However, most applications just get
back to their initial state and you will probably need to open your
files again.
For people who do not want to loose the HTML pages they were browsing,
the [http://www.mozilla.com/firefox/] Mozilla Firefox browser as a nice
Bookmark All Tabs... command in the Bookmarks menu. This is very
convenient to restore a set of tabs or just to start your browser with
all your favorite information sites when you arrive in the morning.
Firefox v3 can save the current state of the browser and will restore it
upon powerup.
So, unless your computer is really computing something, you have less
excuses for keeping it on!
------------------------------------------------------------------------
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. 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.
* [http://www.iki.fi/sampo.niskanen/ledcontrol/] ledcontrol: is a
program that allows you to show different information on the
normally-unused LEDs on your keyboard. You can configure it to show
virtually any true/false condition accessible or indicate an
arbitrary number. The monitoring is by default done by shell scripts
to allow for maximal configurability.
------------------------------------------------------------------------
1.4. Screensavers
1.4.1. Screensaver Programs
Do they only prevent the screen from being burned in or do they save
power, too?
Some recommendations from Wade 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.
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.4.2. Display Power Control
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
Note that suspend and off usually save much more energy than just
standby, especially in CRT displays.
According to manufacturers, switching off LCD displays more often
doesn't reduce their lifetime. As user can easily notice, there is no
significant penalty either between suspend and off modes in terms of
switching on time.
In modern graphical desktop environments (like Gnome and KDE), it is
easy to configure automatic display switch off after a given inactivity
timeout:
* KDE display power management: configure it in Control Center ->
Peripherals -> Display -> Power Control.
* Gnome display power management: configure it in Desktop ->
Preferences -> Screensaver -> AdvancedControl Center -> Peripherals
-> Display -> Power Control.
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.
------------------------------------------------------------------------
1.5. Virtual Servers: Consolidation and Virtualization
On enterprise networks, or on the Internet, security constraints may
require that different services are run on different, isolated servers.
The problem with this one server per service approach is that most spend
a lot of idle time waiting for some rare activity bursts.
Several technologies now make it possible to run several GNU/Linux
servers inside a real, physical GNU/Linux server. As in physical
servers, each virtual server is isolated from the others. So, this
approach retains the benefits of separate servers, but makes it possible
to share some hardware resources like the CPU and network bandwidth. On
the other hand, each virtual server enjoys a reserved amount of RAM and
disk space.
The benefits of virtual servers are obvious in terms of cost, power
consumption, optimum use of hardware resources, and consumption of
computer materials. There is another key advantage for hardware
maintenance: virtuals servers can very easily and transparently be
migrated from one physical server to another.
Virtualization solutions:
* [http://user-mode-linux.sourceforge.net/] User Mode Linux - The
original solution. Allows to run one or several Linux kernel
executables on a Linux machine (with a standard kernel) as regular
programs.
* [http://www.cl.cam.ac.uk/Research/SRG/netos/xen/] Xen - An
increasingly popular alternative, with very little performance
overhead. Also allows live server migration to other hardware.
Requires a patched Linux kernel.
Virtuals servers all already very popular solutions for website
hosting, but virtualization still has a very strong potential in
corporate networks.
------------------------------------------------------------------------
1.6. 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.7. Using Spare CPU Cycles
Some Linux applications use idle time in computers to cure diseases,
study global warming, or any other scientific research. They run as a
low-priority process (nice 20), so you can work without noticing that
it's doing its task. Another use is for people who use P2P software and
leave the PC turned on for long hours unattended, all that time the PC
can be using the electricity it is consuming for a practical purpose:
* [http://boinc.berkeley.edu/] BOINC
* [http://distributed.net/] Distributed.net
------------------------------------------------------------------------
1.8. 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. Other techniques to powerup your
computer at certain times are: ACPI-Wakeup, NVRAM-wakeup and the settime
command. Computers can even be power up on request remotely by means of
Wake-on-LAN using a network connection or Wake-on-Ring using an old
fashioned serial interface and a modem.
Beware of animated web pages! Web pages containing Flash, Java, or just
animated images can consume a lot of CPU. When you leave your computer
and keep it on, make sure you close all browser pages with animations.
Otherwise, your PC may be left running at full speed while you are not
using it.
To disable animated images in Mozilla Firefox go to [about:config]
about:config, find image.animation_mode and change its value to none or
once.
Do not forget to switch off your DSL modem / wireless router / ISP box
/ printers at night or during vacations if you don't use them. These
devices consume quite a lot (typically 15W).
------------------------------------------------------------------------
Chapter 2. Alternative Power Supplies - Sun, Wind, Water
See a survey of links at [http://www.cirkits.com/] 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
* [http://www.lm-sensors.nu/] 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."
* ACPI, see APM chapter
* [http://www.tinet.org/~com.ea/rtsensors/] RTSensors can be
configured by the user as an expert controller: The user can specify
the max/min speed of the system fans, the maximum affordable
temperature and so on. The controller tries to reduce fan speed to
reduce noise while the temperature is in a safe range chosen by the
user. So fan speed is modified automatically by the control
algorithm, you don't have to use those mechanic or thermal
regulators on your fans anymore.
------------------------------------------------------------------------
3.2. Harddisk
To avoid unneccessary hard disk noise you may use the same techniques
as described in the power saving chapter. Hard disks in most laptops are
the primary source of noise. Modern laptop and notebook hard drives come
with a so-called "Acoustic Management", just have a look into the manual
to get an overview about the possible settings.
The noise of the hard disk can be very disturbing, see man hdparm to
reduce the spin of the disk.
Some hard disk manufacturers offer dedicated tools, e.g. Hitachi's
[http://www.hitachigst.com/hdd/support/download.htm] Feature Tool allows
to change the drive Automatic Acoustic Management settings to the Lowest
acoustic emanation setting (Quiet Seek Mode), or Maximum performance
level (Normal Seek Mode).
------------------------------------------------------------------------
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
[http://tldp.org/HOWTO/Visual-Bell.html] 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.
For example, to create a PostScript document with 4 pages per sheet:
psnup -nup 4 doc.ps > doc4p.ps
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.
Depending on the printer capabilities, this can either be done manually
(printing odd and even pages in 2 passes), or by instructing the printer
to use both sides.
------------------------------------------------------------------------
4.2.1. Printer control
If your GNU/Linux distribution is using the CUPS printing system (as
most do nowadays), you can configure double sided printing through the
CUPS administration interface. Open the [http://localhost:631]
http://localhost:631 URL with a browser, type your root password if
required, and configure any local printier supporting double sided
printing. This applies by default to all future print jobs.
Print settings can also be changed on a job by job basis too. In
particular, KDE and Gnome let applications select and configure printers
for each print job.
If you are printing from the command line, you can use the
[http://www.mscs.dal.ca/~selinger/lpr-wrapper/] lpr-wrapper to insert
printer control instructions to PostScript files at print time. Example:
lpr-wrapper -od doc.ps
------------------------------------------------------------------------
4.2.2. Manual printing
If double sided printing is not supported by your printer, you can also
achieve this by printing odd/even (or right/left) pages separately. Many
graphical applications like OpenOffice.org let you do that.
If you print from the command line, you can also do this with
[http://www.mesa.nl/pub/mpage] mpage. 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.
[https://sourceforge.net/projects/duplexpr/] Duplex is a set of sh
scripts that emulates duplex printing (on both sides of the paper) for
sheet-fed printers that do not support duplex printing in hardware. It
is intended for use on printers connected to workstations. It can
operate as a pipe so that applications can use it as a duplex printing
driver. Its unique feature is its ability to print to print many duplex
print jobs in one batch, printing the odd sides of all jobs and then the
even sides in just two passes.
------------------------------------------------------------------------
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 [http://www.adobe.com] Adobe). Ask yourself, do you
--really-- need a hardcopy each time you decide to print something out.
For your own documents, a good idea is to create them in landscape
mode, making them easier to read without having to scroll up and down.
Otherwise, readers may find reading from the screen inconvenient and may
then prefer printing. See PDF editions of the free
[http://www.tuxmagazine.com/] Tux Magazine for a nice examples.
What are the reasons why people don't read from the monitor:
* Reading is slower up to 30 percent, see
[http://www.useit.com/alertbox/9602.html] Jakob Nielsen: In Defense
of Print. 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 and fonts (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. At
TuxMobil you may get information about
[http://tuxmobil.org/pda_linux.html] Linux compatibility for handheld
PCs and PDAs. Or they take eBook readers to read "Electronic Paper". At
TuxMobil there is a section about [http://tuxmobil.org/ebook.html] Linux
compatibility for eBook readers, too.
------------------------------------------------------------------------
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
[http://www.thinworks.com/campaign/try_e3000.html] 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
check for enhanced Perl rewritings of psnup.
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).
* [http://go.warwick.ac.uk/pdfjam] PDFjam is a small collection of
shell scripts that provide a simple interface to some of the
functionality of the pdfpages package for pdfLaTeX. At present, the
utilities available are pdfnup, pdfjoin, and pdf90. PDFjam depends
on a working installation of (pdf)LaTeX. pdfnup puts multiple
document pages together on one physical page at a reduced size.
pdfjoin concatenates multiple PDF documents. pdf90 rotates the pages
of PDF documents. For Mac OS X, some example applications (droplets)
are provided for drag-and-drop access to the scripts.
* Different ink printers are more or less capable to print on the
backside of already used paper sheets. That's particularly useful to
reuse all single sided paper sheets you receive for free every week!
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.
* [http://imagic.weizmann.ac.il/~dov/freesw/impose+/] 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.
* [http://www.hpgs.cjb.net/] 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.
* Besides command line tools for sophisticated printing there are
also usefull GUI applications available. KPrinter opens
automatically when you click on the "Print" icon of any KDE
application. Choose your print job settings by going through the
dialog and the click on the "Print" button. kprinter is a very
versatile tool. Depending on the actual features and power of the
print subsystem of your com- puter, kprinter translates the former's
abilities into a nice and easy-to-understand GUI e.g. if your print
subsystem does not support duplexing, kprinter will not show the
option.
* [http://g-manual-duplex.sourceforge.net/] gnome-manual-duplex is a
utility that adds manual duplex to the "Print" menu.
* [http://www.ecofont.eu/] ecofont is an open source sans serif font
with holes added to save printer ink.
* If you need to print a lot of Web pages from inside your FireFox
webbrowser, the [http://addons.mozilla.org/firefox/951] Nuke
Anything Enhanced extension will help you to save some ink and
paper. Once installed, it adds a "Remove this object" option to the
right-click context menu. Place your mouse over information you
don't need printed (menu bars, big graphical logos and so on) and
use "Remove this object" to zap them temporarily. Clean up the page,
then print just what you need.
Wade 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.
[http://www.mathstat.dal.ca/~selinger/psdim/] psdim is a small utility
to be used in conjunction with pstops. It looks at the contents of a
postscript document to determine the size of the printed pages. From
this, it calculates the optimal placement of the pages for n-up
printing. It outputs a format string suitable for processing by pstops.
Thanks to Ralf Muschall for his suggestions.
------------------------------------------------------------------------
Chapter 6. Recycling of Consumables (Paper, Printer Cartridges, 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 (starting from the 386) and
compatible processors by AMD, Cyrix and others. It also supports a long
list of 32 and 64 bit processors. The whole list can be found in the
arch directory in the Linux kernel sources.
The ARM architecture is a fast AND low-power alternative, used in a
great number of embedded systems (Linux and others). See the
[http://www.arm.linux.org.uk/] ARM Linux Project for a wealth of Linux
resources for ARM.
Linux is also supported on small, cheap and low power processors with
no Memory Management Unit (MMU), provided they are 32 bit ones. See the
[http://uclinux.org/] uClinux project for details.
Mainstream Linux requires at least a 32 bit processor and doesn't
support any 16 bit ones and will never do. However, there are separate
efforts from the [http://elks.sourceforge.net/] ELKS project to reuse
Linux code for the 286 CPU family.
On platforms supported by Linux, or even on some 16 bit processors, you
may also use the [http://ecos.sourceware.org/] eCos operating system.
This is another free, POSIX compatible operating system targeting very
small devices (possibly with real-time requirements).
If you like, you may use [http://www.cs.vu.nl/~ast/minix.html] Minix,
one of the predecessors of Linux. Minix supports 8088 to 286 with as
little as 640K memory.
------------------------------------------------------------------------
8.1.2. Linux Applications for Old Computers
8.1.2.1. RULE
Hardware is only as old as the software it runs.
[http://www.rule-project.org/] RULE wants to make modern Free Software
useable even on 5 or more years old machines, on which current Linux
distributions won't install or run too slowly.
------------------------------------------------------------------------
8.1.2.2. ISDN Router
[http://schumann.cx/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.3. Linux LiveCD Router
[http://www.wifi.com.ar/english/cdrouter.html] Linux LiveCD Router
allows you to share and firewall your broadband connection and use WiFi.
It works with DSL, cable modem, T1, and dial-up connections and supports
inexpensive hardware such as USB and PCMCIA WiFi and ethernet cards.
Hardware requirements: One dedicated computer with the following minimum
specifications: 486 Processor, 16 MBytes of RAM, 2X CDRom reader, floppy
drive, 1 or 2 ethernet cards. NO hard disk! Optionally a WIFI card.
------------------------------------------------------------------------
8.1.2.4. FreeS/WAN
[http://www.freeswan.org/] 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.5. Print Server
A common use for an old computer is running a print server on it.
------------------------------------------------------------------------
8.1.3. Small Linux Distributions for Old Computers
* [http://www.damnsmalllinux.org/] Damn Small Linux - A full featured
Live-CD distribution derived from Knoppix, with a very active
community. It fits within 50 MB and runs fine on a 486 PC with 16 MB
of RAM. Included software: Firefox, xmms, xpdf, Sylpheed, FluxBox
WM, Siag, spreadsheet, Ted word processor... Used a lot on USB
flashdisks too.
* [http://distro.ibiblio.org/pub/linux/distributions/baslinux/] Basic
Linux - The lightest distro for old PCs! It just needs 3 MB of RAM
and 6 MB of disk. Features: X graphics, window manager, clock,
calculator, text based e-mail reader, browser (links), presentations
(MagicPoint), network dial-up... Great for using an old PC as an X
terminal!
* [http://www.puppylinux.org] Puppy Linux Fast and light
distribution. Works great on 10 year old computers. Actively
developed.
* [http://www.delilinux.de/] DeLi Linux - A Linux distribution for
old computers, from 486 to Pentium MMX 166 or so. It's focused on
desktop usage. It includes email clients, a graphical Web browser,
an office package with word processor and spreadsheet, etc. A full
install, including XFree86 and development tools, needs no more than
300 MB of harddisk space.
* [http://sourceforge.net/projects/smalllinux2] Small Linux 2 - A
distribution which is designed to run on old / low-spec PC computers
(386 and 2-3 mb of ram). It consists of two floppy discs
one,containing the kernel and the other the root system. Built upon
uClibc and Busybox.
* [http://www.mepis.org/] MEPISLite - Debian based distribution
targeting PCs that used to run Windows 98 (typically 128 MB of RAM,
2 GB of disk space and a 500 MHZ CPU).
* Using Gentoo on Old Machines
"Old computers don't have to run old software. Old software does
not have it's bugs covered and is bad for security.
Most modern distros will be very sluggish when run on those
machines; not because they use new software, but because they expect
to be run on new machines and may automatically install large
amounts of software. The thrust of
[http://web.archive.org/web/*/http://gentoo-wiki.com/HARDWARE_old]
Gentoo-on-old-hardware is to obtain a light, minimalist system that
runs what you need it to and no more; unlike many proprietary OSes
and the "heavier" distros such as Fedora, Gentoo starts very light
by default."
* [http://www.minix3.org/] Minix - Not a Linux but a UNIX useful for
small systems. Minimum requirements: 386 CPU, 8 MB of RAM, 50 MB of
disk space.
See Wikipedia for
[http://en.wikipedia.org/wiki/List_of_Linux_distributions#Small_or_lightweight_distributions_for_use_with_older_machines]
a longer list of small Linux distributions.
------------------------------------------------------------------------
8.1.4. Dealing with Limited Resources or Tuning the System
This chapter is taken from my [http://tuxmobil.org/howtos.html]
Linux-Mobile-Guide - A Guide for Laptops, PDAs and Mobile Phones.
------------------------------------------------------------------------
8.1.4.1. Related HOWTOs
* [http://tldp.org/HOWTO/Small-Memory/index.html] Small-Memory-HOWTO
Describes how to run Linux on a system with a small amount of
memory.
------------------------------------------------------------------------
8.1.4.2. Introduction
To deal with limited space, memory, CPU speed and battery power, I have
written this chapter.
------------------------------------------------------------------------
8.1.4.3. Small Space
8.1.4.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.4.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 (find it in the Debian perforate
package) . 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
* Sparse files: in the case when files contain blocks with only null
characters, these blocks can be replaced by lseek command calls,
saving space. Applications (and not the operating system) are
responsible for creating or handling such files in a correct way.
For example, both the tar and cp commands have options for handling
sparse files in a correct way. See the
[http://www.lrdev.com/lr/unix/sparsefile.html] this page for more
details and for a sparse command to create such files. In Debian,
you can also use the zum command from the perforate package.
* 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.
* Compressed read-write filesystems:
- There was a project to add compression support to ext2
filesystems: [http://e2compr.sourceforge.net/] e2compr. This project
has a very limited usefulness as it is currently inactive and only
supports very old 2.4 and 2.6 kernel versions. No chance to get a
working patch on the latest 2.4 and 2.6 releases.
- Fortunately, a very serious solution exists in the
[http://en.wikipedia.org/wiki/Comparison_of_file_systems] Reiser4
filesystem which includes a compression plugin. Using compression is
even reported to be faster than not using it. Actual results should
of course vary with the CPU and disk speed, and results might be
disappointing on old machines.
* Compressed read-only filesystems
- The idea is store parts of the system (typically executables and
libraries through the /bin, /sbin and /usr directories) in a
separate, compressed and read-only filesystem. This is great for
saving space and for protecting the system from extern attacks.
However, the constraint is that software upgrades can no longer be
done when the filesystem is mounted. The whole filesystem contents
must be rebuilt and replaced at once.
- [http://en.wikipedia.org/wiki/Cramfs] CramFS was the first
implemented solution, used by many embedded system makers. Though
still maintained, it is dramatically outperformed by SquashFS.
- [http://squashfs.sourceforge.net/] SquashFS is the solution
everyone should use now. Unlike CramFS, it has no limitations on
filesystem and file size, and it achieves much better compression
and read speed (up to 5 times!). On slow storage (like USB flash
drives), replacing ext2 with SquashFS resulting in a 50% reduction
on system boot time (observed in a Linux demo developped by
[http://free-electrons.com] Free Electrons).
* Partition Sharing: You may share swap-space (see Swap-Space-HOWTO)
or data partitions between different OS (see mount).
* C library: use [http://uclibc.org/] uClibc instead of the default
[http://www.gnu.org/software/libc/] GNU C library aka glibc. It
takes approximately 400 KB instead of 1700 (glibc). It used by many
embedded Linux projects as well as by several tiny Linux
distributions. It should satisfy most needs, as the whole Debian 3.0
was ported to it. Caution: if you replace the C library, all
applications also need to be recompiled with a dedicated gcc
toolchain.
* [http://busybox.net/] Busybox - A toolbox implementing most Unix
commands. It takes at most 500 KB instead of approximately 10-30 MB
with GNU implementations! It is used by almost all embedded Linux
projects and small Linux distros. Most commands are implemented,
even vi, wget, a dhcp server and client, and even a http server
sufficient for most needs. Even if some rare command options are not
implemented, even an experienced Unix user hardly makes the
difference with GNU commands!
* Kernel: If your needs are fitted with an older kernel version, you
can save some space.
However, with old kernels, you will miss cool features (such as
real-time preemption, making your system much more responsive) and
support for recent peripherals. It is true that the Linux kernel
accumulated bloat over the years: more features, support for more
special cases... Now that Linux is taking an increasingly dominant
place in embedded systems, work is being done to control the kernel
size. The [http://www.selenic.com/linux-tiny/] LinuxTiny project
releases a set of patches to the Linux kernel sources. In the
Configure Standard Kernel Features for Small Systems kernel
configuration section, you can unselect features you do not need in
a simple computer. The minimum compressed size you can achieve for a
Linux 2.6 kernel for a simple PC is approximately 350 KB. Note that
more and more LinuxTiny changes are now available in the standard
Linux kernel (no patching necessary).
With the latest kernel releases, you may also try the
[http://people.redhat.com/~mingo/realtime-preempt] real-time
preemption patches from Ingo Molnar. When full preemption is
enabled, it adds unprecedented responsiveness to the Linux kernel.
The latency is much reduced, suitable for real real-time systems
(less than 100 us!). It is definitely worth trying on old systems to
give them a new youth and improve the user experience!
* 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 [http://tuxmobil.org/howtos.html] Laptop-HOWTO
------------------------------------------------------------------------
8.1.4.4. Harddisk Speed
Use the tool hdparm to set up better harddisk performance. Though I
have seen laptop disk enabled with stripping, I can't see a reason to do
so, because IMHO aka RAID0 stripping needs at least to different disks
to increase performance.
------------------------------------------------------------------------
8.1.4.5. Small Memory
8.1.4.5.1. Related HOWTOs
* [http://tldp.org/HOWTO/Small-Memory/index.html]
Small-Memory-mini-HOWTO by Todd Burgess
* [http://tldp.org/HOWTO/4mb-Laptops.html] 4MB Laptop-HOWTO by Bruce
Richardson.
* [http://www.tldp.org/HOWTO/Module-HOWTO/] Linux Loadable Kernel
Module HOWTOby Bryan Henderson.
* [http://www.tldp.org/HOWTO/Kerneld/] Kerneld-mini-HOWTO by Henrik
Storner.
------------------------------------------------------------------------
8.1.4.5.2. Techniques
Check the memory usage with free and top.
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 the
[http://tldp.org/HOWTO/Small-Memory/index.html] 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://www.realvnc.com/] VNC .
------------------------------------------------------------------------
8.1.4.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
[http://www.silverace.com/libretto/overclocking.html] Adorable Toshiba
Libretto - Overclocking.
------------------------------------------------------------------------
8.1.4.7. Tiny Applications and Distributions
A small collection yet, but I'm looking for more information.
* [http://www.boa.org/] 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."
* Low Bandwidth X - Alan Cox in LINUX REDUX February 1998: " ...
([http://www.vigor.nu/dxpc/] Differential X Protocol Compressor -
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."
* [http://blackboxwm.sourceforge.net/] Blackbox - "This is a window
manager for X. Ixt 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."
* 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."
* [http://linux.maruhn.com/sec/tinyirc.html] 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."
* [https://www.banu.com/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."
Actually, with the progress of Linux in embedded systems, countless
lightweight applications now exist. A presentation from Free Electrons
tries to list the most popular ones.
------------------------------------------------------------------------
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
[http://en.wikipedia.org/wiki/Super_iron_battery] Iron battery. 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 [http://rick.vanrein.org/linux/badram/] 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. Installing Linux on Older Hardware
[http://web.archive.org/web/*/http://www-128.ibm.com/developerworks/linux/library/l-lwl1/]
Lightweight Linux, Part 1: Hardware is only as old as the software it
runs: a modern operating system and up-to-date applications return an
older system to productivity. This article provides best practices and
step-by-step guidance on how to build a working Linux system on older
hardware or on modern hardware with limited memory and storage.
Purging of uneeded Locales: localepurge for Debian/GNU Linux is just a
simple script to recover disk space wasted for unneeded locale files and
localized man pages. Depending on your installation, it is possible to
save some 20, 30, or even more megabytes of disk space usually dedicated
for locales you'll probably never have any usage for.
------------------------------------------------------------------------
8.5. Upgrading and Repairing Computer Hardware and Communication Devices
Usually manufacturers declare the warranty to be void if the case was
opened by people other than their own staff. If you want to try it
anyway you may find some interesting links about how to
[http://repair4laptop.org/] repair, disassemble, upgrade or mod laptops
or notebooks, [http://repair4pda.org/] repair broken PDAs and HandHelds,
as well as [http://repair4mobilephone.org/] repair mobile (cellular)
phones, [http://repair4player.org/] repair portable audio and video
players, [http://repair4mouse.org/] repair, clean and mod a computer
mouse, [http://repair4printer.org/] repair printers, ink and toner
cartridges, [http://repair4harddisk.org/] repair hard disk drives,
[http://repair4keyboard.org/] repair and clean computer keyboards and
[http://repair4gps.org/] repair and mod GPS navigation devices and
[http://repair4pc.org/] repair personal computers - PCs.
BTW: here are some non-computer related links to guides explaining,
how to [http://repair4camera.org/] repair (digital) cameras,
[http://repair4car.org/] repair cars.
------------------------------------------------------------------------
8.6. 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. Using Linux on non-PC Hardware
As mentioned in the previous chapter, Linux can be run on non-PC
architectures. This is particularly useful for the small applications
old PCs can be used for. Recent netbooks either ARM-based or MIPS-based
provide an even smaller power footprint. Check [http://moblin.org/]
moblin Linux, which is dedicated to such machines.
------------------------------------------------------------------------
9.1. Using Consumer Electronics Devices
Linux is increasingly used in Consumer Electronics (CE) devices, in
particular in network appliances such as Wifi routers, DSL modems,
Network Attached Storage (NAS) servers, IP cameras and other small
devices.
Thanks to the GNU GPL license, kernel and application source code for
these devices are freely available. More and more device owners are
taking advantage of this to develop other uses for these devices. Thanks
to the progress of Linux in embedded systems, making its own embedded
system is increasingly easy.
Using such devices instead of regular PCs yields many advantages: much
lower power consumption, no noise (no fans), built with much fewer
materials (small size), and much lower cost (for your purse and for the
environment).
* [http://www.nslu2-linux.org/] NSLU2-Linux - A community of people
running Linux on the Linksys NSLU2 device. This device is originally
a Network Attached Storage server, featuring a 266 MHz ARM CPU, 8MB
of flash, 32MB of SDRAM and a rich connectivity: Connectivity: USB
(for attached storage), Ethernet and a serial port. That's all you
need in a versatile Linux computer. Many different
[http://www.nslu2-linux.org/wiki/Applications/HomePage] cool
applications are listed by the project.
The NSLU2 device is still available in the shops on all continents,
for a very cheap price: approximately 90 EUR or 90 US Dollars. This
makes this device extremely popular!
* [http://openwrt.org/] OpenWRT - A project to run Linux on WiFi
routers based on the Linksys WRT chipset. A typical configuration
includes a 125 to 200 MHz ARM CPU, 4 MB of flash, 16 MB of RAM, and
Ethernet, WiFi, serial port (often) and a USB host port (often).
Devices based on the Linksys WRT chipset are available for sale on
all continents, costing between 50 and 100 EUR / US Dollars. They
are very popular too!
In a nutshell, do not buy a new PC for small applications. Reuse your
old computers or buy a consumer device on which you can run Linux!
------------------------------------------------------------------------
9.2. Using Embedded Linux Boards
Instead of using a PC, or even instead reusing a consumer device, you
may also create your own system using dedicated embedded system boards.
Because of lower volumes, such boards may be a bit more expensive, but
they can achieve much reduced size and power consumption. Both low and
higher volumes are available too.
Here are a few noteworthy examples:
* [http://www.picotux.com/] Picotux - The smallest Linux computer in
the world, only slighly larger than a RJ45 connector. Pretty cheap
too.
* [http://gumstix.com/] Gumstix - Small, affordable embedded boards
with the size of a gumstick. Backed by an active community too.
See this [http://free-electrons.com/community/hardware/boards/]
independent list of interesting board suppliers for more details.
------------------------------------------------------------------------
Chapter 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 [http://www.x10.com] 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 GtkX10 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).
[http://www.joethielen.com/phantom/home/] 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).
More details on this topic are available on the
[http://www.linuxha.com/] Linux Home Automation website.
Turn that light off when not in use!
------------------------------------------------------------------------
Chapter 11. Uninterruptible Power Supply - UPS
You should use a protection against lightening and power surges or 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 [http://tldp.org/HOWTO/UPS-HOWTO.html] UPS-HOWTO.
For desktop PCs, in areas prone to lightening or power outages, UPSs
could save hours of work each week, potentially translating into power
savings. However, 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.
UPSs also contain batteries with a high environmental cost. So, just
use a UPS when really needed and when benefits outweight environmental
costs. For example, if you are using a notebook, a much cheaper surge
protection is enough thanks to your battery.
People have also reported issues using unreliable power sources, for
example in trains. Make sure you use a surge protection device then!
------------------------------------------------------------------------
Chapter 12. Games
Personally I'm not much a player of computer games but maybe 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
[http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life] 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."
* [http://www.sierra.com] 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 [http://www.erasmatazz.com/free.html]
Crawford's website.
* 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 13. Ecology Software (Simulation, Data Collection, 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
[http://ecolab.sourceforge.net/] Ecolab is both the name of a software
package and a research project that is looking at the dynamics of
evolution. 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. Tierra
[http://life.ou.edu/tierra/] Tierra by Tom Ray is a tool for studying
digital evolution and ecology that runs on Linux and other OSes.
------------------------------------------------------------------------
13.3. Linux in Environmental Research
Courtesy of Wade 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 [http://www.uclinux.com] 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. [http://www.beowulf.org] beowulf clusters have been used to
run complex simulations of environmental processes, for example
Earthdome, listed in the [http://www.beowulf.org/overview/projects.html]
Beowulf projects page.
------------------------------------------------------------------------
13.4. SWARM
[http://www.swarm.org] 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.5. Climate-Dynamics
Linux clusters are used in climate modeling, for example in the
[http://www.climate.unibe.ch/CCSM/renold04eos.pdf] University of Bern
in Switzerland.
------------------------------------------------------------------------
13.6. UNCERT
[http://www.uncert.com/] 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.7. EcoTopia
The [http://www.ecotopia.org] 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.
------------------------------------------------------------------------
13.8. Digiqual
[http://sourceforge.net/projects/digiqual/] Digiqual is a package to
manage a quality and environmental control system for a factory. The
package consists of six modules, but only the first module has been
released. The modules are Supplier Evaluation, Non Conformity,
Documentation, Maintenance, and Internal Audit, and Training. All data
are stored in a PostgreSQL database by the psycopg connector.
------------------------------------------------------------------------
Chapter 14. 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 .
* [http://www.repairfaq.org] Repair FAQ .
* [http://www.celinuxforum.org/] CE Linux Forum is a non profit
consortium of embedded system makers (such as Sony, Panasonic,
Philips...) which works to develop the suitability of Linux as an
operating system for Consumer Electronics (CE) devices.
[http://tree.celinuxforum.org/CelfPubWiki/FrontPage] Its Wiki is
full of useful resources for embedded system makers to reduce size,
power consumption, and to increase speed. You may find lots of
interesting ideas and resources there. Free Electrons has a
[http://free-electrons.com/articles/optimizations] overview
presentation summarizing these ideas and resources.
* "The [http://egj.lib.uidaho.edu/] 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 [http://www.ban.org] 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.
* [http://www.svtc.org/] 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.
* Non-profit [http://www.freegeek.org/] Free Geek turns old PCs and
laptops into Linux boxes and gives them to poor people. Any computer
equipment, working or not, can be donated to Free Geek. They will
repair and reuse what computers they can. Non-functioning computers
and scrap will be recycled responsibly.
* [http://www.vnunet.com/vnunet/news/2192333/green-linux-attack-power]
VuNet "The Linux Foundation has formed a Green Linux initiative to
focus on reducing the open source operating system's power
consumption..."
* Whitepaper:
[http://www.ibm.com/developerworks/linux/library/l-green-linux/index.html]
Linux: Lean, clean, and green - How GNU/Linux is becoming more
eco-friendly: "Green IT is one of the hottest of today's technology
trends, and the GNU/Linux community has risen to the challenge.
Along with several corporate partners, the GNU/Linux operating
system provides solutions for dealing with power consumption, carbon
emissions, and e-waste."
* Whitepaper:
[http://www-128.ibm.com/developerworks/linux/library/l-linux-memory.html?ca=dgr-lnxw02LinuxMemory]
Reduce your Linux memory footprint - A few tweaks can boost
performance: "In this article, learn how to accurately measure the
amount of memory your Linux system uses. You also get practical
advice on reducing your memory requirements using an Ubuntu system
as an example..."
* Whitepaper:
[http://www.ibm.com/developerworks/opensource/library/os-smart-monitors/index.html]
Reduce Power Consumption Through Smart Activity Monitors: "Advanced
Configuration and Power Interface (ACPI) and the power configuration
systems built into moderncomputers provide a wide range of options
for reducingoverall power consumption. Linux and its associateduser
space programs have many of the tools necessary tomaster your PC
power consumption in a variety of contexts."
* Whitepaper:
[http://www.ibm.com/developerworks/linux/library/l-cpufreq-1/index.html]
Reduce Linux power consumption, Part 1: The CPUfreq subsystem "This
three-part series is your starting point for tuning your system for
power efficiency. In Part 1, get up to speed on the components and
concepts you need to fine-tune a Linux-based System x server for
power efficiency. Learn how to enable the Linux CPUfreq subsystem,
get instruction on C and P states, and determine which of the five
in-kernel governors you need to boost power efficiency on your
system."
* Whitepaper:
[http://www.ibm.com/developerworks/linux/library/l-recycle-hardware/]
Three ways to recycle commodity hardware with Linux - Creating Linux
appliances with spare parts: "Outdated computer hardware may be too
old to rely on, but it represents a value to your
organizationwhether in an office or at home. Discover how you can
realize that value by repurposing older machines with Linux."
*
[http://web.archive.org/web/*/http://www-128.ibm.com/developerworks/linux/library/l-lwl1/]
Lightweight Linux, Part 1: Hardware is only as old as the software
it runs: a modern operating system and up-to-date applications
return an older system to productivity. This article provides best
practices and step-by-step guidance on how to build a working Linux
system on older hardware or on modern hardware with limited memory
and storage.
* Whitepaper:
[http://www.osor.eu/case_studies/airaware-managing-the-skies-of-bucharest-using-free-software]
http://www.osor.eu/case_studies/airaware-managing-the-skies-of-bucharest-using-free-software:
"In 2005 the Romanian National Meteorological Administration (NMA)
received EU funding for its AirAware project. The project's
objective was to improve the air quality monitoring system currently
in place and to enhance the system with forecasting capabilities.
For the management of all the information and the presentation
thereof, the team at the NMA developed a portal that is entirely
built on Free/Libre Open Source Software. In the future, the team is
hoping to open the project to the public."
* The German [http://www.prtr.bund.de/] PRTR - Pollutant Release and
Transfer Register provides data about environmental pollution. The
data are stored with Open Source software and presented with
OpenStreepMap.
* Whitepaper: [http://www.weed-online.org/publikationen/2353772.html]
Buy IT fair - Leitfaden zur sozial-ökologischen Beschaffung von
Computern: This German guide gives assistance for local governments
when buying IT.
------------------------------------------------------------------------
Chapter 15. 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>
* Manuel Palomo Duarte <manuel.palomo at uca.es>
* Richie Gan <csardas at gate.sinica.edu.tw>
* [http://bogmog.sourceforge.net] Andreas Gohr <a.gohr at web.de>
* Jeandre <jeandre at techie.com>
* Wade Hampton <wadehamptoniv at gmail.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>
* Volodymyr M. Lisivka <vlisivka at gmail.com>
* Verena Lorenz-Meyer
* [http://www.msquared.id.au/] M²
* 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>
* Michael Opdenacker, for tips and tricks about PDAs and moral
support [http://free-electrons.com/] Free-Electrons
* Klaus Peichl <pei at iis.fhg.de>
* Mathieu Peyrega <mathieu.peyrega at orange.fr>;
[http://www.incub.net/] IncuB
* 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 16. Revision History
* 0.1, 18 June 1999, first draft
* 0.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
* 0.3, 17 September 1999, added information about Tierra, added
information about wasting of resources during computer production,
added some comments about UPS, minor changes
* 0.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
* 0.5, 04 January 2000, some additional information about PostScript
utilities, new chapter Caveats, URL corrections and minor changes
* 0.6, 01 March 2000, link to Japanese translation added and some
spell checking (thanks to Jun Morimoto), correction of URLs
* 0.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
* 0.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
* 0.9, 27 February 2003, some links corrected (TuxMobil.org,
tldp.org), minor changes
* 0.10, 22 November 2003, conversion to XML, some remarks about the
ecological comparison between laptops and desktops were added, minor
changes
* 0.11, 23 March 2004, conversion to XML, some remarks about the
ecological comparison between laptops and desktops were added, minor
changes
* 0.12, 27 July 2005, Added a chapter about "Installing Linux on
Older Hardware", bumped to DocBook 4.2, minor changes.
* 0.13, 9 February 2006, All URLs have been checked and some minor
changes were made.
* 0.14, 12 March 2006, A link to ledcontrol has been added and some
minor changes were made.
* 0.15, 11 May 2006, Many updates, hyperlinks to existing resources
and additions by Michael Opdenacker ([http://free-electrons.com/]
Free Electrons). Most added ideas and resources come from the
embedded Linux system development community.
* 0.16, 24 October 2006, Some link and spell checking has been done.
* 0.17, 30 May 2007, A short description of Intel's LinuxPowerTop
project has been added to the Powermanagement section, the Nuke
Anything Enhanced FireFox extension and kprinter are now mentioned
in the Printer section, some minor enhancements have been done and
all URLs have been checked.
* 0.18, 19 June 2007, A new chapter about using spare CPU cycles has
been added, the Green Linux initiative of the Linux Foundation has
been mentioned, and the abstract has been made more precise.
* 0.19, 22 June 2007, Some information about energy-efficient
products and standards has been added.
* 0.20, 28 September 2009, All URLs have been checked, and many minor
enhancements have been made.
------------------------------------------------------------------------
Appendix A. Appendix A - Linux with Laptops
A.1. Ecological Comparisons of Computers
Scientists of [http://www.reuse-computer.de/] ReUse project located at
the [http://www.tu-berlin.de/] 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 [http://heise.de/ct/] C't 21/ 2003.
------------------------------------------------------------------------
A.2. Battery
Has to be written. See
[http://tldp.org/HOWTO/Battery-Powered/index.html]
Battery-Powered-mini-HOWTO , too.
------------------------------------------------------------------------
A.3. PCMCIA Card Services and Advanced Power Management
Quoted from the [http://tldp.org/HOWTO/PCMCIA-HOWTO.html]
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 [http://www.silverace.com/libretto/] Adorable Toshiba
Libretto.
* For information about APM look at the APM chapter above.
* [http://www-leland.stanford.edu/~bbense/toys/] A hacked rclock.
Booker C. Bense has hacked the rclock program to include a simple
battery power meter on the clock face.
* [http://www.kde.org/] KDE 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 [http://www.gnome.org/] GNOME project . See the software maps at
both sites.
* Please see [http://tldp.org/HOWTO/Battery-Powered/index.html]
Battery-Powered-mini-HOWTO 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 [http://www.heise.de/ct/] 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. [http://www.mp3pump.de/english/index.html] Authors
Homepage .
Also mentioned there, is a software by
[http://leute.server.de/peichl/mpegcd.htm] 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.
[http://cajun.sourceforge.net/] 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 [http://www.matrixorbital.com/] MatrixOrbital 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)
[http://www.heise.de/ct/] CT .
------------------------------------------------------------------------
Appendix D. Appendix D - Recommendations for Buying a New Computer
Courtesy of Wade 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
[http://eande.lbl.gov/] 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 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 [http://www.telepolis.de/tp/deutsch/inhalt/te/1367/1.html] 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
* [http://www.energystar.gov.au/] ENERGY STAR Australia Home Page
* [http://www.blauer-engel.de/] Blauer-Engel.de
* [http://www.svanen.nu/Eng/] SIS Ecolabelling, The Swan, Nordic
ecolabel
* [http://www.eco-label.com/] Eco-Label
* [http://www.eccj.or.jp/top_runner/index.html] Top Runner - Energy
Conservation Center,Japan / Top Runner Program REVISED EDITION/OCT
2006
* [http://www.gealabel.org/About.htm] GEEA -Group for Energy Efficient
Appliances
* [http://www.unescap.org/esd/energy/publications/psec/guidebook-part-two-standby-power.htm#244]
Swiss ordinances on standby power
* [http://www.mtprog.com/] Market Transformation Programme -
Supporting UK Government policy on sustainable products
------------------------------------------------------------------------
Appendix G. Appendix G - Other Operating Systems
G.1. DOS
To my surprise there are still many tools available to make an old 286
PC useful. I started a search for 286 at [http://www.simtel.net/]
Simtel.Net and found many useful shareware programs. For instance:
* [http://www.simtel.net/product.php?id=47316] Full-featured LAN for
MSDOS computers, 286+req
* [http://www.simtel.net/product.php?id=48441] RoseMail, PCBoard
offline mail, 8086/286 exe's
* [http://www.simtel.net/product.php?id=50547] Multitasking/multiuser
environment for 286-586
There is even a free DOS around, see [http://www.500mhz.net/ndx.html]
The OS Developers Homepage and [http://www.freeos.com] The FreeOS page.
------------------------------------------------------------------------
Appendix H. Appendix H - URLs of Recyclers
* [http://www.remedia.de/] REMEDIA - Germany - recycling of data
storage media (CD, floppy, tape)
* [http://www.alcad.com/site_map.htm] ALCAD - worldwide - Ni-Cd
Battery Recycling
* [http://www.cd-collect.com/] CD-COLLECT - CD recycling
* [http://www.rbrc.org/] 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 [http://www.epba-europe.org/] 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.
* [http://www.batterycouncil.org/] 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.
When computer waste processing channels are not available yet in your
country, or are just not mature enough yet, another idea is too keep
your computer waste a few more years in your attic or in your cellar
(provided you have storage space). Better processing channels and
recycling technologies will become available over the years.
In some countries like France (and probably in the whole European
Union), local law makes it mandatory for consumer device shops to accept
old devices for free when you buy a new one, to ensure suitable
processing or recycling of waste.