These are the release notes for Linux version 2.2. Read them carefully, as they tell you what this is all about, explain how to install the kernel, and what to do if something goes wrong.
However, please make sure you don't ask questions which are already answered in various files in the Documentation directory. See DOCUMENTATION below.
Linux is a Unix clone written from scratch by Linus Torvalds with assistance from a loosely-knit team of hackers across the Net. It aims towards POSIX compliance.
It has all the features you would expect in a modern fully-fledged Unix, including true multitasking, virtual memory, shared libraries, demand loading, shared copy-on-write executables, proper memory management and TCP/IP networking.
It is distributed under the GNU General Public License - see the accompanying COPYING file for more details.
Linux was first developed for 386/486-based PCs. These days it also runs on ARMs, DEC Alphas, SUN Sparcs, M68000 machines (like Atari and Amiga), MIPS and PowerPC, and others.
-
There is a lot of documentation available both in electronic form on the Internet and in books, both Linux-specific and pertaining to general UNIX questions. I'd recommend looking into the documentation subdirectories on any Linux ftp site for the LDP (Linux Documentation Project) books. This README is not meant to be documentation on the system: there are much better sources available.
-
There are various readme's in the kernel Documentation/ subdirectory: these typically contain kernel-specific installation notes for some drivers for example. See ./Documentation/00-INDEX for a list of what is contained in each file. Please read the Changes file, as it contains information about the problems, which may result by upgrading your kernel.
- If you install the full sources, do:
cd /usr/src
gzip -cd linux-2.2.XX.tar.gz | tar xfv -Replace "XX" with the version number of the latest kernel.
- You can also upgrade between 2.2.xx releases by patching. Patches are distributed in the traditional gzip and the new bzip2 format. To install by patching, get all the newer patch files and do:
cd /usr/src
gzip -cd patchXX.gz | patch -p0or
cd /usr/src
bzip2 -dc patchXX.bz2 | patch -p0(repeat for all versions bigger than your current source tree, in_order). Remove backup files (xxx~ or xxx.orig) and ensure no failed patches (xxx# or xxx.rej). Alternatively, use:
cd /usr/src
linux/scripts/patch-kernel- Make sure you have no stale
.ofiles and dependencies lying around:
cd /usr/src/linux
make mrproperCompiling and running the 2.2.x kernels requires up-to-date versions of various software packages. Consult ./Documentation/Changes for the minimum version numbers required. Beware that using excessively old versions of these packages can cause indirect errors that are difficult to track down.
-
Use
make configto configure the basic kernel (bash required). Do not skip this step even if upgrading a minor version. Usemake oldconfigto carry existing configuration to a new version. -
Alternate commands:
make menuconfig # Text based color menus
make xconfig # X windows configuration tool
make oldconfig # Default answers based on existing .config-
Notes on
make config:- Unnecessary drivers increase kernel size and may cause problems.
- "Processor type" higher than 386 will not work on a 386.
- Math-emulation kernels will still use the coprocessor if present.
- "Kernel hacking" options may increase size or decrease stability.
-
Check the top Makefile for site-dependent configuration (SVGA etc).
-
Run
make depto set up dependencies.
- Ensure gcc-2.7.2+ and updated binutils.
make zImagecreates a compressed kernel image.make bzImageif kernel too large.make modules && make modules_installif using modules.- Keep backups of kernel and modules.
- Copy kernel image to boot location (or floppy if required).
- Update LILO if using hard drive boot.
- Use
rdevfor root device, video mode, ramdisk changes. - Reboot with new kernel.
- Check MAINTAINERS for responsible contacts.
- Include kernel version, problem reproduction, and setup.
- For kernel oops, duplicate the dump exactly.
- Use "ksymoops" or gdb for debugging.
- Follow steps to extract function names from EIP.