See reader questions & answers on this topic! - Help others by sharing your knowledge
Linux Frequently Asked Questions with Answers This is the list of Frequently Asked Questions for Linux, the free operating system kernel that runs on many modern computer systems. The kernel source code documentation says that Linux "aims for POSIX compliance." Linux uses mostly free, GNU system utilities and application software, although commercial programs are available also. Originally written for 386/486/586 Intel/ISA bus machines, Linux versions exist for nearly every hardware platform in existence that is capable of running it. (Please refer to the question, "What Is Linux?" below.) This FAQ is meant to be read in conjunction with the Linux Documentation Project's HOWTO series. ("Where Are the Linux FTP Archives?" and, "Where Is the Documentation?") The INFO-SHEET and META-FAQ also list sources of Linux information. Please read them, and, "If this Document Still Hasn't Answered Your Question...." before posting to a Usenet news group. You can also get Postscript, PDF, HTML, and SGML versions of this document. ("Formats in Which This FAQ Is Available.") Linux Frequently Asked Questions with Answers is distributed under the terms of the GNU Free Documentation License. Refer to "Disclaimer and Copyright.." 1. Introduction and General Information 1.1. What Is Linux? 1.2. How to Get Started. 1.3. What Software does Linux Support? 1.4. How to Find a Particular Application. 1.5. What Hardware Is Supported? 1.6. Ports to Other Processors. 1.7. Disk Space Requirements: Minimal, Server, and Workstation. 1.8. Minimum and Maximum Memory Requirements. 1.9. Does Linux Support Universal System Bus Devices? 1.10. What Is Linux's Open-Source License? 1.11. Is Linux *nix? 2. Network Sources and Resources 2.1. Where Is the Latest Kernel Version on the Internet? 2.2. Where Is the Documentation? 2.3. Where Is the Linux Stuff on the World Wide Web? 2.4. What News Groups Are There for Linux? 2.5. What Other FAQ's and Documentation Are There for Linux? 2.6. Where Are the Linux FTP Archives? 2.7. How To Get Linux without FTP Access. 2.8. How To Get Information without Usenet Access. 2.9. What Mailing Lists Are There? 2.10. Where Are Linux Legal Issues Discussed? 2.11. Sources of Information for Unmaintained Free Software Projects. 2.12. Are the News Groups Archived Anywhere? 2.13. Where To Find Information About Security Related Issues. 2.14. Where To Find Linux System Specifications. 3. Compatibility with Other Operating Systems 3.1. Can Linux Use the Same Hard Drive as MS-DOS? OS/2? 386BSD? Win95? 3.2. How To Access Files on a MS-DOS Partition or Floppy. 3.3. Does Linux Support Compressed Ext2 File Systems? 3.4. Can Linux Use Stacked/DBLSPC/Etc. DOS Drives? 3.5. Can Linux Access OS/2 HPFS Partitions? 3.6. Can Linux Access Amiga File Systems? 3.7. Can Linux Access BSD, SysV, Etc. UFS? 3.8. Can Linux Access SMB File Systems? 3.9. Can Linux Access Macintosh File Systems? 3.10. Can Linux Run Microsoft Windows Programs? 3.11. Where Is Information about NFS Compatibility? 3.12. Can Linux Use True Type Fonts? 3.13. Can Linux Boot from MS-DOS? 3.14. How Can Linux Boot from OS/2's Boot Manager? 4. File Systems, Disks, and Drives 4.1. How To Get Linux to Work with a Disk. 4.2. How To Undelete Files. 4.3. How To Make Backups. 4.4. How To Resize a Partition (Non-Destructively). 4.5. Is There a Defragmenter for Ext2fs? 4.6. How To Create a File System on a Floppy. 4.7. Does Linux Support Virtualized File Systems Like RAID? 4.8. Does Linux Support File System Encryption? 4.9. Linux Prints Nasty Messages about Inodes, Blocks, and the Like. 4.10. The Swap Area Isn't Working. 4.11. How To Add Temporary Swap Space. 4.12. How To Remove LILO So the System Boots DOS Again? 4.13. Why Does fdformat Require Superuser Privileges? 4.14. The System Checks the Ext2fs Partitions Each Reboot. 4.15. Root File System Is Read-Only. 4.16. What Is /proc/kcore? 4.17. The AHA1542C Doesn't Work with Linux. 4.18. Where Is the Journalling File System on the Net? 5. Porting, Compiling and Obtaining Programs 5.1. How To Compile Programs. 5.2. How To Install GNU Software. 5.3. Where To Get Java. 5.4. How To Port XXX to Linux. 5.5. What Is ld.so and How To Get It? 5.6. How To Upgrade the Libraries without Trashing the System. 5.7. How To Use Code or a Compiler Compiled for a 486 on a 386. 5.8. What Does "gcc -O6" Do? 5.9. Where Are linux/*.h and asm/*.h? 5.10. What To Do about Errors Trying to Compile the Kernel. 5.11. How To Make a Shared Library. 5.12. Programs Are Very Large. 5.13. Does Linux Support Threads or Lightweight Processes? 5.14. Where To Find lint for Linux. 5.15. Where To Find Kermit for Linux. 5.16. How To Use Linux with a Cable Modem. 5.17. Is There an ICQ Program That Runs under Linux? 6. Solutions to Common Miscellaneous Problems 6.1. FTP Transfers Seem to Hang. 6.2. Free Dumps Core. 6.3. Netscape Crashes Frequently. 6.4. FTP or Telnet Server Won't Allow Logins. 6.5. How To Keep Track of Bookmarks in Netscape? 6.6. The Computer Has the Wrong Time. 6.7. Setuid Scripts Don't Seem to Work. 6.8. Free Memory as Reported by free Keeps Shrinking. 6.9. When Adding More Memory, the System Slows to a Crawl. 6.10. Some Programs (E.g. xdm) Won't Allow Logins. 6.11. Some Programs Allow Logins with No Password. 6.12. The Machine Runs Very Slowly with GCC / X / ... 6.13. System Only Allows Root Logins. 6.14. The Screen Is All Full of Weird Characters Instead of Letters. 6.15. I Screwed Up the System and Can't Log In to Fix It. 6.16. I Forgot the root Password. 6.17. There's a Huge Security Hole in rm! 6.18. lpr and/or lpd Don't Work. 6.19. Timestamps on Files on MS-DOS Partitions Are Set Incorrectly 6.20. How To Get LILO to Boot the Kernel Image. 6.21. How To Make Sure the System Boots after Re-Installing the Operating System. 6.22. The PCMCIA Card Doesn't Work after Upgrading the Kernel. 6.23. How To Remove (or Change) the Colors in the ls Display. 6.24. Why Won't a Program Work in the Current Directory? 7. How To Do This or Find Out That... 7.1. How To Find Out If a Notebook Runs Linux. 7.2. Installing Linux Using FTP. 7.3. Resuming an Interrupted Download. 7.4. Boot-Time Configuration. 7.5. Formatting Man Pages without man or groff. 7.6. How To Scroll Backwards in Text Mode. 7.7. How To Get Email to Work. 7.8. Sendmail Pauses for Up to a Minute at Each Command. 7.9. How To Enable and Select Virtual Consoles. 7.10. How To Set the Time Zone. 7.11. Dial-up PPP Configuration. 7.12. What Version of Linux and What Machine Name Is This? 7.13. What Is a "core" File? 7.14. How To Enable or Disable Core Dumps. 7.15. How To Upgrade/Recompile a Kernel. 7.16. Can Linux Use More than 3 Serial Ports by Sharing Interrupts? 7.17. Configuring Emacs's Default Settings. 7.18. How To Make a Rescue Floppy. 7.19. How To Remap a Keyboard to UK, French, Etc.? 7.20. How To Get NUM LOCK to Default to On. 7.21. How To Set (Or Reset) Initial Terminal Colors. 7.22. How To Have More Than 128Mb of Swap. How To Prevent Errors when Linking Programs with Math Functions. 8. Miscellaneous Information and Questions Answered 8.1. How To Program XYZ Under Linux. 8.2. What's All This about ELF? glibc? 8.3. How To Determine What Packages Are Installed on a System. 8.4. What Is a .gz File? And a .tgz? And .bz2? And... ? 8.5. What Does VFS Stand For? 8.6. What is a BogoMip? 8.7. What Online/Free Periodicals Exist for Linux? 8.8. How Many People Use Linux? 8.9. How Many People Use Linux? (Redux.) 8.10. What Is the Best (Distribution|SCSI Card|Editor|CD-ROM Drive|....) 8.11. How Does One Pronounce Linux? 9. Frequently Encountered Error Messages 9.1. Modprobe Can't Locate Module, XXX, and Similar Messages. 9.2. Unknown Terminal Type "linux" and Similar. 9.3. INET: Warning: old style ioctl... called! 9.4. ld: unrecognized option '-m486' 9.5. GCC Says, "Internal compiler error." 9.6. Make Says, "Error 139." 9.7. Shell-Init: Permission Denied when I Log In. 9.8. No Utmp Entry. You Must Exec ... when Logging In. 9.9. Warning--bdflush Not Running. 9.10. Warning: obsolete routing request made. 9.11. EXT2-fs: warning: mounting unchecked file system. 9.12. EXT2-fs warning: maximal count reached. 9.13. EXT2-fs warning: checktime reached. 9.14. df Says, "Cannot read table of mounted file systems." 9.15. fdisk Says, "Partition X has different physical/logical..." 9.16. fdisk: Partition 1 does not start on cylinder boundary. 9.17. fdisk Says Partition n Has an Odd Number of Sectors. 9.18. Mtools Utilities Say They Cannot Initialize Drive X. 9.19. At the Start of Booting: Memory tight 9.20. The System Log Says, "end_request: I/O error, ...." 9.21. "You don't exist. Go away." 9.22. "Operation not permitted." 9.23. programname: error in loading shared libraries: lib xxx..so. x: cannot open shared object file: No such file or directory. 9.24. "init: Id "x" respawning too fast: disabled for 5 minutes." 9.25. FTP server says: "421 service not available, remote server has closed connection." 10. The X Window System 10.1. Does Linux Support X? 10.2. How To Get the X Window System to Work. 10.3. Where To Find a Ready-Made XF86Config file. 10.4. What Desktop Environments Run on Linux? 10.5. xterm Logins Show Up Strangely in who, finger. 10.6. How to Start a X Client on Another Display. 11. How to Get Further Assistance 11.1. If this Document Still Hasn't Answered Your Question.... 11.2. What to Put in a Request for Help. 11.3. How To Email Someone about Your Problem. 12. Acknowledgments and Administrivia 12.1. Where To Send Comments. 12.2. Formats in Which This FAQ Is Available. 12.3. Authorship and Acknowledgments. 12.4. Disclaimer and Copyright. 1. Introduction and General Information 1.1. What Is Linux? Linux is the kernel of operating systems that look like and perform as well or better than the famous operating system from AT&T Bell Labs. Linus Torvalds and a loosely knit team of volunteer hackers from across the Internet wrote (and still are writing) Linux from scratch. It has all of the features of a modern, fully fledged operating system: true multitasking, threads, virtual memory, shared libraries, demand loading, shared, copy-on-write executables, proper memory management, loadable device driver modules, video frame buffering, and TCP/IP networking. Most people, however, refer to the operating system kernel, system software, and application software, collectively, as "Linux," and that convention is used in this FAQ as well. Linux was written originally for 386/486/586-based PC's, using the hardware facilities of the 80386 processor family to implement its features. There are now many ports to other hardware platforms. ("Ports to Other Processors.") There are also Linux distributions specifically for mobile and handheld platforms. An API specification and developers kit for the Crusoe Smart Microprocessor developed by Transmeta Corporation are at http://www.transmeta.com/. Information on the Linux distribution for the Compaq iPAQ is at http://www.handhelds.org/ Refer also to the Linux INFO-SHEET for more details as well as the answers to "Where Is the Documentation?", "What Hardware Is Supported?", and "Ports to Other Processors.", below. A list updated weekly is at: http://lwn.net/ Archive of many of the distributions are on line at: ftp://ftp.tux.org/ and http://planetmirror.com/pub/linux. The Linux kernel is distributed under the GNU General Public License. ("What Is Linux's Open-Source License?") There is a historical archive of all versions of the Linux kernel at http://ps.cus.umist.ac.uk/~rhw/kernel.versions.html. 1.2. How to Get Started. There are a handful of major Linux distributions. For information about them, and how they are installed, see Matthew Welsh's Installation and Getting Started, or IGS for short. It's located at the Linux Documentation Project Home Page, http://www.linuxdoc.org/, and on the Linux FAQ home page, http://www.mainmatter.com/ The information in IGS is somewhat dated now. More up-to-date information about first-time Linux installation is located in the LDP's Installation HOWTO, also located at the LDP Home Page. Postings on the Usenet News groups, including the FAQ, are archived on http://groups.google.com/. Search for "comp.os.linux.*," "alt.uu.comp.os.linux.*, or whatever is appropriate, to retrieve articles from the Linux News groups. ("What News Groups Are There for Linux?") Commercial distributions are available from book and electronics stores. Some hardware vendors now ship systems with Linux pre-installed. There is a very thorough installation guide on line at http://heather.cs.ucdavis.edu/~matloff/linux.html. Some distributions can still be installed via anonymous FTP from various Linux archive sites, but in many cases, the size of the distribution makes this impractical. ("Where Are the Linux FTP Archives?") There are also a large number of releases which are distributed less globally that suit special local and national needs. Many of them are archived at ftp://ftp.tux.org/ 1.3. What Software does Linux Support? All of the standard open source utilities, like GCC, (X)Emacs, the X Window System, all the standard Unix utilities, TCP/IP (including SLIP and PPP), and all of the hundreds of programs that people have compiled or ported to it. There is a DOS emulator, called DOSEMU. The latest stable release is 0.98.3. The FTP archives are at ftp://ftp.dosemu.org/ The Web site is http://www.dosemu.org. The emulator can run DOS itself and some (but not all) DOS applications. Be sure to look at the README file to determine which version you should get. Also, see the DOSEMU-HOWTO (slightly dated at this point--it doesn't cover the most recent version of the program), at ftp://metalab.unc.edu/pub/Linux/docs/HOWTO. Work has been progressing on an emulator for Microsoft Windows binaries. ("Can Linux Run Microsoft Windows Programs?") iBCS2 (Intel Binary Compatibility Standard) emulator code for SVR4 ELF and SVR3.2 COFF binaries can be included in the kernel as a compile-time option. There is information at ftp://tsx-11.mit.edu/pub/linux/BETA/ibcs2/. For more information see the INFO-SHEET, which is one of the HOWTO's ("Where Is the Documentation?" and "How To Port XXX to Linux.") Some companies have commercial software available. They often announce their availability on comp.os.linux.announce-- try searching the archives. ("Are the News Groups Archived Anywhere?") 1.4. How to Find a Particular Application. Look first in the Linux Software Map. It's at: ftp://ibiblio.org/pub/Linux/docs/linux-software-map/, and on the other FTP sites. A search engine is available on the World Wide Web at http://www.boutell.com/lsm/. Also check out the Freshmeat Web site: http://www.freshmeat.net, which is where many new announcements of free software first appear. Freshmeat is basically a site index that continuously updates the notices of new or upgraded software for Linux, and maintains indexes of the announcements and links to their URL's. The FTP sites ("Where Are the Linux FTP Archives?") often have ls-lR or INDEX directory listings which you can search using grep or a text editor. The directory listings files can be very large, however, making them unwieldy for quick searches. Also look at the Linux Projects Map: ftp://ftp.ix.de/pub/ix/Linux/docs/Projects-Map.gz. There's a search engine for Linux FTP archives at: http://lfw.linuxhq.com/. Searching for "Linux" on the World Wide Web provides copious references. ("Where Is the Linux Stuff on the World Wide Web?") If you don't find anything, you could download the sources to the program yourself and compile them. See (See: "How To Port XXX to Linux.") If it's a large package that may require some porting, post a message to comp.os.linux.development.apps. If you compile a large-ish program, please upload it to one or more of the FTP sites, and post a message to comp.os.linux.announce (submit your posting to email@example.com). If you're looking for an application program, the chances are that someone has already written a free version. The comp.sources.wanted FAQ has instructions for finding the source code. 1.5. What Hardware Is Supported? A minimal Linux installation requires a machine for which a port exists, at least 2Mb of RAM, and a single floppy drive. But to do anything even remotely useful, more RAM and disk space are needed. Refer to: "Ports to Other Processors.", "Disk Space Requirements: Minimal, Server, and Workstation.", and "Minimum and Maximum Memory Requirements." Intel CPU, PC-compatible machines require at least an 80386 processor to run the standard Linux kernel. Linux, including the X Window System GUI, runs on most current laptops. Refer to the answer for: "How To Find Out If a Notebook Runs Linux." There are numerous sources of information about specific PC's, video cards, disk controllers, and other hardware. Refer to the INFO-SHEET, Laptop HOWTO, and the Hardware HOWTO. ("Where Is the Documentation?") 1.6. Ports to Other Processors. The Web site, Overview of Linux Ports: http://www.itp.uni-hannover.de/~kreutzm/de/lin_plattforms.html provides a listing of known ports. Another site with a list of ports is: http://lodda.igo.uni-hannover.de/ports/linux_ports.html In addition, the following information is available about specific ports: On Intel platforms, VESA Local Bus and PCI bus are supported. MCA (IBM's proprietary bus) and ESDI hard drives are mostly supported. There is further information on the MCA bus and what cards Linux supports on the Micro Channel Linux Web page, http://www.dgmicro.com/mca. Refer also to the answer for: "Where Is the Linux Stuff on the World Wide Web?" There is a port of Linux to the 8086, known as the Embeddable Linux Kernel Subset (ELKS). This is a 16-bit subset of the Linux kernel which will mainly be used for embedded systems, at: http://www.linux.org.uk/Linux8086.html. Standard Linux does not run 8086 or 80286 processors, because it requires task-switching and memory management facilities found on 80386 and later processors. Linux supports multiprocessing with Intel MP architecture. See the file Documentation/smp.tex in the Linux kernel source code distribution. A project has been underway for a while to port Linux to suitable 68000-series based systems like Amigas and Ataris. The Linux/m68K FAQ is located at http://www.clark.net/pub/lawrencc/linux/faq/faq.html. The URL of the Linux/m68k home page is http://www.linux-m68k.org/faq/faq.html. There is a m68k port for the Amiga by Jes Sorensen, which is located at ftp://sunsite.auc.dk/pub/os/linux/680x0/redhat/. The installation FAQ for the package, by Ron Flory, is at http://www.feist.com/~rjflory/linux/rh/. There is also a linux-680x0 mailing list. ("What Mailing Lists Are There?") There is (or was) a FTP site for the Linux-m68k project on ftp.phil.uni-sb.de/pub/atari/linux-68k, but this address may no longer be current. Debian GNU/Linux is being ported to Alpha, Sparc, PowerPC, and ARM platforms. There are mailing lists for all of them. See http://www.debian.org/MailingLists/subscribe One of the Linux-PPC project pages has moved recently. Its location is http://www.debian.org/MailingLists/subscribe. http://www.linuxppc.org, and the archive site is ftp://ftp.linuxppc.org/. There is a Linux-PPC support page at http://www.cs.nmt.edu/~linuxppc/. There you will find the kernel that is distributed with Linux. There are two sites for the Linux iMac port: http://w3.one.net/~johnb/imaclinux, and http://www.imaclinux.net:8080/content/index.html. A port to the 64-bit DEC Alpha/AXP is at http://www.azstarnet.com/~axplinux/. There is a mailing list at vger.redhat.com: ("What Mailing Lists Are There?") Ralf Baechle is working on a port to the MIPS, initially for the R4600 on Deskstation Tyne machines. The Linux-MIPS FTP sites are ftp://ftp.fnet.fr/ and ftp://ftp.linux.sgi.com/pub/mips-linux. Interested people may mail their questions and offers of assistance to firstname.lastname@example.org. There is (or was) also a MIPS channel on the Linux Activists mail server and a linux-mips mailing list. ("What Mailing Lists Are There?") There are currently two ports of Linux to the ARM family of processors. One of these is for the ARM3, fitted to the Acorn A5000, and it includes I/O drivers for the 82710/11 as appropriate. The other is to the ARM610 of the Acorn RISC PC. The RISC PC port is currently in its early to middle stages, owing to the need to rewrite much of the memory handling. The A5000 port is in restricted beta testing. A release is likely soon. For more, up-to-date information, read the newsgroup comp.sys.acorn.misc. There is a FAQ at http://www.arm.uk.linux.org. The Linux SPARC project is a hotbed of activity. There is a FAQ and plenty of other information available from the UltraLinux page, http://www.ultralinux.org/. The Home Page of the UltraSPARC port ("UltraPenguin") is located at http://sunsite.mff.cuni.cz/linux/ultrapenguin-1.0/, although the URL may not be current. There is also a port to SGI/Indy machines ("Hardhat"). The URL is http://www.linux.sgi.com/. 1.7. Disk Space Requirements: Minimal, Server, and Workstation. About 10Mb for a very minimal installation, suitable for trying Linux, and not much else. You can fit a typical server installation, including the X Window Systemt GUI, into 80Mb. Installing Debian GNU/Linux takes 500Mb-1GB, including kernel source code, some space for user files, and spool areas. Installing a commercial distribution that has a desktop GUI environment, commercial word processor, and front-office productivity suite, will claim 1-1.5 GB of disk space, approximately. 1.8. Minimum and Maximum Memory Requirements. At least 4MB, and then you will need to use special installation procedures until the disk swap space is installed. Linux will run comfortably in 4MB of RAM, although running GUI apps is impractically slow because they need to swap out to disk. Some applications, like StarOffice, require 32 MB of physical memory, and compiling C++ code can easily consume over 100 MB of combined physical and virtual memory. There is a distribution, "Small Linux," that will run on machines with 2MB of RAM. Refer to the answer to: "Where Are the Linux FTP Archives?" A number of people have asked how to address more than 64 MB of memory, which is the default upper limit in most standard kernels. Either type, at the BOOT lilo: prompt: mem=XXM Or place the following in your /etc/lilo.conf file: append="mem=XXM" The parameter "XXM" is the amount of memory, specified as megabytes; for example, "128M." If an "append=" directive with other configuration options already exists in /etc/lilo.conf, then add the mem= directive to the end of the existing argument, and separated from the previous arguments by a space; e.g.: # Example only; do not use. append="parport=0x3bc,none serial=0x3f8,4 mem=XXM" Be sure to run the "lilo" command to install the new configuration. If Linux still doesn't recognize the extra memory, the kernel may need additional configuration. Refer to the /usr/src/linux/Documentation/memory.txt file in the kernel source as a start. For further information about LILO, refer to the manual pages for lilo and lilo.conf, the documentation in /usr/doc/lilo, and the answer for: "Boot-Time Configuration.", below. 1.9. Does Linux Support Universal System Bus Devices? Linux supports a few dozen USB devices at present, and work is underway to develop additional device drivers. There is a Web page devoted to the subject, at http://www.linux-usb.org/. There is also LDP documentation, at: ("Where Is the Linux Stuff on the World Wide Web?") 1.10. What Is Linux's Open-Source License? The Linux trademark belongs to Linus Torvalds. He has placed the Linux kernel under the GNU General Public License, which basically means that you may freely copy, change, and distribute it, but you may not impose any restrictions on further distribution, and you must make the source code available. There is a FAQ for the GPL at: http://www.gnu.org/copyleft/gnu-faq.html. This is not the same as Public Domain. See the Copyright FAQ, ftp://rtfm.mit.edu/pub/usenet/news.answers/law/, for details. Full details are in the file COPYING in the Linux kernel sources (probably in /usr/src/linux on your system). The licenses of the utilities and programs which come with the installations vary. Much of the code is from the GNU Project at the Free Software Foundation, and is also under the GPL. Note that discussion about the merits or otherwise of the GPL should be posted to the news group gnu.misc.discuss, and not to the comp.os.linux hierarchy. For legal questions, refer to the answer: ("Where Are Linux Legal Issues Discussed?") 1.11. Is Linux *nix? Not officially, until it passes the Open Group's certification tests, and supports the necessary API's. Even very few of the commercial operating systems have passed the Open Group tests. For more information, see http://www.unix-systems.org/what_is_unix.html. [Bob Friesenhahn] 2. Network Sources and Resources 2.1. Where Is the Latest Kernel Version on the Internet? Make that versions. The 2.0 series kernels are still available for older machines. The latest production kernel series is 2.2.x. The updates to this kernel are bug fixes. The new 2.4 kernel sources are also on-line. The Web page at http://www.kernel.org/ lists the current versions of the development and production kernels. If you want to download the source code, FTP to ftp.xx.kernel.org, where "xx" is the two-letter Internet domain abbreviation of your country; e.g., "us" for United States, "ca" for Canada, or "de" for Germany. Kernel versions 2.2.x are archived in the directory pub/linux/kernel/v2.2, as are patches for the prerelease versions. The kernel source code is archived as a .tar.gz file, and as a .tar.bz2 file. Follow the instructions in any of the standard references to compile the kernel, as you would with any other custom kernel. The Documentation subdirectory contains information by the authors of various subsystems and drivers, and much of that information is not documented elsewhere. If you want to participate in kernel development, make sure that you sign on to the linux-kernel mailing list to find out what people are working on. Refer to the answer: "What Mailing Lists Are There?" There is a story about the features of the 2.4 series kernels at http://features.linuxtoday.com/stories/8191.html. 2.2. Where Is the Documentation? Look in the following places, and the sites that mirror them. * http://www.linuxdoc.org/ * ftp://ftp.funet.fi/pub/OS/Linux/doc/HOWTO/ * ftp://tsx-11.mit.edu/pub/linux/docs/HOWTO/ * ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/ For a list of Linux FTP sites, refer to the answer for: "Where Are the Linux FTP Archives?" If you don't have access to FTP, try the FTP-by-mail servers: email@example.com, firstname.lastname@example.org, or: email@example.com. A complete list of HOWTO's is available in the file HOWTO-INDEX at http://www.linuxdoc.org/HOWTO/HOWTO-INDEX/howtos.html. The mini-HOWTO's are indexed at http://www.linuxdoc.org/HOWTO/HOWTO-INDEX/mini.html. A search engine at the Linux FAQ Home Page, http://www.mainmatter.com/, allows you to search LDP HOWTO's, the Linux FAQ, man pages, and Network Administrator's Guide. In addition, translations are available from ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/translations/ and mirrors worldwide. The HOWTO's and other documentation have been translated into the following languages: Chinese (Big5) (zh) Croatian (hr) French (fr) German (de Hellenic (el) Indonesian (id) Italian (it) Japanese (ja) Korean (ko) Polish (pl) Slovenian (sl) Spanish (es) Swedish (sv) Turkish (tr) Additional documents are always in preparation. Please get in touch with the coordinators if you are interested in writing one. Contact and submission information is at http://www.linuxdoc.org/mailinfo.html. There is also a LDP HOWTO page at http://howto.tucows.org/. The Guide Series produced by the Linux Documentation Project is available from http://www.linuxdoc.org/. Please read them if you are new to Unix and Linux. The Linux Mobile Guide is an expanded version of the Linux-Laptop-HOWTO. The URL is: http://home.snafu.de/wehe/howtos.html. And, of course, a number of people have written documentation independently of the LDP: * Linux Administrators Security Guide, by Kurt Seifried. http://www.freek.com/lasg/. * Newbie's Linux Manual. http://www.linuxdoc.org/nlm/. * One-Page Linux Manual. http://www.powerup.com.au/~squadron/. * Rute Users Tutorial and Exposition. http://rute.sourceforge.net/. * Short beginners' manual for Linux. Also available in Dutch. http://www.stuwww.kub.nl/people/b.vannunen/linux-man.php3. * Virtual Frame buffer HOWTO, by Alex Buell. http://www.tahallah.demon.co.uk/programming/prog.html. * X11 & TrueType Fonts, by Peter Kleiweg. http://www.let.rug.nl/~kleiweg/. Documentation for kernel developers is on-line: http://kernelbook.sourceforge.net/. To find out about Linux memory management, including performance tuning, see Rik van Riel's Web page at http://humbolt.geo.uu.nl/Linux-MM/. The Linux Consultants HOWTO has a directory of Linux consultants at http://www.linuxports.com/. Gary's Encyclopedia lists over 4,000 Linux related links. Its URL is http://members.aa.net/~swear/pedia/index.html. There is also a FAQ specifically for the Red Hat Linux distribution, at http://www.best.com/~aturner/RedHat-FAQ/faq_index.html. And the Home Page of this FAQ is http://www.mainmatter.com/. 2.3. Where Is the Linux Stuff on the World Wide Web? In addition to the Linux Documentation Project Home Page: http://www.linuxdoc.org/, there are many pages that provide beginning and advanced information about Linux. These two pages provide a good starting point for general Linux information: Linux International's Home Page, at http://www.li.org/, and the Linux Online's Linux Home Page at http://www.linux.org/. Both of these pages provide links to other sites, information about general information, distributions, new software, documentation, and news. Documentation for kernel developers is on-line: http://kernelbook.sourceforge.net/. The tutorial, Unix is a Four Letter Word..., is located at http://www.linuxbox.com/~taylor/4ltrwrd/. It is a general introduction to Unix operating systems and is not Linux specific.