<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.slackwiki.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ibm5+25</id>
	<title>SlackWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.slackwiki.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ibm5+25"/>
	<link rel="alternate" type="text/html" href="https://www.slackwiki.com/Special:Contributions/Ibm5_25"/>
	<updated>2026-04-08T16:21:51Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://www.slackwiki.com/index.php?title=Minimal_System&amp;diff=18</id>
		<title>Minimal System</title>
		<link rel="alternate" type="text/html" href="https://www.slackwiki.com/index.php?title=Minimal_System&amp;diff=18"/>
		<updated>2009-05-28T08:47:43Z</updated>

		<summary type="html">&lt;p&gt;Ibm5 25: Created page with 'Category:Tutorials  ''by Niki Kovacs, September 2007''   === Introduction ===  Once in a while, the question arises on AOLS or in some forum: what packages should I install t...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Tutorials]]&lt;br /&gt;
&lt;br /&gt;
''by Niki Kovacs, September 2007'' &lt;br /&gt;
&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
Once in a while, the question arises on AOLS or in some forum: what packages should I install to have a ''base system''? Well, one could argue about what is meant. While some folks run no more than a kernel, a libc and a handful of packages on their servers stripped down to the bare bones, others might find such a configuration useful in the sense that chickens fly and horses swim. &lt;br /&gt;
&lt;br /&gt;
Some facts and figures:&lt;br /&gt;
&lt;br /&gt;
* A &amp;quot;base&amp;quot; install of [http://www.linuxfromscratch.org Linux From Scratch] consists of a little more than 50 packages. &lt;br /&gt;
* [http://www.archlinux.org Arch Linux]' [base] system has exactly 92 packages. &lt;br /&gt;
* A &amp;quot;minimal&amp;quot; install of [http://www.centos.org CentOS 5.0] (all software categories unselected) counts as much as 393 packages.&lt;br /&gt;
&lt;br /&gt;
Conclusion: &amp;quot;''Il y a fagots et fagots''&amp;quot; (Molière, Le Médecin Malgré Lui)&lt;br /&gt;
&lt;br /&gt;
The package choice suggested on this page is of course highly subjective. It's also the result of a simple pragmatic approach. So far, I'm using Slackware in the following situations:&lt;br /&gt;
&lt;br /&gt;
* Database server&lt;br /&gt;
* Web server (Apache/PHP/MySQL)&lt;br /&gt;
* File server&lt;br /&gt;
* CUPS print server&lt;br /&gt;
* SANED scanner server&lt;br /&gt;
* Streaming media server (MPD/Icecast)&lt;br /&gt;
&lt;br /&gt;
Here, the &amp;quot;base system&amp;quot; would simply boil down to the common denominator of packages installed in all these different scenarios. Something like:&lt;br /&gt;
&lt;br /&gt;
* A bootable, coherent system (no missing libs or scripts)&lt;br /&gt;
* A Bash shell&lt;br /&gt;
* A SMP kernel and what's necessary to rebuild it.&lt;br /&gt;
* Development tools to build the odd package from source&lt;br /&gt;
* Networking&lt;br /&gt;
* A selection of tools for system administration&lt;br /&gt;
* No graphical environment&lt;br /&gt;
* No sound&lt;br /&gt;
&lt;br /&gt;
Once the base system is installed, it's easy to manually add the few needed packages depending on the needs: CUPS, Apache, MySQL, ALSA, whatever.&lt;br /&gt;
&lt;br /&gt;
Now here's my working base configuration:&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== Package group [A] ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Package&lt;br /&gt;
! Short Description&lt;br /&gt;
! Long Description&lt;br /&gt;
|-&lt;br /&gt;
| '''aaa_base''' &lt;br /&gt;
| Basic Linux filesystem package&lt;br /&gt;
| Sets up the empty directory tree for Slackware and adds an email to root's mailbox welcoming them to Linux. :)  This package should be installed first, and never uninstalled.&lt;br /&gt;
|-&lt;br /&gt;
| '''aaa_elflibs''' &lt;br /&gt;
| Shared libraries needed by many programs&lt;br /&gt;
| This is a collection of shared libraries needed to run Linux programs. ELF (Executable and Linking Format) is the standard Linux binary format. These libraries are gathered from other Slackware packages and are intended to give a fairly complete initial set of libraries. This package should be not upgraded or reinstalled (it could copy over newer library versions).&lt;br /&gt;
|-&lt;br /&gt;
| '''aaa_terminfo''' &lt;br /&gt;
| A basic collection of terminfo entries&lt;br /&gt;
| This is a starter set of files from the terminfo database, which should be enough in most cases.  The complete set (from which this is derived) can be found in the ncurses package. The terminfo database describes the characteristics of terminals, so don't try to log in without this package.  :-)&lt;br /&gt;
|-&lt;br /&gt;
| '''acl''' &lt;br /&gt;
| Tools for using POSIX Access Control Lists&lt;br /&gt;
| This package contains a set of tools and libraries for manipulating POSIX Access Control Lists.  POSIX Access Control Lists (defined in POSIX 1003.1e draft standard 17) are used to define more fine-grained discretionary access rights for files and directories.&lt;br /&gt;
|-&lt;br /&gt;
| '''acpid''' &lt;br /&gt;
| ACPI daemon&lt;br /&gt;
| Most modern computers support the Advanced Configuration and Power Interface (ACPI) standard to allow intelligent power management. This package contains acpid, which is the user-space daemon needed in order to make the Linux ACPI support completely functional. ACPI must be compiled into the kernel to run acpid.&lt;br /&gt;
|-&lt;br /&gt;
| '''apmd''' &lt;br /&gt;
| Advanced Power Management daemon&lt;br /&gt;
| apmd is an APM monitoring daemon, and works in conjunction with the APM BIOS driver in the kernel.  Apmd (and the included tools) handle tasks such as automatically putting a laptop into suspend when the power level drop below a certain point.  This package also includes the graphical power management tools xapm and xbattery. &lt;br /&gt;
|-&lt;br /&gt;
| '''attr''' &lt;br /&gt;
| Tools for using extended attributes on filesystems&lt;br /&gt;
| This package contains a set of tools for manipulating extended attributes (name:value pairs associated permanently with files and directories) on filesystem objects, and the library and header files needed to develop programs which make use of extended attributes. Extended attributes are used to provide additional functionality to a filesystem.  For example, Access Control Lists ([[ACL]]s) are implemented using extended attributes.&lt;br /&gt;
|-&lt;br /&gt;
| '''bash''' &lt;br /&gt;
| sh-compatible shell&lt;br /&gt;
| The GNU Bourne-Again SHell.  Bash is a sh-compatible command interpreter that executes commands read from the standard input or from a file.  Bash also incorporates useful features from the Korn and C shells (ksh and csh).  Bash is ultimately intended to be a conformant implementation of the IEEE Posix Shell and Tools specification (IEEE Working Group 1003.2). Bash must be present for the system to boot properly.&lt;br /&gt;
|-&lt;br /&gt;
| '''bin'''&lt;br /&gt;
| Some command-line utilities&lt;br /&gt;
| The bin package is a collection of miscellaneous command-line utilities.  Some of these (such as 'tempfile') are used in system scripts.&lt;br /&gt;
|-&lt;br /&gt;
| '''bzip2'''&lt;br /&gt;
| A block-sorting file compressor&lt;br /&gt;
| Bzip2 compresses files using the Burrows-Wheeler block sorting text compression algorithm, and Huffman coding.  Compression is generally considerably better than that achieved by more conventional LZ77/LZ78-based compressors, and approaches the performance of the PPM family of statistical compressors. &lt;br /&gt;
|-&lt;br /&gt;
| '''coreutils'''&lt;br /&gt;
| Core GNU utilities&lt;br /&gt;
| These are the GNU core utilities, the basic command line programs such as 'mkdir', 'ls', and 'rm' that are needed for the system to run.  This package is the union of the GNU fileutils, sh-utils, and textutils packages.  Most of these programs have significant advantages over their Unix counterparts, such as greater speed, additional options, and fewer arbitrary limits.&lt;br /&gt;
|-&lt;br /&gt;
| '''cpio'''&lt;br /&gt;
| Backup and archiving utility&lt;br /&gt;
| This is GNU cpio, a program to manage archives of files. This package also includes mt, a tape drive control program. cpio copies files into or out of a cpio or tar archive, which is a file that contains other files plus information about them, such as their pathname, owner, timestamps, and access permissions. The archive can be another file on the disk, a magnetic tape, or a pipe.&lt;br /&gt;
|-&lt;br /&gt;
| '''cryptsetup'''&lt;br /&gt;
| Utility for setting up encrypted filesystems&lt;br /&gt;
| LUKS is a standard for cross-platform hard disk encryption. It provides secure management of multiple userpasswords and stores setup information in the partition header. LUKS for dm-crypt is now implemented in cryptsetup replacing the original cryptsetup. It provides all the functionally of the original version plus all LUKS features.&lt;br /&gt;
|-&lt;br /&gt;
| '''cxxlibs'''&lt;br /&gt;
| C++ shared library compatibility package&lt;br /&gt;
| This package contains the shared libraries needed to run dynamically linked C++ binaries linked with older versions of libstdc++.&lt;br /&gt;
|-&lt;br /&gt;
| '''dcron'''&lt;br /&gt;
| Dillon's Cron daemon&lt;br /&gt;
| The cron daemon runs in the background and executes tasks on behalf of users at the appropriate time.  Many timed system tasks are started with cron, such as the nightly indexing with updatedb.&lt;br /&gt;
|-&lt;br /&gt;
| '''device-mapper'''&lt;br /&gt;
| Device mapper for logical volume management&lt;br /&gt;
| The goal of device-mapper is to support volume management.  The driver enables the definition of new block devices composed of ranges of sectors of existing devices.  This can be used to define disk partitions or logical volumes. device-mapper is required by LVM2, the Logical Volume Manager.&lt;br /&gt;
|-&lt;br /&gt;
| '''devs'''&lt;br /&gt;
| System device files&lt;br /&gt;
| This package creates special files in the /dev directory that represent your system's hardware, and a tool (/dev/MAKEDEV) for creating new device files.  These files are required to access hardware on a Linux system.&lt;br /&gt;
|-&lt;br /&gt;
| '''dialog'''&lt;br /&gt;
| Display dialog boxes from shell scripts&lt;br /&gt;
| Dialog is a program to present a variety of questions or display messages using dialog boxes from a shell script.  The Slackware package management script &amp;quot;pkgtool&amp;quot; uses this, as do various other menu-driven console scripts.&lt;br /&gt;
|-&lt;br /&gt;
| '''dosfstools'''&lt;br /&gt;
| Tools for working with FAT filesystems&lt;br /&gt;
| Utilities for creating FAT filesystems (mkdosfs), and for checking and repairing them (dosfsck).&lt;br /&gt;
|-&lt;br /&gt;
| '''e2fsprogs'''&lt;br /&gt;
| ---&lt;br /&gt;
| Utilities needed to create and maintain ext2 and ext3 filesystems.&lt;br /&gt;
|-&lt;br /&gt;
| '''eject'''&lt;br /&gt;
| A tool to eject removable media&lt;br /&gt;
| Eject allows removable media (typically a DVD, CD, floppy disk, tape, etc.) to be ejected under software control.  The command can also control some multi-disc changers, the auto-eject feature supported by some devices, and can close the disc tray of some drives.&lt;br /&gt;
|-&lt;br /&gt;
| '''elvis'''&lt;br /&gt;
| ---&lt;br /&gt;
| Elvis is a text editor.  It is intended to be a modern replacement for the classic ex/vi editor of UNIX fame.  Elvis supports many new features, including multiple edit buffers, multiple windows, and a variety of display modes.&lt;br /&gt;
|-&lt;br /&gt;
| '''etc'''&lt;br /&gt;
| System configuration files&lt;br /&gt;
| System configuration files.  The /etc directory is traditionally the location where configuration files are found.&lt;br /&gt;
|-&lt;br /&gt;
| '''file'''&lt;br /&gt;
| A utility to determine file type&lt;br /&gt;
| This is Ian F. Darwin's 'file' utility, used to identify files.&lt;br /&gt;
|-&lt;br /&gt;
| '''findutils'''&lt;br /&gt;
| Utilities to locate files&lt;br /&gt;
| This package contains the GNU find and xargs programs.  The find and xargs implementations comply with POSIX 1003.2.  They also support some additional options, some borrowed from Unix and some unique to GNU.&lt;br /&gt;
|-&lt;br /&gt;
| '''floppy'''&lt;br /&gt;
| Floppy disk utilities&lt;br /&gt;
| Contains fdutils-5.4, tools to test and format floppy disks; and mtools-3.9.8, a collection of utilities for using DOS/Windows floppy disks with Linux.&lt;br /&gt;
|-&lt;br /&gt;
| '''gawk'''&lt;br /&gt;
| Pattern scanning and processing language&lt;br /&gt;
| Gawk is the GNU Project's implementation of the AWK programming language.  It conforms to the definition of the language in the POSIX 1003.2 Command Language And Utilities Standard.  This version in turn is based on the description in The AWK Programming Language, by Aho, Kernighan, and Weinberger, with the additional features found in the System V Release 4 version of UNIX awk.  Gawk also provides more recent Bell Labs awk extensions, and some GNU-specific extensions.&lt;br /&gt;
|-&lt;br /&gt;
| '''gettext'''&lt;br /&gt;
| ---&lt;br /&gt;
| The GNU gettext package contains &amp;quot;gettext&amp;quot; and &amp;quot;ngettext&amp;quot;, programs that are used to internationalize the messages given by shell scripts.&lt;br /&gt;
|-&lt;br /&gt;
| '''glibc-solibs'''&lt;br /&gt;
| Shared GNU C libraries&lt;br /&gt;
| This package contains the shared libraries, binaries, and support files required to run most Linux applications linked with glibc.&lt;br /&gt;
|-&lt;br /&gt;
| '''glibc-zoneinfo'''&lt;br /&gt;
| Timezone database&lt;br /&gt;
| This package allows you to configure your time zone. Use the timeconfig utility to set your local time zone.&lt;br /&gt;
|-&lt;br /&gt;
| '''grep'''&lt;br /&gt;
| Print lines matching a pattern&lt;br /&gt;
| This is GNU grep, the &amp;quot;fastest grep in the west&amp;quot; (we hope).  Grep searches through textual input for lines which contain a match to a specified pattern and then prints the matching lines.&lt;br /&gt;
|-&lt;br /&gt;
| '''gzip'''&lt;br /&gt;
| File compression utility&lt;br /&gt;
| Gzip reduces the size of the named files using Lempel-Ziv coding (LZ77).  Whenever possible, each file is replaced by one with the extension .gz, while keeping the same ownership modes, access and modification times.&lt;br /&gt;
|-&lt;br /&gt;
| '''hdparm'''&lt;br /&gt;
| Read/set hard drive parameters&lt;br /&gt;
| hdparm provides a command line interface to various hard disk ioctls supported by the Linux ATA/IDE device driver subsystem.  This may be required to enable higher-performing disk modes.&lt;br /&gt;
|-&lt;br /&gt;
| '''infozip'''&lt;br /&gt;
| Info-ZIP's zip and unzip utilities&lt;br /&gt;
| zip is a compression and file packaging utility for Unix, VMS, MSDOS, OS/2, Windows NT, Minix, Atari and Macintosh, Amiga and Acorn RISC OS. It is analogous to a combination of the UNIX commands tar(1) and compress(1) and is compatible with PKZIP (Phil Katz's ZIP).  A companion program  unzip(1L)), unpacks zip archives.&lt;br /&gt;
|-&lt;br /&gt;
| '''isapnptools'''&lt;br /&gt;
| ISA Plug-And-Play tools&lt;br /&gt;
| These programs allow ISA Plug-And-Play devices to be configured on a Linux machine.&lt;br /&gt;
|-&lt;br /&gt;
| '''kbd'''&lt;br /&gt;
| Keyboard maps and console fonts&lt;br /&gt;
| Load and save keyboard mappings.  Needed if you are not using the US keyboard map.  This package also contains utilities to change your console fonts - if you install it you'll get a menu later on that lets you select from many different fonts.  If you like one, you can make it your default font.  A new default font can be chosen at any time by typing 'setconsolefont'.&lt;br /&gt;
|-&lt;br /&gt;
| '''kernel-huge-smp'''&lt;br /&gt;
| A fully-loaded SMP Linux kernel&lt;br /&gt;
| This is a Linux kernel with built-in support for most disk controllers.  If you're looking for a more stripped down kernel (this one contains everything but the kitchen sink ;-), then install the kernel-generic-smp in the /boot directory along with an initrd to load support for your boot device and filesystem.  For instructions on the initrd, see README.initrd in the /boot directory. SMP is &amp;quot;Symmetric multiprocessing&amp;quot;, or multiple CPU/core support.&lt;br /&gt;
|-&lt;br /&gt;
| '''kernel-modules-smp'''&lt;br /&gt;
| SMP Linux kernel modules&lt;br /&gt;
| A kernel module is a piece of object code that can be dynamically loaded into the Linux kernel to provide new kernel functions.  Most of these modules provide support for devices such as CD-ROM drives, tape drives, and ethernet cards.  You can choose which modules to load by editing /etc/rc.d/rc.modules.&lt;br /&gt;
|-&lt;br /&gt;
| '''less'''&lt;br /&gt;
| File pager&lt;br /&gt;
| Less is a paginator similar to more (1), but which allows backward movement in the file as well as forward movement. Also, less does not have to read the entire input file before starting, so with large input files it starts up faster than text editors like vi (1).&lt;br /&gt;
|-&lt;br /&gt;
| '''lilo'''&lt;br /&gt;
| Linux Loader&lt;br /&gt;
| Generic Boot Loader for Linux ('LInux LOader') by Werner Almesberger. LILO boots Linux from your hard drive. It can also boot other operating systems such as MS-DOS and OS/2, and can even boot DOS from the second hard drive. LILO comes with utilities and documentation that make it easier to install, such as 'liloconfig' and 'QuickStart'. NOTE: Installing boot loaders is inherently dangerous. Be sure to have some means to boot your system from a different media if you install LILO on your hard disk.&lt;br /&gt;
|-&lt;br /&gt;
| '''logrotate''' &lt;br /&gt;
| System log rotation tool&lt;br /&gt;
| The logrotate utility is designed to simplify the administration of log files on a system which generates a lot of log files. Logrotate allows for the automatic rotation compression, removal and mailing of log files.  Logrotate can be set to handle a log file daily, weekly, monthly or when the log file gets to a certain size.  Normally, logrotate runs as a daily cron job.&lt;br /&gt;
|-&lt;br /&gt;
| '''lvm2'''&lt;br /&gt;
| Logical Volume Manager version 2&lt;br /&gt;
| Heinz Mauelshagen's LVM (Logical Volume Manager) for Linux. LVM adds an additional layer between the physical peripherals and the low-level I/O interface to get a logical view of disks.  This allows the concatenation of several disks (so-called physical volumes or PVs) to form a storage pool (so-called Volume Group or VG) with allocation units called physical extents (called PE).  With LVM, you can extend, resize, or relocate storage dynamically.&lt;br /&gt;
|-&lt;br /&gt;
| '''mdadm'''&lt;br /&gt;
| Manage RAID arrays&lt;br /&gt;
| mdadm is a utility program for creating, managing, and monitoring Linux MD (Software RAID) devices.  Unlike the older raidtools package, mdadm is a single program (which should make it easier to use).&lt;br /&gt;
|-&lt;br /&gt;
| '''module-init-tools'''&lt;br /&gt;
| Kernel module utilities&lt;br /&gt;
| Utilities to load and unload kernel modules.  These are used on Linux to load extra drivers or other features into the running kernel.&lt;br /&gt;
|-&lt;br /&gt;
| '''openssl-solibs'''&lt;br /&gt;
| OpenSSL shared libraries&lt;br /&gt;
| These shared libraries provide encryption routines required by programs such as openssh.  They are also used by KDE's Konqueror web browser to provide secure web connections.&lt;br /&gt;
|-&lt;br /&gt;
| '''patch'''&lt;br /&gt;
| Apply a diff file to an original file or files&lt;br /&gt;
| Patch is a utility used to apply diffs (or patches) to files, which are usually source code.&lt;br /&gt;
|-&lt;br /&gt;
| '''pciutils'''&lt;br /&gt;
| PCI utilities&lt;br /&gt;
| lspci displays detailed information about all PCI buses and devices in the system, replacing the original /proc/pci interface. setpci allows reading from and writing to PCI device configuration registers.  For example, you can adjust the latency timers with it.&lt;br /&gt;
|-&lt;br /&gt;
| '''pcmciautils'''&lt;br /&gt;
| Utilities for using PCMCIA cards with 2.6+ kernels&lt;br /&gt;
| This package provides PCMCIA tools that replace the pcmcia-cs tools used with the 2.4.x Linux kernel.  PCMCIA cards are commonly used in laptops to provide expanded capabilities such as network connections, modems, increased memory, and more.&lt;br /&gt;
|-&lt;br /&gt;
| '''pkgtools'''&lt;br /&gt;
| The Slackware package maintenance system&lt;br /&gt;
| This package contains utilities for handling Slackware packages. Included are the command line utilities 'installpkg', 'removepkg', 'makepkg', 'explodepkg', and 'upgradepkg' that install, remove, build, examine, and upgrade software packages.  Also included are  'pkgtool', a menu based program for installing packages, removing packages, or viewing the packages that are installed on the system, documentation (man pages), and a few other system admin scripts.&lt;br /&gt;
|-&lt;br /&gt;
| '''procps'''&lt;br /&gt;
| Utilities for displaying process information&lt;br /&gt;
| The procps package provides the classic set of utilities used to display information about the processes currently running on the machine.&lt;br /&gt;
|-&lt;br /&gt;
| '''quota'''&lt;br /&gt;
| Linux disk quota utilities&lt;br /&gt;
| An implementation of the diskquota system for the Linux operating system to keep those greedy users from gobbling up 100% of the hard drive space.  Works with ext2, ext3, reiserfs, and xfs filesystems.&lt;br /&gt;
|-&lt;br /&gt;
| '''reiserfsprogs'''&lt;br /&gt;
| ---&lt;br /&gt;
| These utilities are used for Reiserfs.  Reiserfs is a file system based on balanced tree algorithms.&lt;br /&gt;
|-&lt;br /&gt;
| '''rpm2tgz'''&lt;br /&gt;
| A tool for converting an RPM archive into a tar+gz one&lt;br /&gt;
| Converts RPM format to Slackware's GNU tar + GNU zip format.  (view converted packages with &amp;quot;less&amp;quot;, install and remove with &amp;quot;installpkg&amp;quot;, &amp;quot;removepkg&amp;quot;, &amp;quot;pkgtool&amp;quot;, or manually with &amp;quot;tar&amp;quot;). Converted packages come with no warranty.  ;-)&lt;br /&gt;
|-&lt;br /&gt;
| '''sdparm'''&lt;br /&gt;
| Fetch and change SCSI attributes&lt;br /&gt;
| sdparm is a utility for listing and potentially changing SCSI disk parameters.  More generally it can be used on any device that uses a SCSI command set.  Apart from SCSI disks, examples of devices that use SCSI command sets are ATAPI CD/DVD drives, SCSI and ATAPI tape drives and SCSI enclosures.&lt;br /&gt;
|-&lt;br /&gt;
| '''sed'''&lt;br /&gt;
| Stream editor&lt;br /&gt;
| This is the GNU version of sed, a stream editor.  A stream editor is used to perform basic text transformations on an input stream (a file or input from a pipeline).  It is sed's ability to filter text in a pipeline which distinguishes it from other types of editors. sed is a required package (it is needed by many system scripts).&lt;br /&gt;
|-&lt;br /&gt;
| '''shadow'''&lt;br /&gt;
| Shadow password suite&lt;br /&gt;
| This set of login related programs utilizes an alternate, non-readable file to contain the actual encrypted passwords.  This is presumed to increase system security by increasing the difficulty with which system crackers obtain encrypted passwords. This package provides 'login', which is needed to log into the system.&lt;br /&gt;
|-&lt;br /&gt;
| '''slocate''' &lt;br /&gt;
| Secure Locate&lt;br /&gt;
| Slocate is an enhanced version of locate, a command to help you locate files on the system.  Like the original version of locate, Slocate maintains a database of files on the system, updating it nightly. Unlike the original, Slocate indexes every file on the machine rather than only the ones that can be seen by everyone.  The &amp;quot;secure&amp;quot; part of slocate is that it will only return matches if the user is allowed to see the files.&lt;br /&gt;
|-&lt;br /&gt;
| '''smartmontools'''&lt;br /&gt;
| Hard drive monitoring utilities&lt;br /&gt;
| SMARTMONTOOLS contains utilities that control and monitor storage devices using the Self-Monitoring, Analysis and Reporting Technology (S.M.A.R.T.) system build into ATA and SCSI Hard Drives. This is used to check the reliability of the hard drive and to predict drive failures.  SMARTMONTOOLS Version 5.x is designed to comply to the ATA/ATAPI-5 specification (Revision 1).  Future releases of SMARTMONTOOLS (Versions 6.x and 7.x) will comply with the ATA/ATAPI-6 and ATA/ATAPI-7 specifications.&lt;br /&gt;
|-&lt;br /&gt;
| '''sysfsutils'''&lt;br /&gt;
| Utilities for the sysfs filesystem&lt;br /&gt;
| The purpose of this package is to provide a set of utilities for interfacing with sysfs, a virtual filesystem in Linux kernel versions 2.6+ that provides a tree of system devices.  While a filesystem is a very useful interface, a library (libsysfs) is also included that will hopefully make it easier for applications to query system devices and their attributes.&lt;br /&gt;
|-&lt;br /&gt;
| '''sysklogd'''&lt;br /&gt;
| Linux system logging utilities&lt;br /&gt;
| Dr. Greg Wettstein and Stephen Tweedie's syslogd/klogd. This package contains a modified version of syslogd for the Linux environment.  An additional utility, klogd, is included which allows kernel logging to be directed through the syslogd facility. Syslogd and klogd are started when your system boots.&lt;br /&gt;
|-&lt;br /&gt;
| '''syslinux'''&lt;br /&gt;
| SYSLINUX/PXELINUX/ISOLINUX boot loaders&lt;br /&gt;
| SYSLINUX is a boot loader for the Linux operating system which operates off an MS-DOS/Windows FAT filesystem.  This is used by the Slackware makebootdisk script to create system boot floppies. Also included are PXELINUX and ISOLINUX, boot loaders for booting from a network server or CD-ROM.&lt;br /&gt;
|-&lt;br /&gt;
| '''sysvinit'''&lt;br /&gt;
| init, the parent of all processes&lt;br /&gt;
| System V style init programs by Miquel van Smoorenburg that control the booting and shutdown of your system.  These support a number of system runlevels, each with a specific set of utilities spawned. For example, the normal system runlevel is 3, which starts agetty on virtual consoles tty1 - tty6.  Runlevel 4 starts xdm. Runlevel 0 shuts the system down.&lt;br /&gt;
|-&lt;br /&gt;
| '''sysvinit-functions'''&lt;br /&gt;
| /etc/init.d/functions&lt;br /&gt;
| This is the /etc/init.d/functions file, the typical sysvinit-style directories, and a few supporting binaries.  Using this system, subdirectories of /etc/rc.d/ are searched for scripts (which are usually symlinks to the script in /etc/init.d/ or /etc/rc.d/init.d/). The links must start with S to start a script or K to stop (kill) it. For the most part, these are useful for running software developed for other versions of Linux.&lt;br /&gt;
|-&lt;br /&gt;
| '''sysvinit-scripts'''&lt;br /&gt;
| The basic scripts used to boot your machine&lt;br /&gt;
| These are the Slackware boot scripts, which are needed to start the machine.  Sysvinit looks for these in /etc/rc.d/.&lt;br /&gt;
|-&lt;br /&gt;
| '''tar'''&lt;br /&gt;
| Archiving utility&lt;br /&gt;
| This is the GNU version of tar, an archiving program designed to store and extract files from an archive file known as a tarfile.  A tarfile may be made on a tape drive, however, it is also common to write a tarfile to a normal file. Slackware's package system uses tarfiles compressed with GNU gzip.&lt;br /&gt;
|-&lt;br /&gt;
| '''time'''&lt;br /&gt;
| The GNU time command for measuring program resource use&lt;br /&gt;
| The `time' command runs another program, then displays information about the resources used by that program, collected by the system while the program was running. &lt;br /&gt;
|-&lt;br /&gt;
| '''tree'''&lt;br /&gt;
| A program to display a directory tree&lt;br /&gt;
| Tree is a recursive directory listing program that produces a depth indented listing of files, which is colorized ala dircolors if the LS_COLORS environment variable is set and output is to tty.  With no arguments, tree lists the files in the current directory.&lt;br /&gt;
|-&lt;br /&gt;
| '''udev'''&lt;br /&gt;
| Dynamic device directory system&lt;br /&gt;
| udev provides a dynamic device directory containing only the files for the devices which are actually present.  It creates or removes device node files usually located in the /dev directory.&lt;br /&gt;
|-&lt;br /&gt;
| '''usbutils'''&lt;br /&gt;
| USB utilities&lt;br /&gt;
| lsusb displays detailed information about all USB buses and devices in the system. usbmodules lists the kernel modules for a plugged in USB device.&lt;br /&gt;
|-&lt;br /&gt;
| '''utempter'''&lt;br /&gt;
| utmp updating library and utility&lt;br /&gt;
| The utempter package provides a utility and shared library that allows terminal applications such as xterm and screen to update /var/run/utmp and /var/log/wtmp without requiring root privileges.&lt;br /&gt;
|-&lt;br /&gt;
| '''util-linux'''&lt;br /&gt;
| A huge collection of essential utilities&lt;br /&gt;
| The util-linux package is a huge collection of random utilities that are essential to run a Linux system.  This package includes the util-linux package from ftp.kernel.org, plus some related programs from other sources such as adjtimex, bsdstrings, net-tools (only for 'hostname', a complete version is in the tcpip package), schedutils, setserial, and ziptool.&lt;br /&gt;
|-&lt;br /&gt;
| '''which'''&lt;br /&gt;
| Shows the full path to shell commands&lt;br /&gt;
| GNU 'which' takes one or more arguments.  For each of its arguments it prints to stdout the full path of the executables that would have been executed when this argument had been entered at the shell prompt.  It does this by searching for an executable or script in the directories listed in the environment variable PATH using the same algorithm as bash(1).  'Which' is a built-in function in many shells.&lt;br /&gt;
|-&lt;br /&gt;
| '''xfsprogs'''&lt;br /&gt;
| Tools to use the XFS filesystem&lt;br /&gt;
| XFS is a high performance journaling filesystem which originated on the SGI IRIX platform.  It is completely multi-threaded, can support large files and large filesystems, extended attributes, variable block sizes, is extent based, and makes extensive use of Btrees (directories, extents, free space) to aid both performance and scalability.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Package group [AP] ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Package&lt;br /&gt;
! Short Description&lt;br /&gt;
! Long Description&lt;br /&gt;
|-&lt;br /&gt;
| '''at'''&lt;br /&gt;
| Delayed command execution&lt;br /&gt;
| at and batch read shell commands from standard input (or a specified file) storing them as a job to be scheduled for execution at a later time.&lt;br /&gt;
|-&lt;br /&gt;
| '''cdrdao'''&lt;br /&gt;
| CD burning utility&lt;br /&gt;
| cdrdao burns proper disc-at-once (DAO) audio discs.  In DAO mode the disc is written in one shot, so you don't have to have irritating 2 second gaps interrupting a live recording.&lt;br /&gt;
|-&lt;br /&gt;
| '''cdrtools'''&lt;br /&gt;
| Tools for mastering and writing compact discs.&lt;br /&gt;
| cdda2wav -- CD audio sampling utility. cdrecord -- burn discs in most ATAPI and SCSI CD-R drives. mkisofs  -- create ISO9660/HFS/Joliet CD-ROM images. mkzftree -- compress a file tree to make a compressed CD-ROM.&lt;br /&gt;
|-&lt;br /&gt;
| '''diffutils'''&lt;br /&gt;
| Finds differences between files&lt;br /&gt;
| The GNU diff utilities finds differences between files.  A major use for this package is to make source code patches.&lt;br /&gt;
|-&lt;br /&gt;
| '''dmapi'''&lt;br /&gt;
| Data Management API library&lt;br /&gt;
| A library required to use the Data Management API (DMAPI). This interface is defined in the X/Open document 'Systems Management: Data Storage Managment (XDSM) API' dated February 1997. The DMAPI library is used by the xfsdump utility.&lt;br /&gt;
|-&lt;br /&gt;
| '''dmidecode'''&lt;br /&gt;
| DMI table decoder&lt;br /&gt;
| dmidecode is a tool for dumping a computer's DMI table (some say SMBIOS) contents in a human-readable format.  This table contains a description of the system's hardware components, as well as other useful pieces of information such as serial numbers and BIOS revision.&lt;br /&gt;
|-&lt;br /&gt;
| '''dvd+rw-tools'''&lt;br /&gt;
| ---&lt;br /&gt;
| A collection of tools to master DVD+RW/+R/-R/-RW media.&lt;br /&gt;
|-&lt;br /&gt;
| '''groff'''&lt;br /&gt;
| Document formatting system&lt;br /&gt;
| The GNU groff package provides versions of troff, nroff, eqn, tbl, and other Unix text-formatting utilities.  Groff is used to 'compile' man pages stored in groff/nroff format into a form which can be printed or displayed on the screen.  These man pages are stored in compressed form in the /usr/man/man? directories.&lt;br /&gt;
|-&lt;br /&gt;
| '''lm_sensors'''&lt;br /&gt;
| Hardware monitoring package&lt;br /&gt;
| lm_sensors provides tools for monitoring the temperatures, voltages, and fans of Linux systems with hardware monitoring devices.  Included are text-based tools for sensor reporting, and a library for sensors access called libsensors.  It also contains tools for sensor hardware identification and I2C bus probing. IMPORTANT NOTE:  If you have a Thinkpad, please read the warnings in the README.thinkpad file.  [http://www.thinkwiki.org/wiki/Problem_with_lm-sensors lm_sensors has been known to cause damage to some Thinkpads].&lt;br /&gt;
|-&lt;br /&gt;
| '''lsof'''&lt;br /&gt;
| List open files&lt;br /&gt;
| Lsof is a Unix-specific tool.  Its name stands for &amp;quot;LiSt Open Files&amp;quot;, and it does just that.  It lists information about files that are open by the processes running on the system.&lt;br /&gt;
|-&lt;br /&gt;
| '''lsscsi'''&lt;br /&gt;
| List SCSI devices or hosts, and their attributes&lt;br /&gt;
| Uses information in sysfs to list scsi devices (or hosts) currently attached to the system.  Options can be used to control the amount and form of information provided for each device.&lt;br /&gt;
|-&lt;br /&gt;
| '''man'''&lt;br /&gt;
| Format and display the on-line manual pages&lt;br /&gt;
| The man package is a collection of tools used for searching and reading the online system documentation.  In fact, on most UNIX-like operating systems it is the primary means of finding out how programs on the system work.  For example, 'man man' will display the documentation for man itself. Man requires the groff text processing package.&lt;br /&gt;
|-&lt;br /&gt;
| '''man-pages'''&lt;br /&gt;
| System documentation&lt;br /&gt;
| Man pages are online documentation for Linux.  This package includes many section 1, 2, 3, 4, 5, 7, and 8 man pages for Linux.&lt;br /&gt;
|-&lt;br /&gt;
| '''mc'''&lt;br /&gt;
| Midnight Commander file manager&lt;br /&gt;
| The Midnight Commander is a Norton Commander clone, a program that manipulates and manages files and directories.  Useful, fast, and has color displays on the Linux console.  Mouse support is provided through the gpm mouse server.  This is a lightweight compilation of mc for use on the text console or in an xterm.&lt;br /&gt;
|-&lt;br /&gt;
| '''most'''&lt;br /&gt;
| Another pager, like 'more' and 'less'&lt;br /&gt;
| most is a paging program that displays, one windowful at a time,  the contents of a file on a terminal.  Unlike other well-known paging programs, most supports multiple windows and can scroll left and right.  Why settle for less?&lt;br /&gt;
|-&lt;br /&gt;
| '''screen'''&lt;br /&gt;
| Screen manager with VT100/ANSI terminal emulation&lt;br /&gt;
| 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 a DEC VT100 terminal and several control functions from the ISO 6492 (ECMA 48, ANSI X3.64) and ISO 2022 standards (e.g. insert/delete line and support for multiple character sets).  There is a scrollback history buffer for each virtual terminal and a copy-and-paste mechanism that allows moving text regions between windows.&lt;br /&gt;
|-&lt;br /&gt;
| '''sudo'''&lt;br /&gt;
| Give limited root privileges to certain users&lt;br /&gt;
| 'sudo' is a command that allows users to execute some commands as root.  The /etc/sudoers file (edited with 'visudo') specifies which users have access to sudo and which commands they can run.  'sudo' logs all its activities to /var/log/ so the system administrator can keep an eye on things.&lt;br /&gt;
|-&lt;br /&gt;
| '''sysstat'''&lt;br /&gt;
| System performance monitoring tools&lt;br /&gt;
| The sysstat utilities are a collection of performance monitoring tools for Linux.  These include sar, sadf, mpstat, iostat and sa tools.&lt;br /&gt;
|-&lt;br /&gt;
| '''texinfo'''&lt;br /&gt;
| GNU software documentation system&lt;br /&gt;
| 'Texinfo' is a documentation system that uses a single source file to produce both on-line information and printed output.  Using Texinfo, you can create a printed document with the normal features of a book, including chapters, sections, cross references, and indices.  From the same Texinfo source file, you can create a menu-driven, on-line Info file with nodes, menus, cross references, and indices. This package is needed to read the documentation files in /usr/info.&lt;br /&gt;
|-&lt;br /&gt;
| '''vim'''&lt;br /&gt;
| Vi IMproved&lt;br /&gt;
| Vim is an almost compatible version of the UNIX editor vi.  Many new features have been added:  multi level undo, command line history, filename completion, block operations, and more. Vim's development is led by Bram Moolenaar. This package also contains the Exuberant Ctags program written by Darren Hiebert.&lt;br /&gt;
|-&lt;br /&gt;
| '''xfsdump'''&lt;br /&gt;
| Backup tools for the XFS filesystem&lt;br /&gt;
| The xfsdump package contains the xfsdump and xfsrestore utilities for backing up and restoring XFS partitions.  xfsdump examines files in a filesystem, determines which need to be backed up, and copies those files to a specified disk, tape or other storage medium.  xfsrestore performs the inverse function of xfsdump; it can restore a full or incremental backup of a filesystem.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== Package group [D] ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Package&lt;br /&gt;
! Short Description&lt;br /&gt;
! Long Description&lt;br /&gt;
|-&lt;br /&gt;
| '''autoconf'''&lt;br /&gt;
| Generate configuration scripts&lt;br /&gt;
| GNU autoconf is an extensible package of m4 macros that produce shell scripts to automatically configure software source code packages. These scripts can adapt the packages to many kinds of UNIX-like systems without manual user intervention.  Autoconf creates a configuration script for a package from a template file that lists the operating system features that the package can use, in the form of m4 macro calls.  You must install the &amp;quot;m4&amp;quot; package to be able to use autoconf.&lt;br /&gt;
|-&lt;br /&gt;
| '''automake'''&lt;br /&gt;
| A Makefile generator&lt;br /&gt;
| This is Automake, a Makefile generator.  It was inspired by the 4.4BSD make and include files, but aims to be portable and to conform to the GNU standards for Makefile variables and targets.  Automake is a Perl script.  The input files are called Makefile.am.  The output files are called Makefile.in; they are intended for use with Autoconf.  Automake requires certain things to be done in your configure.in.  You must install the &amp;quot;m4&amp;quot; and &amp;quot;perl&amp;quot; packages to be able to use automake.&lt;br /&gt;
|-&lt;br /&gt;
| '''binutils'''&lt;br /&gt;
| GNU binary development tools&lt;br /&gt;
| Binutils is a collection of binary utilities.  It includes &amp;quot;as&amp;quot; (the portable GNU assembler), &amp;quot;ld&amp;quot; (the GNU linker), and other utilities for creating and working with binary programs. These utilities are REQUIRED to compile C, C++, Objective-C, Fortran, and most other programming languages.&lt;br /&gt;
|-&lt;br /&gt;
| '''bison'''&lt;br /&gt;
| Parser generator similar to yacc&lt;br /&gt;
| GNU &amp;quot;Bison&amp;quot; is a general-purpose parser generator that converts a grammar description for an LALR(1) context-free grammar into a C program to parse that grammar. Bison is upward compatible with Yacc:  all properly-written Yacc grammars ought to work with Bison with no change.  Anyone familiar with Yacc should be able to use Bison with little trouble.&lt;br /&gt;
|-&lt;br /&gt;
| '''doxygen'''&lt;br /&gt;
| Documentation generator&lt;br /&gt;
| Doxygen is a documentation system for C++, C, Java, IDL, and to some extent PHP and C#.  Doxygen generates project documentation using special documentation blocks in the source code, easing the process of keeping docs and code in sync.  Doxygen produces documentation in several output formats, including HTML, LaTeX, man pages, RTF, XML, compressed HTML, PostScript, and PDF.&lt;br /&gt;
|-&lt;br /&gt;
| '''flex'''&lt;br /&gt;
| fast lexical analyzer generator&lt;br /&gt;
| flex is a tool for generating programs that perform pattern matching on text.  flex is a rewrite of the AT&amp;amp;T Unix lex tool (the two implementations do not share any code, though), with some extensions (and incompatibilities).&lt;br /&gt;
|-&lt;br /&gt;
| '''gcc'''&lt;br /&gt;
| Base GCC package with C support&lt;br /&gt;
| This package contains those parts of the compiler collection needed to compile C code.  Other packages add C++, Fortran, Objective-C, and Java support to the compiler core.&lt;br /&gt;
|-&lt;br /&gt;
| '''gcc-g++'''&lt;br /&gt;
| C++ for GCC&lt;br /&gt;
| C++ support for the GNU Compiler Collection. This package contains those parts of the compiler collection needed to compile C++ code.  The base gcc package is also required.&lt;br /&gt;
|-&lt;br /&gt;
| '''gettext-tools'''&lt;br /&gt;
| ---&lt;br /&gt;
| The GNU gettext-tools package is useful for authors and maintainers of internationalized software, or for anyone compiling programs that use the gettext functions.  This package provides the needed tools and library functions for the handling of messages in different languages. Some other GNU packages use the gettext program (included in this package) to internationalize the messages given by shell scripts.&lt;br /&gt;
|-&lt;br /&gt;
| '''kernel-headers'''&lt;br /&gt;
| Linux kernel include files&lt;br /&gt;
| These are the include files from the Linux kernel. You'll need these to compile most system software for Linux.&lt;br /&gt;
|-&lt;br /&gt;
| '''libtool'''&lt;br /&gt;
| A generic library support script&lt;br /&gt;
| This is GNU Libtool, a generic library support script. Libtool hides the complexity of using shared libraries behind a consistent, portable interface.  To use libtool, add the new generic library building commands to your Makefile, Makefile.in, or Makefile.am.  See the documentation for details. You must install the &amp;quot;m4&amp;quot; package to be able to use libtool.&lt;br /&gt;
|-&lt;br /&gt;
| '''m4'''&lt;br /&gt;
| An implementation of the UNIX macro processor&lt;br /&gt;
| This is GNU m4, a program which copies its input to the output, expanding macros as it goes.  m4 has built-in functions for including named files, running commands, doing integer arithmetic, manipulating text in various ways, recursion, etc...  Macros can also be user-defined, and can take any number of arguments.&lt;br /&gt;
|-&lt;br /&gt;
| '''make'''&lt;br /&gt;
| GNU make utility to maintain groups of programs&lt;br /&gt;
| This is the GNU implementation of make, which was written by Richard Stallman and Roland McGrath.  The purpose of the make utility is to determine automatically which pieces of a large program need to be recompiled, and issue the commands to recompile them. This is needed to compile just about any major C program, including the Linux kernel.&lt;br /&gt;
|-&lt;br /&gt;
| '''perl'''&lt;br /&gt;
| Practical Extraction and Report Language&lt;br /&gt;
| Larry Wall's &amp;quot;Practical Extraction and Report Language&amp;quot;.  Perl is a language optimized for scanning arbitrary text files, extracting information from those text files, and printing reports based on that information.  It's also a good language for many system management tasks.  The language is intended to be practical (easy to use, efficient, complete) rather than beautiful (tiny, elegant, minimal).&lt;br /&gt;
|-&lt;br /&gt;
| '''pkg-config'''&lt;br /&gt;
| ---&lt;br /&gt;
| pkg-config is a system for managing library compile/link flags that works with automake and autoconf.  It replaces the ubiquitous *-config scripts you may have seen with a single tool.  See the man page that comes with pkg-config for full documentation.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== Package group [F] ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Package&lt;br /&gt;
! Short Description&lt;br /&gt;
! Long Description&lt;br /&gt;
|-&lt;br /&gt;
| '''linux-faqs'''&lt;br /&gt;
| Linux FAQ collection from ibiblio.org&lt;br /&gt;
| Frequently Asked Questions (and answers!) on many Linux topics. Some of the FAQs included in this package: ATAPI-FAQ, AfterStep-FAQ, BLFAQ (Brief Linux FAQ), Ftape-FAQ, GCC-SIG11-FAQ, Joe-Command-Reference, the Linux-FAQ, PPP-FAQ, SMP-FAQ, and the Threads-FAQ. These FAQs will be installed under /usr/doc/Linux-FAQs/.&lt;br /&gt;
|-&lt;br /&gt;
| '''linux-howtos'''&lt;br /&gt;
| HOWTOs from the Linux Documentation Project&lt;br /&gt;
| Documentation on many tasks relating to Linux setup and operation. These documents will be installed in /usr/doc/Linux-HOWTOs/.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== Package group [K] ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Package&lt;br /&gt;
! Short Description&lt;br /&gt;
! Long Description&lt;br /&gt;
|-&lt;br /&gt;
| '''kernel-source'''&lt;br /&gt;
| Linux kernel source&lt;br /&gt;
| Source code for Linus Torvalds' Linux kernel. This is the complete and unmodified source code for the Linux kernel.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== Package group [L] ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Package&lt;br /&gt;
! Short Description&lt;br /&gt;
! Long Description&lt;br /&gt;
|-&lt;br /&gt;
| '''db42'''&lt;br /&gt;
| Berkeley database library version 4.2.x&lt;br /&gt;
| The Berkeley Database (Berkeley DB) library provides embedded database support for both traditional and client/server applications. This package should be installed if compatibility is needed with databases created with the Berkeley DB version 4.2.x.&lt;br /&gt;
|-&lt;br /&gt;
| '''db44'''&lt;br /&gt;
| Berkeley database library version 4.4.x&lt;br /&gt;
| The Berkeley Database (Berkeley DB) library provides embedded database support for both traditional and client/server applications. This package should be installed if compatibility is needed with databases created with the Berkeley DB version 4.4.x.&lt;br /&gt;
|-&lt;br /&gt;
| '''gdbm'''&lt;br /&gt;
| GNU database routines&lt;br /&gt;
| GNU dbm is a set of database routines that work similar to the standard UNIX dbm routines.&lt;br /&gt;
|-&lt;br /&gt;
| '''glibc'''&lt;br /&gt;
| GNU C libraries&lt;br /&gt;
| This package contains the GNU C libraries and header files.  The GNU C library was written originally by Roland McGrath, and is currently maintained by Ulrich Drepper.  Some parts of the library were contributed or worked on by other people. You'll need this package to compile programs.&lt;br /&gt;
|-&lt;br /&gt;
| '''glibc-i18n'''&lt;br /&gt;
| locale files from glibc&lt;br /&gt;
| These files go in /usr/lib/locale and /usr/share/i18n/ to provide internationalization support.  You'll need this package unless you will be using US English only.&lt;br /&gt;
|-&lt;br /&gt;
| '''libusb'''&lt;br /&gt;
| USB library&lt;br /&gt;
| This is libusb, a library which allows userspace application access to USB devices.  It is used to connect to USB devices like scanners.&lt;br /&gt;
|-&lt;br /&gt;
| '''lzo'''&lt;br /&gt;
| LZO Compression Library&lt;br /&gt;
| LZO is a portable lossless data compression library written in ANSI C. It offers pretty fast compression and very fast decompression.&lt;br /&gt;
|-&lt;br /&gt;
| '''ncurses'''&lt;br /&gt;
| ---&lt;br /&gt;
| The ncurses (new curses) library is a free software emulation of curses in System V Release 4.0, and more.  It uses terminfo format, supports pads and color and multiple highlights and forms characters and function-key mapping, and has all the other SYSV-curses enhancements over BSD curses.&lt;br /&gt;
|-&lt;br /&gt;
| '''pcre'''&lt;br /&gt;
| Perl-compatible regular expression library&lt;br /&gt;
| The pcre  library is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5, with just a few differences (documented in the man page).&lt;br /&gt;
|-&lt;br /&gt;
| '''popt'''&lt;br /&gt;
| Command line parsing library&lt;br /&gt;
| popt  is a C library for parsing command line parameters.  popt  was heavily influenced by the getopt() and getopt_long() functions, but it improves on them by allowing more powerful argument expansion.  popt can parse arbitrary argv[] style arrays and automatically set variables based on command line arguments.  popt  allows command line arguments to be aliased via configuration files and includes utility functions for parsing arbitrary strings into argv[] arrays using shell-like rules.&lt;br /&gt;
|-&lt;br /&gt;
| '''readline'''&lt;br /&gt;
| line input library with editing features&lt;br /&gt;
| The GNU Readline library provides a set of functions for use by applications that allow users to edit command lines as they are typed in.  Both Emacs and vi editing modes are available.  The Readline library includes additional functions to maintain a list of previously entered command lines, to recall and perhaps edit those lines, and perform csh-like history expansion on previous commands.&lt;br /&gt;
|-&lt;br /&gt;
| '''zlib'''&lt;br /&gt;
| Compression library&lt;br /&gt;
| zlib is a general purpose thread safe data compression library.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== Package group [N] ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Package&lt;br /&gt;
! Short Description&lt;br /&gt;
! Long Description&lt;br /&gt;
|-&lt;br /&gt;
| '''bitchx'''&lt;br /&gt;
| Chat client&lt;br /&gt;
| BitchX is an advanced Internet Relay Chat (IRC) client.&lt;br /&gt;
|-&lt;br /&gt;
| '''dhcpcd'''&lt;br /&gt;
| DHCP client daemon&lt;br /&gt;
| The DHCP client program dhcpcd is used to connect to a network by contacting a DHCP server.  dhcpcd gets an IP address and other information from a corresponding DHCP server, configures the network interface automatically, and tries to renew the lease time according to RFC2131 or RFC1541 depending on the command line option.&lt;br /&gt;
|-&lt;br /&gt;
| '''inetd'''&lt;br /&gt;
| Internet super-server&lt;br /&gt;
| This is a program to listen for connections on certain Internet sockets and invokes a program to service the request.  Essentially, inetd allows running one daemon to invoke several others, reducing load on the system.  Many of the network services are run through inetd, so you'll probably need it. This version of inetd was ported from OpenBSD.&lt;br /&gt;
|-&lt;br /&gt;
| '''iproute2'''&lt;br /&gt;
| IP routing utilities&lt;br /&gt;
| These are tools used to administer many advanced IP routing features in the kernel.  See Configure.help in the kernel documentation (search for iproute2) for more information on which kernel options these tools are used with.&lt;br /&gt;
|-&lt;br /&gt;
| '''iptables'''&lt;br /&gt;
| IP packet filter administration&lt;br /&gt;
| Iptables can be used to build internet firewalls based on stateless and stateful packet filtering, use NAT and masquerading for sharing internet access if you don't have enough public IP addresses, use NAT to implement transparent proxies, aid the tc and iproute2 systems used to build sophisticated QoS and policy routers, do further packet manipulation (mangling) like altering the TOS/DSCP/ECN bits of the IP header, and much more.&lt;br /&gt;
|-&lt;br /&gt;
| '''iptraf'''&lt;br /&gt;
| ---&lt;br /&gt;
| IPTraf is a console-based network monitoring program for Linux that displays information about IP traffic such as:  Current TCP connections, types of IP packets, packet and byte counts, TCP/UDP counts by ports, packet counts by packet sizes, packet and byte counts by IP address, interface activity, flag statuses on TCP packets, and other LAN station statistics.&lt;br /&gt;
|-&lt;br /&gt;
| '''iputils''' &lt;br /&gt;
| a collection of common network tools&lt;br /&gt;
| The iputils package contains network tools found on nearly all *NIX systems, along with an extra or two.  Some of the utilities found here include arping, clockdiff, ping, ping6, rarpd, rdisc, tracepath, tracepath6, and traceroute6.&lt;br /&gt;
|-&lt;br /&gt;
| '''lftp'''&lt;br /&gt;
| Command line file transfer program&lt;br /&gt;
| lftp is a program that allows sophisticated ftp and http connections to other hosts.  lftp can handle many file access methods including ftp, ftps, http, https, hftp, fish and file.  Every operation in lftp is reliable, that is any non-fatal error is ignored and the operation is retried.  lftp has shell-like command syntax.  lftp has a built in mirror feature which can download or upload a whole directory tree. To learn about many more features of lftp, see 'man lftp'.&lt;br /&gt;
|-&lt;br /&gt;
| '''libgcrypt'''&lt;br /&gt;
| General purpose crypto library&lt;br /&gt;
| libgcrypt  is a general purpose crypto library based on the code used in GnuPG.&lt;br /&gt;
|-&lt;br /&gt;
| '''libgpg-error'''&lt;br /&gt;
| GnuPG Error Definitions Library&lt;br /&gt;
| This is a library that defines common error values for all GnuPG components.  Among these are GPG, GPGSM, GPGME, GPG-Agent, libgcrypt , Libksba, DirMngr, Pinentry, SmartCard Daemon, and more.&lt;br /&gt;
|-&lt;br /&gt;
| '''lynx'''&lt;br /&gt;
| Text mode browser&lt;br /&gt;
| Lynx is a distributed hypertext browser with full World Wide Web capabilities.  Lynx can be used to access information on the World Wide Web, or to build information systems intended primarily for local access.  For example, Lynx has been used to build several Campus Wide Information Systems (CWIS).  &lt;br /&gt;
|-&lt;br /&gt;
| '''mtr'''&lt;br /&gt;
| A network diagnostic tool&lt;br /&gt;
| mtr combines the functionality of the 'traceroute' and 'ping' programs in a single network diagnostic tool.&lt;br /&gt;
|-&lt;br /&gt;
| '''net-tools'''&lt;br /&gt;
| Base Linux networking utilities&lt;br /&gt;
| This is the core collection of tools such as &amp;quot;ifconfig&amp;quot; and &amp;quot;route&amp;quot; used to configure networking on Linux.  You won't be able to do much networking without this package and the network-scripts.&lt;br /&gt;
|-&lt;br /&gt;
| '''netkit-ftp'''&lt;br /&gt;
| The old BSD FTP client&lt;br /&gt;
| Ftp is the user interface to the Internet standard File Transfer Protocol.  The program allows a user to transfer files to and from a remote network site. This is a program of mostly historical value.  For a more powerful command-line FTP client, look at something like lftp.&lt;br /&gt;
|-&lt;br /&gt;
| '''netket-rsh'''&lt;br /&gt;
| The BSD rsh/rcp/rlogin clients and daemon&lt;br /&gt;
| The old BSD rsh suite.  Note that none of these programs provide encryption or strong authentication of network connections.  As such, their use is discouraged.  The &amp;quot;ssh&amp;quot; protocol and package is a cryptographically secure replacement.&lt;br /&gt;
|-&lt;br /&gt;
| '''netwatch'''&lt;br /&gt;
| ---&lt;br /&gt;
| Netwatch allows a user (superuser) to monitor activity on the network. The monitor includes statistics on transmitted and received packets, bytes, protocol, and more.&lt;br /&gt;
|-&lt;br /&gt;
| '''network-scripts'''&lt;br /&gt;
| Scripts to configure a network&lt;br /&gt;
| These are the basic scripts and files used to define a network and configure network interfaces on Linux.  Most of the original /etc files were written by Fred N. van Kempen, or borrowed from BSD. The rc.inet1 and rc.inet2 scripts were mostly written by Patrick Volkerding, with suggestions and fixes from hundreds of contributors over the years.&lt;br /&gt;
|-&lt;br /&gt;
| '''nmap''' &lt;br /&gt;
| Network scanner&lt;br /&gt;
| Nmap (&amp;quot;Network Mapper&amp;quot;) is an open source utility for network exploration or security auditing.  It was designed to rapidly scan large networks, although it works fine against single hosts.  Nmap uses raw IP packets in novel ways to determine what hosts are available on the network, what services (ports) they are offering, what operating system (and OS version) they are running, what type of packet filters/firewalls are in use, and dozens of other characteristics.  Nmap runs on most types of computers, and both console and graphical versions are available.&lt;br /&gt;
|-&lt;br /&gt;
| '''ntp'''&lt;br /&gt;
| Network Time Protocol daemon&lt;br /&gt;
| The Network Time Protocol (NTP) is used to synchronize the time of a computer client or server to another server or reference time source, such as a radio or satellite receiver or modem. It provides client accuracies typically within a millisecond on LANs and up to a few tens of milliseconds on WANs relative to a primary server synchronized to Coordinated Universal Time (UTC) via a Global Positioning Service (GPS) receiver, for example.&lt;br /&gt;
|-&lt;br /&gt;
| '''openssh'''&lt;br /&gt;
| Secure Shell daemon and clients&lt;br /&gt;
| ssh (Secure Shell) is a program for logging into a remote machine and for executing commands on a remote machine.  It is intended to replace rlogin and rsh, and provide secure encrypted communications between two untrusted hosts over an insecure network.  sshd (SSH Daemon) is the daemon program for ssh.&lt;br /&gt;
|-&lt;br /&gt;
| '''openssl'''&lt;br /&gt;
| Secure Sockets Layer toolkit&lt;br /&gt;
| The OpenSSL certificate management tool and the shared libraries that provide various encryption and decryption algorithms and protocols.&lt;br /&gt;
|-&lt;br /&gt;
| '''tcp_wrappers'''&lt;br /&gt;
| TCP/IP daemon wrapper library and utilities&lt;br /&gt;
| With this package you can monitor and filter incoming requests for network services for access control, and detection things like host name spoofing and host address spoofing.  Nearly all the network daemons on Slackware are &amp;quot;wrapped&amp;quot; using this library, and most daemons in /etc/inetd.conf use tcp_wrappers' tcpd wrapper daemon. If you plan to do much networking, you will need tcp_wrappers.&lt;br /&gt;
|-&lt;br /&gt;
| '''telnet'''&lt;br /&gt;
| The telnet client and daemon&lt;br /&gt;
| telnet supports the original DARPA telnet interactive communication protocol.  As connecting to a telnetd server transmits your password over the network in cleartext, telnet's use as a login protocol has been mostly superceded by the use of ssh and sshd.  However, the telnet client is still a very handy tool, and telnetd may still have some uses on networks that are known to be secure. telnet and telnetd were ported from BSD.&lt;br /&gt;
|-&lt;br /&gt;
| '''traceroute'''&lt;br /&gt;
| IP packet route tracing utility&lt;br /&gt;
| The traceroute utility displays the route used by IP packets on their way to a specified network host.  Traceroute will display the IP number and host name (if possible) of all the machines along the route taken by the packets.  If you're having network connectivity problems, traceroute can show you where the trouble is located.&lt;br /&gt;
|-&lt;br /&gt;
| '''wget'''&lt;br /&gt;
| A non-interactive network retriever&lt;br /&gt;
| GNU Wget is a free network utility to retrieve files from the World Wide Web using HTTP and FTP, the two most widely used Internet protocols.  It works non-interactively, thus enabling work in the background after having logged off.&lt;br /&gt;
|-&lt;br /&gt;
| '''whois'''&lt;br /&gt;
| whois directory client&lt;br /&gt;
| This is an enhanced whois (RFC 954) client derived from the BSD and RIPE whois programs.  It can automatically select the appropriate whois server for most queries.&lt;br /&gt;
|-&lt;br /&gt;
| '''wireless-tools'''&lt;br /&gt;
| Utilities for wireless networking&lt;br /&gt;
| This package contains tools and a library used for configuring wireless networking interfaces: iwconfig (the main wireless tool), iwlist (display more detailed information than iwconfig), iwspy (get stats per MAC address and more), iwpriv (set driver private ioctls), iwgetid (show the ESSID or NWID of a device), iwevent (display wireless events), ifrename (rename a network interface).&lt;br /&gt;
|-&lt;br /&gt;
| '''wpa_supplicant'''&lt;br /&gt;
| WPA/WPA2/IEEE 802.1X Supplicant&lt;br /&gt;
| wpa_supplicant is a WPA Supplicant for Linux with support for WPA and WPA2 (IEEE 802.11i / RSN). Supplicant is the IEEE 802.1X/WPA component that is used in the client stations. It implements key negotiation with a WPA Authenticator and it controls the roaming and IEEE 802.11 authentication/association of the wlan driver.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== How to install this minimal system ===&lt;br /&gt;
&lt;br /&gt;
You only need the first Slackware CD to do this. &lt;br /&gt;
&lt;br /&gt;
* Install Slackware as you would do normally. &lt;br /&gt;
&lt;br /&gt;
* In the '''PACKAGE SERIES SELECTION''' screen, select package sets '''A''', '''AP''', '''D''', '''F''', '''K''', '''L''' and '''N'''. &lt;br /&gt;
&lt;br /&gt;
Now you have two choices:&lt;br /&gt;
&lt;br /&gt;
* '''Manual selection''': at the next screen ('''SELECT PROMPTING MODE'''), choose the '''expert''' option, and manually select (or unselect) every single package.&lt;br /&gt;
&lt;br /&gt;
* '''Using tagfiles''': this method is described in detail [http://www.slackbasics.org/html/chap-pkgmgmt.html#chap-pkgmgmt-tagfiles here]. I provide a set of tagfiles which spares you the chore of manual package selection. You can download it [http://www.kikinovak.net/tagfiles/base.tar.bz2 here].&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>Ibm5 25</name></author>
	</entry>
	<entry>
		<id>https://www.slackwiki.com/index.php?title=User_talk:Ibm5_25&amp;diff=17</id>
		<title>User talk:Ibm5 25</title>
		<link rel="alternate" type="text/html" href="https://www.slackwiki.com/index.php?title=User_talk:Ibm5_25&amp;diff=17"/>
		<updated>2009-05-28T08:47:16Z</updated>

		<summary type="html">&lt;p&gt;Ibm5 25: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Minimal_System]]&lt;/div&gt;</summary>
		<author><name>Ibm5 25</name></author>
	</entry>
	<entry>
		<id>https://www.slackwiki.com/index.php?title=ThinkPad_X61s&amp;diff=16</id>
		<title>ThinkPad X61s</title>
		<link rel="alternate" type="text/html" href="https://www.slackwiki.com/index.php?title=ThinkPad_X61s&amp;diff=16"/>
		<updated>2009-05-28T08:46:01Z</updated>

		<summary type="html">&lt;p&gt;Ibm5 25: from /old&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Hardware]]&lt;br /&gt;
&lt;br /&gt;
== Specs ==&lt;br /&gt;
&lt;br /&gt;
Note: There are several different models, and Lenovo offer customization in some countries. This is just what I have. Bus IDs are provided when I can't find more details on the model.&lt;br /&gt;
&lt;br /&gt;
* CPU: Intel Core 2 Duo L7500 @ 1.60Ghz&lt;br /&gt;
* RAM: 1GB PC2-3500 DDR2&lt;br /&gt;
* Graphics: Intel Graphics Media Accelerator X3100 (i965)&lt;br /&gt;
* Display: 12.1&amp;quot; 1024x768 TFT&lt;br /&gt;
* Hard Drive: 120GB Hitatchi SATA drive&lt;br /&gt;
* Audio: AD1984 Intel HD Audio&lt;br /&gt;
* LAN: Intel 82566MM Gigabit Ethernet&lt;br /&gt;
* WLAN: Intel 3945 ABG&lt;br /&gt;
* WWAN: Sierra Wireless (Internal USB, ID: 1199:6813)&lt;br /&gt;
* Bluetooth: Broadcom Corp. (Internal USB, ID: 0a5c:2110)&lt;br /&gt;
* Fingerprint reader: SGS Thomson Microelectronics Fingerprint Reader&lt;br /&gt;
* USB: 4 UHCI controllers, 2 EHCI controllers, 3 ports. Intel 82801H (ICH8 Family)&lt;br /&gt;
* Firewire: Ricoh Co Limited - Unknown device (PCI ID: 1180:0832)&lt;br /&gt;
* SD Card reader: Ricoh Co Ltd R5C822&lt;br /&gt;
* Pointing device: TrackPoint - &amp;quot;nipple mouse&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
If you plan on keeping Vista, don't use it's built in NTFS resizer. This will only free up around 30GB of space, instead of the more than 60 you can free up with other tools. I used a proprietary Windows application, [http://www.partition-manager.com Paragon Partition Manager], however Parted and ntfs_resize are reported to have no problems. I'd advise not using Partition Magic, as it officially doesn't support Vista.&lt;br /&gt;
&lt;br /&gt;
I would advise not deleting the first partition, as it is the recovery partition. I would also advise not installing your bootloader to the MBR without backing up the MBR first, as it isn't a standard MBR.&lt;br /&gt;
&lt;br /&gt;
CDMA WWAN devices *MUST* be activated from Windows; GSM/UMTS devices don't need activating. For both types of WWAN, the on-screen 'activation information' isn't complete - the full information is on a sticker on the underside of the laptop.&lt;br /&gt;
&lt;br /&gt;
If when running lilo, you get an error out the partition table being invalid, and asking you to FIX or IGNORE, &amp;quot;lilo -P fix&amp;quot; worked for me, and I can still boot Windows fine. &amp;quot;lilo -P ignore&amp;quot; is safer, but may not work.&lt;br /&gt;
&lt;br /&gt;
Also, I installed Slamd64, not Slackware. I will note anywhere where I believe there's likely to be a difference.&lt;br /&gt;
&lt;br /&gt;
== Installing ==&lt;br /&gt;
&lt;br /&gt;
There's 4 choices:&lt;br /&gt;
&lt;br /&gt;
* Normal install from UltraBay DVD drive in UltraBase (docking station)&lt;br /&gt;
* Normal install from USB DVD drive - there's reportedly been mixed success with this though&lt;br /&gt;
* PXE + NFS install&lt;br /&gt;
* USB + NFS install&lt;br /&gt;
&lt;br /&gt;
I created the USB/PXE installer initrd for Slamd64 (Slackware 12.0 includes one already), and went for the PXE + NFS option. There is already good documentation for how to install Slackware like this. You should start the installer with the hugesmp.s kernel, and install it, until you've made a suitable initrd for booting from another kernel.&lt;br /&gt;
&lt;br /&gt;
== Kernel ==&lt;br /&gt;
&lt;br /&gt;
I'd strongly recommend going for the latest kernel from kernel.org - this is a very new laptop, and not properly supported in older kernels. You also probably want to patch it a bit. I used 2.6.22.2&lt;br /&gt;
&lt;br /&gt;
=== Patches ===&lt;br /&gt;
&lt;br /&gt;
Some of these were hard to find, so I've put them at [http://files.fredemmott.co.uk/X61s].&lt;br /&gt;
&lt;br /&gt;
* hdaps_protect-2.6.19.patch.gz - allows userspace to park the hard disk heads. Required for the accelerometer-based hard-drive shock protection to work&lt;br /&gt;
* thinkpad-acpi-0.15-20070723_x2.6.22.1.patch.gz - required for advanced power management, bluetooth, and the soundcard - doesn't quite apply cleanly, find -name &amp;quot;*.rej&amp;quot; in your source tree and apply the remaining changes manually.&lt;br /&gt;
* alsa-git-2007-07-20.patch.gz - required for the sound card&lt;br /&gt;
* enablec3.patch.gz - allows the CPU to enter a lower CPU sleep state&lt;br /&gt;
&lt;br /&gt;
If you have in-built WWAN, you also will need to do minor changes to drivers/usb/serial/sierra.c:&lt;br /&gt;
&lt;br /&gt;
# Find the two lines containing: &amp;lt;pre&amp;gt;USB_DEVICE(0x1199, 0x6812)&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Copy them to the next line, changing 0x6812 to 0x6813&lt;br /&gt;
# Change the comment to something descriptive, like: &amp;lt;pre&amp;gt;/* Thinkpad X61s unknown card */&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Config ===&lt;br /&gt;
&lt;br /&gt;
I based mine off hugesmp.s's config:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zcat /proc/config.gz &amp;gt; .config&lt;br /&gt;
make oldconfig &amp;lt;/dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I also turned on the following options (paths given are for the tree structure in menuconfig):&lt;br /&gt;
&lt;br /&gt;
* Processor type and features/Support for suspend on SMP and hot-pluggable CPUs - CONFIG_HOTPLUG_CPU; this is required for suspend to RAM to function correctly, and lets you turn off the second core to save power.&lt;br /&gt;
* Networking/Wireless/Generic IEEE 802.11 Networking Stack (mac80211) - CONFIG_MAC80211; this is required for the newer of the two WLAN drivers. I recommend making this a module.&lt;br /&gt;
* Device drivers/Misc devices/ThinkPad ACPI Laptop Extras - CONFIG_THINKPAD_ACPI; this is required for sound, bluetooth, and advanced power saving, and used to be &amp;quot;ibm-acpi&amp;quot; instead of &amp;quot;thinkpad-acpi&amp;quot;. I recommend making this a module, and turning on 'Enable input layer support by default' (CONFIG_THINKPAD_ACPI_INPUT_ENABLED).&lt;br /&gt;
&lt;br /&gt;
== rc.modules.local ==&lt;br /&gt;
&lt;br /&gt;
Unless noted otherwise, this is where modules should be loaded from. Keep in mind that if this file is present and +x, rc.modules is not called. For this reason, my rc.modules.local starts with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
if [ -x /etc/rc.d/rc.modules ]; then&lt;br /&gt;
  /etc/rc.d/rc.modules&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This file should be +x, and belongs in /etc/rc.d/.&lt;br /&gt;
&lt;br /&gt;
== Hard Drive Impact Protection ==&lt;br /&gt;
&lt;br /&gt;
The laptop contains hardware to detect a fall, and to park the hard disk drive heads. You need the a kernel patched with the hdaps_protect patch described above.&lt;br /&gt;
&lt;br /&gt;
# Download [http://sourceforge.net/project/showfiles.php?group_id=1212 tp_smapi]&lt;br /&gt;
# Extract it&lt;br /&gt;
# make HDAPS=1&lt;br /&gt;
# make install HDAPS=1&lt;br /&gt;
&lt;br /&gt;
Add the following to /etc/rc.d/rc.modules.local:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/sbin/modprobe hdaps&lt;br /&gt;
/sbin/modprobe tp-smapi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you wish to use the joystick device provided by the tilt sensors, one of the axis is inverted. This can be fixed by changing the function 'transform_axes' in hdaps.c to the following, before running 'make':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
static void transform_axes(int *x, int *y)&lt;br /&gt;
{&lt;br /&gt;
  if (hdaps_invert)&lt;br /&gt;
    *x = -*x;&lt;br /&gt;
  else&lt;br /&gt;
    *y = -*y;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Impact protection requires a user-space daemon, hdapsd:&lt;br /&gt;
&lt;br /&gt;
# Download [http://files.fredemmott.co.uk/X61s/hdapsd-20070524.c hdapsd-20070524.c]&lt;br /&gt;
# gcc -o /usr/local/sbin/hdapsd hdapsd-20070524.c&lt;br /&gt;
# Add the following to /etc/rc.d/rc.local: &amp;lt;pre&amp;gt;/usr/local/sbin/hdapsd -d sda -s 30 -b&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== KHDAPSMonitor ===&lt;br /&gt;
&lt;br /&gt;
KHDAPSMonitor is a KDE system-tray applet that indicates the status of the hard disk parking. Eric Hameleers has made [http://www.slackware.com/~alien/slackbuilds/khdapsmonitor/pkg/12.0/ a package] and [http://www.slackware.com/~alien/slackbuilds/khdapsmonitor/build/ SlackBuild script].&lt;br /&gt;
&lt;br /&gt;
== XOrg ==&lt;br /&gt;
&lt;br /&gt;
xorgconfig should give you a working configuration. You want to use the 'intel' graphics driver.&lt;br /&gt;
&lt;br /&gt;
=== Multiple Monitors ===&lt;br /&gt;
&lt;br /&gt;
xrandr 1.2 can handle this fine; there's two &amp;quot;gotchas&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
* You must provide a large enough virtual screen - I have 'Virtual 3000 1600' in my &amp;quot;Display&amp;quot; Subsection&lt;br /&gt;
* Only modes with horizontal and vertical refresh rates in the ranges specified in your xorg.conf screen section will be accepted. Making these ranges really large appears to have no ill effects. (I'm currently using HorizSync 10-100, and VertRefresh 30-70).&lt;br /&gt;
&lt;br /&gt;
Once you've got the above done, and restarted X, it's easy to add enough screen once X is running:&lt;br /&gt;
&lt;br /&gt;
* xrandr --output TV --off&lt;br /&gt;
* xrandr # get a list of modes&lt;br /&gt;
* xrandr --output VGA --mode XRESxYRES&lt;br /&gt;
&lt;br /&gt;
For example, &amp;quot;xrandr --output VGA --mode 1280x1024&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If you want Xinerama, instead of cloning, replace the last line with:&lt;br /&gt;
&lt;br /&gt;
* xrandr --output VGA --mode XRESxYRES --left-of LVDS&lt;br /&gt;
&lt;br /&gt;
Other valid options are --right-of, --above, and --below.&lt;br /&gt;
&lt;br /&gt;
=== DRI ===&lt;br /&gt;
&lt;br /&gt;
This works fine, as long as you've upgraded mesa; it's unstable and crashes with the version included in Slackware, however, upgrading to mesa 7.0.1 fixes this.&lt;br /&gt;
&lt;br /&gt;
== TrackPoint ==&lt;br /&gt;
&lt;br /&gt;
The TrackPoint 'just works' as a basic mouse, however, it can do better :) For enhanced support:&lt;br /&gt;
&lt;br /&gt;
Add the following to /etc/rc.d/rc.modules.local (the psmouse driver doesn't recognize it as a TrackPoint the first time):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/sbin/rmmod psmouse&lt;br /&gt;
/sbin/modprobe psmouse&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following to /etc/rc.d/rc/local: &amp;lt;pre&amp;gt;echo 1 &amp;gt; /sys/devices/platform/i8042/serio1/press_to_select&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I have the following as the relevant &amp;quot;InputDevice&amp;quot; section in my xorg.conf, which lets you hold down the middle mouse button to scroll:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
  Identifier &amp;quot;Mouse1&amp;quot;&lt;br /&gt;
  Driver &amp;quot;mouse&amp;quot;&lt;br /&gt;
  Option &amp;quot;Protocol&amp;quot; &amp;quot;ExplorerPS/2&amp;quot; # IMPS/2 is not recommend for TrackPoints&lt;br /&gt;
  Option &amp;quot;Device&amp;quot; &amp;quot;/dev/input/mice&amp;quot;&lt;br /&gt;
  Option &amp;quot;EmulateWheel&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
  Option &amp;quot;EmulateWheelTimeout&amp;quot; &amp;quot;200&amp;quot;&lt;br /&gt;
  Option &amp;quot;EmulateWheelButton&amp;quot; &amp;quot;2&amp;quot;&lt;br /&gt;
  Option &amp;quot;YAxisMapping&amp;quot; &amp;quot;4 5&amp;quot;&lt;br /&gt;
  Option &amp;quot;XAxisMapping&amp;quot; &amp;quot;6 7&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Card Reader ==&lt;br /&gt;
&lt;br /&gt;
Add the following to rc.modules.local:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/sbin/modprobe sdhci&lt;br /&gt;
/sbin/modprobe mmc-block&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This card reader is compatible with HAL's media insertion/removal support.&lt;br /&gt;
&lt;br /&gt;
== Sound ==&lt;br /&gt;
&lt;br /&gt;
This uses the snd-hda-intel driver, which should be automatically loaded by udev. If you get silence, check that Speaker output is enabled, and check /proc/acpi/ibm/volume.&lt;br /&gt;
&lt;br /&gt;
Without the thinkpad-acpi module loaded, audio is corrupted.&lt;br /&gt;
&lt;br /&gt;
== Gigabit Ethernet ==&lt;br /&gt;
&lt;br /&gt;
This uses the e1000 driver.&lt;br /&gt;
&lt;br /&gt;
== Wireless LAN (802.11) ==&lt;br /&gt;
&lt;br /&gt;
I used the [http://intellinuxwireless.org new iwlwifi driver], version 1.0, and the corresponding iwlwifi-3945-ucode, version 2.14.1.5. Ignore the documentation saying you need to download mac80211 and patch the kernel, this is included in recent kernels.&lt;br /&gt;
&lt;br /&gt;
# Download the ucode tarball&lt;br /&gt;
# Extract it somewhere&lt;br /&gt;
# Copy iwlwifi-3945-1.ucode to /lib/firmware/iwlwifi-3945.ucode - note the filename change&lt;br /&gt;
# Download the iwlwifi driver tarball&lt;br /&gt;
# Extract it&lt;br /&gt;
# make; make install&lt;br /&gt;
&lt;br /&gt;
Add the following to rc.modules.local:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/sbin/modprobe iwl3945&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When this module is loaded, the WLAN device is wlan0.&lt;br /&gt;
&lt;br /&gt;
== Wireless WAN (EVDO/UMTS) ==&lt;br /&gt;
&lt;br /&gt;
These instructions based on the UK Vodafone 3G card. I believe the US Cingular/Verizon cards should be very similar; check the USB IDs though.&lt;br /&gt;
&lt;br /&gt;
Add the following to rc.modules.local: &amp;lt;pre&amp;gt;/sbin/modprobe usbserial vendor=0x1199 product=0x6813&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should now have /dev/ttyUSB[0-2].&lt;br /&gt;
&lt;br /&gt;
I have [http://files.fredemmott.co.uk/X61s/ppp-peers.tar.bz2 modified] the pppd peers scripts that [http://www.sierrawireless.com/faq/ShowFAQ.aspx?ID=601 Sierra provides]. Untar these to /etc/ppp, creating 4 files in /etc/ppp/peers. &amp;quot;gsm&amp;quot; and &amp;quot;gsm_chat&amp;quot; are for GSM/UMTS connections, &amp;quot;cdma&amp;quot; and &amp;quot;cdma_chat&amp;quot; are for CDMA devices. For GSM/UMTS, if you aren't using Vodafone, you must change the APN in gsm_chat. I am unsure about the configuration of CDMA.&lt;br /&gt;
&lt;br /&gt;
To connect, type &amp;quot;pppd call gsm&amp;quot; for GSM/UMTS, or &amp;quot;pppd call cdma&amp;quot; for cdma.&lt;br /&gt;
&lt;br /&gt;
== ACPI ==&lt;br /&gt;
&lt;br /&gt;
I'm assuming you've patched your kernel and build thinkpad-acpi as a module.&lt;br /&gt;
&lt;br /&gt;
To enable basic ACPI functionality, add the following to /etc/rc.d/rc.modules.local:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/sbin/modprobe nvram&lt;br /&gt;
/sbin/modprobe ac&lt;br /&gt;
/sbin/modprobe battery&lt;br /&gt;
/sbin/modprobe button&lt;br /&gt;
/sbin/modprobe acpi-cpufreq&lt;br /&gt;
/sbin/modprobe cpufreq-ondemand&lt;br /&gt;
/sbin/modprobe thinkpad-acpi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you wish to use any of the ACPI action scripts below:&lt;br /&gt;
&lt;br /&gt;
#Download [http://files.fredemmott.co.uk/X61s/acpi_handler.sh] as /etc/acpi/acpi_handler.sh&lt;br /&gt;
#&amp;lt;pre&amp;gt;chmod +x /etc/acpi/acpi_handler.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== CPU Frequency Scaling ===&lt;br /&gt;
&lt;br /&gt;
To enable on-demand frequency scaling:&lt;br /&gt;
&amp;lt;pre&amp;gt;echo ondemand &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Changing the cpufreq settings for one core affects both. cpu1's cpufreq directory is actually a symlink to cpu0's.&lt;br /&gt;
&lt;br /&gt;
Intel recommend ondemand, and believe it to be more power-efficient than 'powersave'.&lt;br /&gt;
&lt;br /&gt;
=== Suspend to RAM ===&lt;br /&gt;
&lt;br /&gt;
Add the following to the Linux section of your /etc/lilo.conf, otherwise you'll have a black screen when resuming:&lt;br /&gt;
&amp;lt;pre&amp;gt;append = &amp;quot;acpi_sleep=s3_bios&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run lilo and reboot.&lt;br /&gt;
&lt;br /&gt;
To sleep, download [http://files.fredemmott.co.uk/X61s/sleep]. This script is based on one from [http://www.thinkwiki.org ThinkWiki].&lt;br /&gt;
&lt;br /&gt;
If you want to go to sleep based on ACPI events, such as closing the lid or pressing the sleep button (Fn-F4):&lt;br /&gt;
# Save the above 'sleep' script as /etc/acpi/actions/sleep&lt;br /&gt;
# &amp;lt;pre&amp;gt;chmod +x /etc/acpi/actions/sleep&amp;lt;/pre&amp;gt;&lt;br /&gt;
# For Fn-F4 to work, run the following and add it to /etc/rc.d/rc.local: &amp;lt;pre&amp;gt;echo 808 &amp;gt; /proc/acpi/ibm/hotkey&amp;lt;/pre&amp;gt; 808 is a modification of the default bitmask, telling thinkpad-acpi to pass the Fn-F4 event to the ACPI userspace, instead of dealing with it itself, AKA ignoring it.&lt;br /&gt;
&lt;br /&gt;
=== Suspend to Disk ===&lt;br /&gt;
&lt;br /&gt;
This works fine, just change the above 'sleep' script to echo &amp;quot;disk&amp;quot; instead of echo &amp;quot;ram&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Adjust Screen Brightness on AC Status Change ===&lt;br /&gt;
# Download [http://files.fredemmott.co.uk/X61s/ac] as /etc/acpi/actions/ac&lt;br /&gt;
# chmod +x /etc/acpi/actions/ac&lt;br /&gt;
&lt;br /&gt;
The brightness levels used on battery and ac are adjusted by two variables at the top of that script.&lt;br /&gt;
&lt;br /&gt;
You might also want to add /etc/acpi/actions/ac to /etc/rc.d/rc.local, so that the appropriate brightness is set on boot.&lt;br /&gt;
&lt;br /&gt;
== PCMCIA/CardBus ==&lt;br /&gt;
&lt;br /&gt;
This works fine, and should 'just work'. It uses the yenta_socket driver.&lt;br /&gt;
&lt;br /&gt;
=== Fingerprint Reader ===&lt;br /&gt;
&lt;br /&gt;
This works fine on a PAMified system, using the 'thinkfinger' driver. I've not tried the closed source driver.&lt;br /&gt;
&lt;br /&gt;
You can also use it instead of a BIOS password if you configure it from Windows.&lt;br /&gt;
&lt;br /&gt;
== Not Tested ==&lt;br /&gt;
&lt;br /&gt;
=== Firewire ===&lt;br /&gt;
&lt;br /&gt;
I don't have any firewire devices, so I've not tested this. It is however detected by the kernel, and appears to be supported.&lt;br /&gt;
&lt;br /&gt;
=== BlueTooth ===&lt;br /&gt;
&lt;br /&gt;
I've just not got round to testing this yet.&lt;br /&gt;
&lt;br /&gt;
/proc/acpi/ibm/bluetooth enables/disabled it. When it's disabled, it doesn't appear on the USB bus. When enabled, and the wireless kill switch is off, it is detected by the hciusb driver.&lt;br /&gt;
&lt;br /&gt;
=== UltraBase/UltraBay DVD Drive ===&lt;br /&gt;
&lt;br /&gt;
I don't own this hardware. Reportedly it's a standard IDE drive, and hotplugging works.&lt;br /&gt;
&lt;br /&gt;
=== Modem ===&lt;br /&gt;
&lt;br /&gt;
Got no use for it.&lt;br /&gt;
&lt;br /&gt;
== Not Working ==&lt;br /&gt;
&lt;br /&gt;
=== Screen Brightness Buttons ===&lt;br /&gt;
&lt;br /&gt;
Screen brightness can be controlled via /proc/acpi/ibm/brightness&lt;br /&gt;
&lt;br /&gt;
== External sources ==&lt;br /&gt;
* [http://www.thinkwiki.org/ ThinkWiki - Linux Thinkpad Wiki] - Tons of information about installing various Linux distributions on IBM/Lenovo Thinkpads&lt;/div&gt;</summary>
		<author><name>Ibm5 25</name></author>
	</entry>
	<entry>
		<id>https://www.slackwiki.com/index.php?title=User_talk:Ibm5_25&amp;diff=15</id>
		<title>User talk:Ibm5 25</title>
		<link rel="alternate" type="text/html" href="https://www.slackwiki.com/index.php?title=User_talk:Ibm5_25&amp;diff=15"/>
		<updated>2009-05-28T08:45:40Z</updated>

		<summary type="html">&lt;p&gt;Ibm5 25: Created page with 'ThinkPad X61s'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[ThinkPad X61s]]&lt;/div&gt;</summary>
		<author><name>Ibm5 25</name></author>
	</entry>
	<entry>
		<id>https://www.slackwiki.com/index.php?title=Category:Tutorials&amp;diff=14</id>
		<title>Category:Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.slackwiki.com/index.php?title=Category:Tutorials&amp;diff=14"/>
		<updated>2009-05-28T08:43:11Z</updated>

		<summary type="html">&lt;p&gt;Ibm5 25: CPU Freq Scale, 2x&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the spot for Tutorials. If you create a page and want it listed in this category, add &amp;lt;nowiki&amp;gt;[[Category:Tutorials]]&amp;lt;/nowiki&amp;gt; to the top.&lt;br /&gt;
&lt;br /&gt;
Please [[Special:Userlogin|LOG IN]] before adding/editing pages.&lt;/div&gt;</summary>
		<author><name>Ibm5 25</name></author>
	</entry>
	<entry>
		<id>https://www.slackwiki.com/index.php?title=CPU_Frequency_Scaling&amp;diff=13</id>
		<title>CPU Frequency Scaling</title>
		<link rel="alternate" type="text/html" href="https://www.slackwiki.com/index.php?title=CPU_Frequency_Scaling&amp;diff=13"/>
		<updated>2009-05-28T08:42:37Z</updated>

		<summary type="html">&lt;p&gt;Ibm5 25: Copied from /old&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The CPU frequency scaling feature present in modern computers allows lowering and increasing the processor speed dynamically in runtime so as to save energy while having the possibility of increasing the performance and power consumption if needed. Activating CPU frequency scaling under Slackware is very easy, and requires loading a minimum of two kernel modules and running a simple command. On the one hand, you need to load a specific CPU driver that will activate the frequency scaling feature in your platform. Second, you need to choose a CPU frequency scaling governor, a module that will decide how and when to change the internal processor speed. There are governors to always run at full speed, governors to always run at low speed, governors to increase and decrease the speed based on the CPU load, etc.&lt;br /&gt;
&lt;br /&gt;
It's usually desired to activate CPU frequency scaling as early as possible in the boot process, eventhough a few seconds running at full power are not that important. The easier way is, however, to enable it from the boot script &amp;lt;tt&amp;gt;/etc/rc.d/rc.local&amp;lt;/tt&amp;gt;, which is executed right at the end of the boot process. Other approaches need more intrusive changes. You could load the required modules and run the commands from a modified init script of an initial RAM disk. You could do the same from a personal &amp;lt;tt&amp;gt;/etc/rc.d/rc.modules.local&amp;lt;/tt&amp;gt;, or also from the already mentioned &amp;lt;tt&amp;gt;rc.local&amp;lt;/tt&amp;gt;. It's up to you to decide when and where to load and activate the feature.&lt;br /&gt;
&lt;br /&gt;
= Loading CPU specific drivers =&lt;br /&gt;
&lt;br /&gt;
You first need to load one of the available CPU powersaving modules. They are included in the typical kernel module packages, and depend on the type of CPU you have. Every available module will be located in &amp;lt;tt&amp;gt;/lib/modules/$( uname -r )/kernel/arch/i386/kernel/cpu/cpufreq&amp;lt;/tt&amp;gt;. For example, my CPU is a K8 processor and I use the &amp;lt;tt&amp;gt;powernow-k8&amp;lt;/tt&amp;gt; module. Inside that directory you will see a lot of module files ending with &amp;lt;tt&amp;gt;.ko&amp;lt;/tt&amp;gt;. To load them, use &amp;lt;tt&amp;gt;/sbin/modprobe&amp;lt;/tt&amp;gt; followed by the name before the suffix, from any location. Example:&lt;br /&gt;
&lt;br /&gt;
  /sbin/modprobe powernow-k8&lt;br /&gt;
&lt;br /&gt;
If you're not sure about which driver you need, proceed by trial and error. Load one module with a command like the previous one and then check the last lines of &amp;lt;tt&amp;gt;dmesg&amp;lt;/tt&amp;gt; with the command &amp;lt;tt&amp;gt;dmesg | tail&amp;lt;/tt&amp;gt;. If you see a successful detection, that's the module you need. If not, unload the module with &amp;lt;tt&amp;gt;/sbin/modprobe -r&amp;lt;/tt&amp;gt; (example: &amp;lt;tt&amp;gt;/sbin/modprobe -r powernow-k8&amp;lt;/tt&amp;gt;) and try another one. This is an example of successful output as printed by &amp;lt;tt&amp;gt;dmesg | tail&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
  powernow-k8: Found 1 Mobile AMD Sempron(tm) Processor 3000+ processors (version 2.00.00)&lt;br /&gt;
  powernow-k8:    0 : fid 0xa (1800 MHz), vid 0x8&lt;br /&gt;
  powernow-k8:    1 : fid 0x8 (1600 MHz), vid 0xa&lt;br /&gt;
  powernow-k8:    2 : fid 0x0 (800 MHz), vid 0x13&lt;br /&gt;
&lt;br /&gt;
= Loading a governor module =&lt;br /&gt;
&lt;br /&gt;
The second step is to load a governor module. The governor most people will want to load is the one named &amp;lt;em&amp;gt;ondemand&amp;lt;/em&amp;gt;, that will always use the lowest frequency available to fullfill the processing requirements. If your computer is idle, it will put the processor in the lowest possible speed. If you perform a very CPU-intensive task, it will increase the frequency accordingly. It's also the governor that Intel recommends to use in its laptops. All the available governor modules are located in &amp;lt;tt&amp;gt;/lib/modules/$( uname -r )/kernel/drivers/cpufreq&amp;lt;/tt&amp;gt;. To use a governor, the first step is to load its corresponding module as we did previously with the CPU module. Example:&lt;br /&gt;
&lt;br /&gt;
  /sbin/modprobe cpufreq_ondemand&lt;br /&gt;
&lt;br /&gt;
Notice how the governor is called &amp;lt;em&amp;gt;ondemand&amp;lt;/em&amp;gt;, yet its module is called &amp;lt;em&amp;gt;cpufreq_ondemand&amp;lt;/em&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
= Setting the CPU scaling governor =&lt;br /&gt;
&lt;br /&gt;
Loading a governor module doesn't mean it's going to be used immediately. In fact, you can load all governor modules if you want. To decide which governor will be used in a given moment, you need to set it at runtime. Each CPU can have its own governor. That is, if you have a dual core machine, you can put one of the cores in low power and other one in full power if you need it. However, the most usual case is to use the same governor in all CPUs. Each CPU has its own configuration file in the &amp;lt;tt&amp;gt;/sys&amp;lt;/tt&amp;gt; filesystem. For example, the file for the first CPU is called &amp;lt;tt&amp;gt;/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor&amp;lt;/tt&amp;gt;. For other CPUs, increase the digit in &amp;lt;tt&amp;gt;cpu0&amp;lt;/tt&amp;gt;. You can set a governor name for all of them at the same time using a shell loop like the one in this example, that sets the &amp;lt;em&amp;gt;ondemand&amp;lt;/em&amp;gt; governor for every CPU:&lt;br /&gt;
&lt;br /&gt;
  for config_file in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do&lt;br /&gt;
      echo ondemand &amp;gt;$config_file&lt;br /&gt;
  done&lt;br /&gt;
&lt;br /&gt;
To confirm you have successfully set the governor, see if it scales the CPU frequency. From an idle system, run &amp;lt;tt&amp;gt;grep '^cpu MHz' /proc/cpuinfo&amp;lt;/tt&amp;gt;. You should see one or more lines like:&lt;br /&gt;
&lt;br /&gt;
  cpu MHz         : 800.000&lt;br /&gt;
&lt;br /&gt;
Then, launch a CPU intensive task from a different terminal, like &amp;lt;tt&amp;gt;yes &amp;gt;/dev/null&amp;lt;/tt&amp;gt; and then run the previous command again. You should now see a higher number (1800.000 in my case) in at least one of the output lines. If you see the same number wait 5 seconds and try again.&lt;br /&gt;
&lt;br /&gt;
= Putting it all together =&lt;br /&gt;
&lt;br /&gt;
This can be made as sophisticated as you decide, but let's suppose you opt for the simple approach of setting everything up from &amp;lt;tt&amp;gt;rc.local&amp;lt;/tt&amp;gt;. You would add the following commands if your CPU needed the module &amp;lt;em&amp;gt;powernow-k8&amp;lt;/em&amp;gt; and you wanted to set the &amp;lt;em&amp;gt;ondemand&amp;lt;/em&amp;gt; governor:&lt;br /&gt;
&lt;br /&gt;
  /sbin/modprobe powernow-k8&lt;br /&gt;
  /sbin/modprobe cpufreq_ondemand&lt;br /&gt;
  for config_file in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do&lt;br /&gt;
      echo ondemand &amp;gt;$config_file&lt;br /&gt;
  done&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Ibm5 25</name></author>
	</entry>
	<entry>
		<id>https://www.slackwiki.com/index.php?title=Category:Tutorials&amp;diff=12</id>
		<title>Category:Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.slackwiki.com/index.php?title=Category:Tutorials&amp;diff=12"/>
		<updated>2009-05-28T08:42:07Z</updated>

		<summary type="html">&lt;p&gt;Ibm5 25: Added CPU Freq Scale&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the spot for Tutorials. If you create a page and want it listed in this category, add &amp;lt;nowiki&amp;gt;[[Category:Tutorials]]&amp;lt;/nowiki&amp;gt; to the top.&lt;br /&gt;
&lt;br /&gt;
Please [[Special:Userlogin|LOG IN]] before adding/editing pages.&lt;br /&gt;
&lt;br /&gt;
[[CPU Frequency Scaling]]&lt;/div&gt;</summary>
		<author><name>Ibm5 25</name></author>
	</entry>
</feed>