1113 lines
23 KiB
HTML
1113 lines
23 KiB
HTML
<HTML
|
|
><HEAD
|
|
><TITLE
|
|
>Extending the Life Cycle of your Hardware</TITLE
|
|
><META
|
|
NAME="GENERATOR"
|
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
|
|
REL="HOME"
|
|
TITLE="Linux Ecology-HOWTO"
|
|
HREF="book1.htm"><LINK
|
|
REL="PREVIOUS"
|
|
TITLE="Reduction of Radiation, Electro Magnetic Fields, Heat"
|
|
HREF="c391.htm"><LINK
|
|
REL="NEXT"
|
|
TITLE="Other Techniques"
|
|
HREF="x629.htm"></HEAD
|
|
><BODY
|
|
CLASS="chapter"
|
|
BGCOLOR="#FFFFFF"
|
|
TEXT="#000000"
|
|
LINK="#0000FF"
|
|
VLINK="#840084"
|
|
ALINK="#0000FF"
|
|
><DIV
|
|
CLASS="NAVHEADER"
|
|
><TABLE
|
|
SUMMARY="Header navigation table"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TH
|
|
COLSPAN="3"
|
|
ALIGN="center"
|
|
>Linux Ecology-HOWTO</TH
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="left"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="c391.htm"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="center"
|
|
VALIGN="bottom"
|
|
></TD
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="right"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="x629.htm"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"></DIV
|
|
><DIV
|
|
CLASS="chapter"
|
|
><H1
|
|
><A
|
|
NAME="ecology-howto-lifecycle"
|
|
></A
|
|
>Chapter 8. Extending the Life Cycle of your Hardware</H1
|
|
><DIV
|
|
CLASS="TOC"
|
|
><DL
|
|
><DT
|
|
><B
|
|
>Table of Contents</B
|
|
></DT
|
|
><DT
|
|
><A
|
|
HREF="c402.htm#ecology-howto-lifecyle-hardware"
|
|
>Recycling of Hardware</A
|
|
></DT
|
|
><DT
|
|
><A
|
|
HREF="x629.htm"
|
|
>Other Techniques</A
|
|
></DT
|
|
><DT
|
|
><A
|
|
HREF="x633.htm"
|
|
>Linux BadRAM Patch</A
|
|
></DT
|
|
><DT
|
|
><A
|
|
HREF="x637.htm"
|
|
>Installing Linux on Older Hardware</A
|
|
></DT
|
|
><DT
|
|
><A
|
|
HREF="x643.htm"
|
|
>Upgrading and Repairing Hardware</A
|
|
></DT
|
|
><DT
|
|
><A
|
|
HREF="x652.htm"
|
|
>Other Operating Systems</A
|
|
></DT
|
|
></DL
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect1"
|
|
><H1
|
|
CLASS="sect1"
|
|
><A
|
|
NAME="ecology-howto-lifecyle-hardware"
|
|
></A
|
|
>Recycling of Hardware</H1
|
|
><P
|
|
> The commercial computer market is largely driven by vendors seeking to sell new hardware and software. There is no commercial marketing benefit in promoting reuse.
|
|
</P
|
|
><P
|
|
> Hence Linux doesn't require big hardware, it's very useful if you like or need to use old and small hardware.
|
|
</P
|
|
><DIV
|
|
CLASS="sect2"
|
|
><H2
|
|
CLASS="sect2"
|
|
><A
|
|
NAME="AEN408"
|
|
></A
|
|
>Supported CPU Families</H2
|
|
><P
|
|
> Linux runs on Intel-compatible processors, including Intel's 386, 486, Pentium, Pentium Pro and Pentium II, and compatible processors by AMD, Cyrix and others.
|
|
|
|
Linux doesn't support the 286 CPU family yet. But there are some efforts from
|
|
the <A
|
|
HREF="http://elks.sourceforge.net/"
|
|
TARGET="_top"
|
|
>ELKS</A
|
|
> project.
|
|
|
|
|
|
|
|
If you like, you may use <A
|
|
HREF="http://www.cs.vu.nl/~ast/minix.html"
|
|
TARGET="_top"
|
|
>Minix</A
|
|
> one of the predecessors of Linux. Minix supports 8088 to 286 with as little as 640K memory.
|
|
|
|
Of course there are also ports to other systems, such as ALPHA, PowerPC, etc.
|
|
For details about systems which are supported by the Linux Kernel, see the
|
|
<A
|
|
HREF="http://tldp.org/FAQ/Linux-FAQ/index.html"
|
|
TARGET="_top"
|
|
>Linux-FAQ</A
|
|
> .
|
|
|
|
|
|
The ARM is a fast AND low-power alternative. For example, the Corel/Rebel Netwinder is based on the ARM processor see
|
|
<A
|
|
HREF="http://www.rebel.com"
|
|
TARGET="_top"
|
|
>Rebel</A
|
|
> and
|
|
<A
|
|
HREF="http://developer.intel.com/design/strong/"
|
|
TARGET="_top"
|
|
>Strong-ARM</A
|
|
>.
|
|
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect2"
|
|
><H2
|
|
CLASS="sect2"
|
|
><A
|
|
NAME="AEN416"
|
|
></A
|
|
>Linux Applications and Distributions for Old Computers</H2
|
|
><DIV
|
|
CLASS="sect3"
|
|
><H3
|
|
CLASS="sect3"
|
|
><A
|
|
NAME="AEN418"
|
|
></A
|
|
>RULE</H3
|
|
><P
|
|
> Hardware is only as old as the software it runs.
|
|
<A
|
|
HREF="http://www.rule-project.org/"
|
|
TARGET="_top"
|
|
>RULE</A
|
|
>
|
|
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.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect3"
|
|
><H3
|
|
CLASS="sect3"
|
|
><A
|
|
NAME="AEN422"
|
|
></A
|
|
>ISDN Router</H3
|
|
><P
|
|
> <A
|
|
HREF="http://schumann.cx/isdn-router/"
|
|
TARGET="_top"
|
|
>ISDN Router</A
|
|
> 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.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect3"
|
|
><H3
|
|
CLASS="sect3"
|
|
><A
|
|
NAME="AEN426"
|
|
></A
|
|
>Linux LiveCD Router</H3
|
|
><P
|
|
> <A
|
|
HREF="http://www.wifi.com.ar/english/cdrouter.html"
|
|
TARGET="_top"
|
|
>Linux LiveCD Router</A
|
|
>
|
|
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.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect3"
|
|
><H3
|
|
CLASS="sect3"
|
|
><A
|
|
NAME="AEN430"
|
|
></A
|
|
>DeLi Linux</H3
|
|
><P
|
|
> <A
|
|
HREF="http://www.delilinux.de/"
|
|
TARGET="_top"
|
|
>DeLi Linux</A
|
|
>
|
|
is 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.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect3"
|
|
><H3
|
|
CLASS="sect3"
|
|
><A
|
|
NAME="AEN434"
|
|
></A
|
|
>Using Gentoo on Old Machines</H3
|
|
><P
|
|
> "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 <A
|
|
HREF="http://gentoo-wiki.com/HARDWARE_old"
|
|
TARGET="_top"
|
|
>Gentoo-on-old-hardware</A
|
|
>
|
|
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."
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect3"
|
|
><H3
|
|
CLASS="sect3"
|
|
><A
|
|
NAME="AEN438"
|
|
></A
|
|
>FreeS/WAN</H3
|
|
><P
|
|
> <A
|
|
HREF="http://www.freeswan.org/"
|
|
TARGET="_top"
|
|
>Linux FreeS/WAN</A
|
|
> 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.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect3"
|
|
><H3
|
|
CLASS="sect3"
|
|
><A
|
|
NAME="AEN442"
|
|
></A
|
|
>Print Server</H3
|
|
><P
|
|
> A common use for an old computer is running a print server on it.
|
|
</P
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect2"
|
|
><H2
|
|
CLASS="sect2"
|
|
><A
|
|
NAME="AEN445"
|
|
></A
|
|
>Dealing with Limited Resources or Tuning the System</H2
|
|
><P
|
|
> This chapter is taken from my
|
|
<A
|
|
HREF="http://tuxmobil.org/howtos.html"
|
|
TARGET="_top"
|
|
>Linux-Mobile-Guide - A Guide for Laptops, PDAs and Mobile Phones</A
|
|
>.
|
|
</P
|
|
><DIV
|
|
CLASS="sect3"
|
|
><H3
|
|
CLASS="sect3"
|
|
><A
|
|
NAME="AEN449"
|
|
></A
|
|
>Related HOWTOs</H3
|
|
><P
|
|
>
|
|
<P
|
|
></P
|
|
><UL
|
|
><LI
|
|
><P
|
|
> <A
|
|
HREF="http://tldp.org/HOWTO/LBX.html"
|
|
TARGET="_top"
|
|
>LBX-HOWTO</A
|
|
>
|
|
LBX (Low Bandwidth X) is an X server extension which performs compression on
|
|
the X protocol. It is meant to be used in conjunction with X applications and
|
|
an X server which are separated by a slow network connection, to improve
|
|
display and response time.
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> <A
|
|
HREF="http://tldp.org/HOWTO/Small-Memory/index.html"
|
|
TARGET="_top"
|
|
>Small-Memory-HOWTO</A
|
|
>
|
|
Describes how to run Linux on a system with a small amount of memory.
|
|
</P
|
|
></LI
|
|
></UL
|
|
>
|
|
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect3"
|
|
><H3
|
|
CLASS="sect3"
|
|
><A
|
|
NAME="AEN459"
|
|
></A
|
|
>Introduction</H3
|
|
><P
|
|
> To deal with limited space, memory, CPU speed and battery power, I have written this chapter.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect3"
|
|
><H3
|
|
CLASS="sect3"
|
|
><A
|
|
NAME="AEN462"
|
|
></A
|
|
>Small Space</H3
|
|
><DIV
|
|
CLASS="sect4"
|
|
><H4
|
|
CLASS="sect4"
|
|
><A
|
|
NAME="AEN464"
|
|
></A
|
|
>Introduction</H4
|
|
><P
|
|
> There are different types of techniques to gain more disk space, such as sharing of space, freeing unused or redundant space, filesystem tuning and compression. Note: some of these techniques use memory instead of space. As you will see, there are many small steps necessary to free some space.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect4"
|
|
><H4
|
|
CLASS="sect4"
|
|
><A
|
|
NAME="AEN467"
|
|
></A
|
|
>Techniques</H4
|
|
><P
|
|
>
|
|
<P
|
|
></P
|
|
><UL
|
|
><LI
|
|
><P
|
|
> Stripping: Though many distributions come with stripped binaries today it is useful to check this. For details see <B
|
|
CLASS="command"
|
|
>man strip</B
|
|
>. To find every unstripped file you can use the <B
|
|
CLASS="command"
|
|
>file</B
|
|
> command or more convenient the tool <B
|
|
CLASS="command"
|
|
>findstrip</B
|
|
>. Attention: don't strip libraries, sometimes the wrong symbols are removed due to a bad programming technique.
|
|
</P
|
|
><P
|
|
> A recommendation from Russell Marks <rus at beeb.net>:
|
|
</P
|
|
><P
|
|
> These days a lot of people compile with <B
|
|
CLASS="command"
|
|
>-g</B
|
|
>, which I find a bit annoying (though AFAIK this <B
|
|
CLASS="command"
|
|
>only</B
|
|
> loses you disk space, in practice).
|
|
</P
|
|
><P
|
|
> <B
|
|
CLASS="command"
|
|
>strip</B
|
|
> has a <B
|
|
CLASS="command"
|
|
>--strip-debug</B
|
|
> 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 <B
|
|
CLASS="command"
|
|
>live</B
|
|
> example:
|
|
|
|
<PRE
|
|
CLASS="programlisting"
|
|
> 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
|
|
</PRE
|
|
>
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> Perforation: <B
|
|
CLASS="command"
|
|
>zum(1)</B
|
|
>reads a file list on stdin and
|
|
attempts to perforate these files. Perforation means, that series of
|
|
null bytes are replaced by <B
|
|
CLASS="command"
|
|
>lseek</B
|
|
>, thus giving the
|
|
file system a chance of not allocating real disk space for those bytes.
|
|
Example: <B
|
|
CLASS="command"
|
|
>find . -type f | xargs zum</B
|
|
>.
|
|
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> 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
|
|
<B
|
|
CLASS="command"
|
|
>patch</B
|
|
> recovery files. Find duplicates, you may try
|
|
<B
|
|
CLASS="command"
|
|
>finddup</B
|
|
>. Choose a system to name your backup,
|
|
temporary and test files, e.g. with a signature at the end.
|
|
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> Clean Temporary Files: , e.g. <TT
|
|
CLASS="filename"
|
|
>/tmp</TT
|
|
>, there is even a tool <B
|
|
CLASS="command"
|
|
>tmpwatch</B
|
|
>.
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> Shorten the Log Files: usually the files in <TT
|
|
CLASS="filename"
|
|
>/var/log</TT
|
|
>. There are some nice helpers for this task around, e.g. <B
|
|
CLASS="command"
|
|
>savelog</B
|
|
> .
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>
|
|
Remove Files: Remove files which are not "necessary"
|
|
under all circumstances such as man pages, documentation
|
|
<TT
|
|
CLASS="filename"
|
|
>/usr/doc</TT
|
|
> and sources e.g.
|
|
<TT
|
|
CLASS="filename"
|
|
>/usr/src</TT
|
|
> .
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>
|
|
Unnecessary Libraries: You may use the <B
|
|
CLASS="command"
|
|
>binstats</B
|
|
>
|
|
package to find unused libraries (Thanks to Tom Ed White).
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> Filesystem: Choose a filesystem which treats disk space
|
|
economically e.g. <B
|
|
CLASS="command"
|
|
>rsfs</B
|
|
> aka Reiser Filesystem.
|
|
Tune your filesystem e.g. <B
|
|
CLASS="command"
|
|
>tune2fs</B
|
|
>. Choose an
|
|
appropriate partition and block size.
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>
|
|
Reduce Kernel Size: Either by using only the necessary kernel
|
|
features and/or making a compressed kernel image
|
|
<B
|
|
CLASS="command"
|
|
>bzImage</B
|
|
>.
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>
|
|
Compression: I didn't check this but AFAIK you may compress
|
|
your filesystem with <B
|
|
CLASS="command"
|
|
>gzip</B
|
|
> and decompress
|
|
it on the fly. Alternatively you may choose to compress only
|
|
certain files. You can even execute compressed files with
|
|
<B
|
|
CLASS="command"
|
|
>zexec</B
|
|
>
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> Compressed Filesystems:
|
|
</P
|
|
><P
|
|
> - For e2fs filesystems there is a compression version available
|
|
<B
|
|
CLASS="command"
|
|
>e2compr</B
|
|
> , see <A
|
|
HREF="http://e2compr.sourceforge.net/"
|
|
TARGET="_top"
|
|
>e2compr</A
|
|
> .
|
|
</P
|
|
><P
|
|
> - <A
|
|
HREF="http://cmp.felk.cvut.cz/~pisa/dmsdos/"
|
|
TARGET="_top"
|
|
>DMSDOS</A
|
|
> which enables your machine to access Windows95 compressed drives (drivespace, doublestacker). If you don't need DOS/Windows95 compatibility, i.e. if you want to compress Linux-only data, this is really discouraged by the author of the program. See
|
|
|
|
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>
|
|
Partition Sharing: You may share swap-space (see
|
|
Swap-Space-HOWTO) or data partitions between different OS
|
|
(see <B
|
|
CLASS="command"
|
|
>mount</B
|
|
>). For mounting MS-DOS
|
|
Windows95 compressed drives (doublespace, drivespace) you
|
|
may use <B
|
|
CLASS="command"
|
|
>dmsdos</B
|
|
>
|
|
<A
|
|
HREF="http://metalab.unc.edu/pub/Linux/system/filesystems/dosfs/"
|
|
TARGET="_top"
|
|
>http://metalab.unc.edu/pub/Linux/system/filesystems/dosfs/</A
|
|
>.
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> Libraries: Take another (older) library, for instance <B
|
|
CLASS="command"
|
|
>libc5</B
|
|
> , this library seems to be smaller than <B
|
|
CLASS="command"
|
|
>libc6</B
|
|
> aka <B
|
|
CLASS="command"
|
|
>glibc2</B
|
|
> .
|
|
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>
|
|
Kernel: If your needs are fitted with an older kernel version, you can save some space.
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>
|
|
GUI: Avoid as much Graphical User Interface (GUI) as possible.
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> 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 <A
|
|
HREF="http://tuxmobil.org/howtos.html"
|
|
TARGET="_top"
|
|
>Laptop-HOWTO</A
|
|
>
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>
|
|
<A
|
|
HREF="http://www.innominate.org/~phillips/tailmerge/"
|
|
TARGET="_top"
|
|
>Tailmerging</A
|
|
> for Ext2: Tailmerging is a technique that helps save space on a filesystem with large blocks and many small files. Tailmerging for Ext2 is an experimental extension for ext2 that packs together tail blocks of several files into a shared block.
|
|
|
|
</P
|
|
></LI
|
|
></UL
|
|
>
|
|
|
|
</P
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect3"
|
|
><H3
|
|
CLASS="sect3"
|
|
><A
|
|
NAME="AEN547"
|
|
></A
|
|
>Harddisk Speed</H3
|
|
><P
|
|
> Use the tool <B
|
|
CLASS="command"
|
|
>hdparm</B
|
|
> to set up better harddisk performance. Though I have seen laptop disk enabled with <B
|
|
CLASS="command"
|
|
>striping</B
|
|
>, I can't see a reason to do so, because IMHO aka RAID0 striping needs at least to different disks to increase performance.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect3"
|
|
><H3
|
|
CLASS="sect3"
|
|
><A
|
|
NAME="AEN552"
|
|
></A
|
|
>Small Memory</H3
|
|
><DIV
|
|
CLASS="sect4"
|
|
><H4
|
|
CLASS="sect4"
|
|
><A
|
|
NAME="AEN554"
|
|
></A
|
|
>Related HOWTOs</H4
|
|
><P
|
|
>
|
|
<P
|
|
></P
|
|
><UL
|
|
><LI
|
|
><P
|
|
>
|
|
Small-Memory-mini-HOWTO by Todd Burgess <tburgess at
|
|
uoguelph.ca > <A
|
|
HREF="http://eddie.cis.uoguelph.ca/~tburgess"
|
|
TARGET="_top"
|
|
> http://eddie.cis.uoguelph.ca/~tburgess</A
|
|
>
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>
|
|
<A
|
|
HREF="http://tldp.org/HOWTO/4mb-Laptops.html"
|
|
TARGET="_top"
|
|
>4MB Laptop-HOWTO</A
|
|
> by Bruce Richardson.
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>
|
|
Modules-mini-HOWTO
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>
|
|
Kerneld-mini-HOWTO
|
|
</P
|
|
></LI
|
|
></UL
|
|
>
|
|
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect4"
|
|
><H4
|
|
CLASS="sect4"
|
|
><A
|
|
NAME="AEN568"
|
|
></A
|
|
>Techniques</H4
|
|
><P
|
|
> Check the memory usage with <B
|
|
CLASS="command"
|
|
>free</B
|
|
> and <B
|
|
CLASS="command"
|
|
>top</B
|
|
>.
|
|
|
|
<A
|
|
HREF="http://www.complang.tuwien.ac.at/ulrich/mergemem/"
|
|
TARGET="_top"
|
|
>Mergemem Project </A
|
|
>. Many programs contain <B
|
|
CLASS="command"
|
|
>memory areas of the same content</B
|
|
> that remain undetected by the operating system. Typically, these areas contain data that have been generated on startup and remain unchanged for longer periods. With <B
|
|
CLASS="command"
|
|
>mergemem</B
|
|
> such areas are detected and shared. The sharing is performed on the operating system level and is invisible to the user level programs. <B
|
|
CLASS="command"
|
|
>mergemem</B
|
|
> is particularily useful if you run many instances of interpreters and emulators (like Java or Prolog) that keep their code in private data areas. But also other programs can take advantage albeit to a lesser degree.
|
|
|
|
You may also reduce the <B
|
|
CLASS="command"
|
|
>kernel size</B
|
|
> 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 <B
|
|
CLASS="command"
|
|
>daemon</B
|
|
> which is not needed, e.g. <B
|
|
CLASS="command"
|
|
>lpd</B
|
|
>, <B
|
|
CLASS="command"
|
|
>mountd</B
|
|
>, <B
|
|
CLASS="command"
|
|
>nfsd</B
|
|
> and close some <B
|
|
CLASS="command"
|
|
>virtual consoles</B
|
|
>. Please see Small-Memory-mini-HOWTO for details.
|
|
|
|
And of course use <B
|
|
CLASS="command"
|
|
>swap space</B
|
|
>, when possible.
|
|
|
|
If possible you may use the resources of another machine, for instance with X,
|
|
VNC or even <B
|
|
CLASS="command"
|
|
>telnet</B
|
|
>. For more information on Virtual Network
|
|
Computing (VNC), see <A
|
|
HREF="http://www.realvnc.com/"
|
|
TARGET="_top"
|
|
>VNC</A
|
|
> .
|
|
</P
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect3"
|
|
><H3
|
|
CLASS="sect3"
|
|
><A
|
|
NAME="AEN586"
|
|
></A
|
|
>Low CPU Speed</H3
|
|
><P
|
|
> You may want to overdrive the CPU speed but this can damage
|
|
your hardware and I don't have experience with it. For some
|
|
examples look at
|
|
<A
|
|
HREF="http://www.silverace.com/libretto/"
|
|
TARGET="_top"
|
|
>Adorable Toshiba Libretto - Overclocking</A
|
|
>.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect3"
|
|
><H3
|
|
CLASS="sect3"
|
|
><A
|
|
NAME="AEN590"
|
|
></A
|
|
>Tiny Applications and Distributions</H3
|
|
><P
|
|
> A small collection yet, but I'm looking for more information.
|
|
|
|
<P
|
|
></P
|
|
><UL
|
|
><LI
|
|
><P
|
|
>
|
|
BOA - "Lightweight and High Performance WebServer.
|
|
<B
|
|
CLASS="command"
|
|
>boa</B
|
|
> 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."
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>
|
|
MGR - a graphical windows system, which uses much less resources than X.
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>
|
|
Low Bandwidth X - Alan Cox in LINUX REDUX February 1998 " .. there
|
|
are two that handle <B
|
|
CLASS="command"
|
|
>normal</B
|
|
> applications very nicely.
|
|
LBX (Low Bandwidth X) is the <B
|
|
CLASS="command"
|
|
>official</B
|
|
> application of
|
|
the X Consortium (now OpenGroup www.opengroup.org). Dxpc <A
|
|
HREF="http://ccwf.cc.utexas.edu/~zvonler/dxpc"
|
|
TARGET="_top"
|
|
>http://ccwf.cc.utexas.edu/~zvonler/dxpc</A
|
|
>
|
|
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."
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>
|
|
blackbox - "This is a window manager for X. It is similar in many
|
|
respects to such popular packages as Window Maker, Enlightenment, and
|
|
FVWM2. You might be interested in this package if you are tired of
|
|
window managers that are a heavy drain on your system resources, but you
|
|
still want an attractive and modern-looking interface."
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>
|
|
linux-lite - distribution based on a 1.x.x kernel for systems with
|
|
only 2MB memory and 10MB harddisk. URL see above.
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> smallLinux - <A
|
|
HREF="http://www.superant.com/smalllinux/"
|
|
TARGET="_top"
|
|
>http://www.superant.com/smalllinux/</A
|
|
>
|
|
. Three disk micro-distribution of Linux and utilities. Based on
|
|
kernel 1.2.11. Root disk is ext2 format and has
|
|
<B
|
|
CLASS="command"
|
|
>fdisk</B
|
|
> and <B
|
|
CLASS="command"
|
|
>mkfs.ext2</B
|
|
> so that a
|
|
harddisk install can be done. Useful to boot up on old machines with
|
|
less than 4MB of RAM.
|
|
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> cLIeNUX - client-use-oriented Linux distribution.
|
|
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>
|
|
minix - not a Linux but a UNIX useful for very small systems, such as 286 CPU and 640K RAM
|
|
<A
|
|
HREF="http://www.cs.vu.nl/~ast/minix.html"
|
|
TARGET="_top"
|
|
>http://www.cs.vu.nl/~ast/minix.html</A
|
|
> .
|
|
There is even X support named mini-x by David I. Bell
|
|
<A
|
|
HREF="ftp://ftp.linux.org.uk/pub/linux/alan/"
|
|
TARGET="_top"
|
|
>ftp://ftp.linux.org.uk/pub/linux/alan/</A
|
|
> .
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> <B
|
|
CLASS="command"
|
|
>screen</B
|
|
> - tiny but powerful console manager.
|
|
John M. Fisk <fiskjm at ctrvax.vanderbilt.edu> in
|
|
<A
|
|
HREF="http://www.linuxgazette.com/issue01to08/lg_issue7.html#screen"
|
|
TARGET="_top"
|
|
>LINUX
|
|
GAZETTE</A
|
|
> : "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 <B
|
|
CLASS="command"
|
|
>at the
|
|
console</B
|
|
>." "<B
|
|
CLASS="command"
|
|
>screen</B
|
|
> 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."
|
|
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>
|
|
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."
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>
|
|
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."
|
|
</P
|
|
></LI
|
|
></UL
|
|
>
|
|
|
|
</P
|
|
></DIV
|
|
></DIV
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="NAVFOOTER"
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"><TABLE
|
|
SUMMARY="Footer navigation table"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="c391.htm"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="book1.htm"
|
|
ACCESSKEY="H"
|
|
>Home</A
|
|
></TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="x629.htm"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
>Reduction of Radiation, Electro Magnetic Fields, Heat</TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
> </TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
>Other Techniques</TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></BODY
|
|
></HTML
|
|
> |