What is Linux?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.
...
<= end of example page=>
Now choose a protocol which suits you better to transfer the
files. Let's say we will choose HTTP protocol (same protocol as your WWW
browser uses).
Your browser will display a page with a directory structure, perhaps similar
to this:
<= start of example page =>
Index of /pub
Name Last modified Size Description
_________________________________________________________________________________________________________
[DIR] Parent Directory 28-Dec-98 12:06 -
[DIR] linux/ 31-Dec-98 09:57 -
[ ] ls-lR 29-Mar-99 14:56 262k
[DIR] software/ 31-Dec-98 18:25 -
<= end of example page =>
Note the linux directory. Point your browser at it. A
page like this will show:
<= start of example page =>
Index of /pub/linux
Name Last modified Size Description
_________________________________________________________________________________________________________
[DIR] Parent Directory 29-Mar-99 14:56 -
[DIR] daemons/ 12-Feb-99 01:19 -
[DIR] devel/ 18-Dec-98 19:34 -
[DIR] distributions/ 18-Dec-98 19:34 -
[DIR] docs/ 31-Jan-99 04:01 -
[DIR] kernel/ 18-Mar-99 21:55 -
[DIR] libs/ 18-Dec-98 19:35 -
[DIR] utils/ 31-Jan-99 04:01 -
<= end of example page =>
This site contains lots of things to download but currently we
are only interested in the kernel. Point your browser at the kernel
directory.
Something like this should show:
<= start of example page =>
Index of /pub/linux/kernel
Name Last modified Size Description
_________________________________________________________________________________________________________
[DIR] Parent Directory 31-Dec-98 09:57 -
[ ] COPYING 13-Mar-94 00:00 18k
[ ] CREDITS 16-Sep-96 00:00 36k
[DIR] Historic/ 18-Dec-98 20:55 -
[DIR] SillySounds/ 18-Dec-96 09:45 -
[DIR] alan/ 18-Mar-99 21:55 -
[DIR] davem/ 29-Jan-99 04:05 -
[DIR] hpa/ 19-Dec-98 02:16 -
[DIR] people/ 18-Mar-99 21:55 -
[DIR] testing/ 27-Mar-99 00:55 -
[DIR] v1.0/ 19-Dec-98 02:19 -
[DIR] v1.1/ 19-Dec-98 03:51 -
[DIR] v1.2/ 19-Dec-98 04:36 -
[DIR] v1.3/ 19-Dec-98 13:21 -
[DIR] v2.0/ 11-Feb-99 16:48 -
[DIR] v2.1/ 11-Feb-99 16:45 -
[DIR] v2.2/ 24-Mar-99 00:27 -
[DIR] whawes/ 18-Dec-98 19:34 -
________________________________________________________________________________________________
Linux kernel release 2.0.xx
These are the release notes for linux version
2.0. 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.
...
....
<= end of example page =>
For our example we will take in consideration that while
writting this the kernel version 2.2.x series is the stable version. That's
why we choose the v2.2/ directory on the server.
How do you know which is the latest version? At the bottom of the http://www.kernel.org/
page you have a text like this:
<= start of example page =>
<= end of example page =>
That is your information to find out which is the latest stable
kernel and which one is also recomended to use. Also as you will see you can
usualy see a file with the name like LATEST-IS-2.2.12 at the top of the
directory listing which tells you the latest version.
Once that we are in the v2.2/ directory on our server we
will see something like this:
<= start of example page =>
Index of /pub/linux/kernel/v2.2
Name Last modified Size Description
_________________________________________________________________________________________________________
[DIR] Parent Directory 16-Aug-99 09:13 -
[ ] LATEST-IS-2.2.12 26-Aug-99 02:45 0k
[ ] linux-2.2.0.tar.bz2 26-Jan-99 02:41 10.1M
[ ] linux-2.2.0.tar.bz2.s..26-Jan-99 02:41 1k
[CMP] linux-2.2.0.tar.gz 26-Jan-99 02:41 12.5M
[ ] linux-2.2.0.tar.gz.sign26-Jan-99 02:41 1k
[ ] linux-2.2.1.tar.bz2 28-Jan-99 21:56 10.1M
[ ] linux-2.2.1.tar.bz2.s..28-Jan-99 21:56 1k
[CMP] linux-2.2.1.tar.gz 28-Jan-99 21:56 12.5M
[ ] linux-2.2.1.tar.gz.sign28-Jan-99 21:56 1k
[ ] linux-2.2.10.tar.bz2 14-Jun-99 07:33 10.8M
[ ] linux-2.2.10.tar.bz2...14-Jun-99 07:33 1k
[CMP] linux-2.2.10.tar.gz 14-Jun-99 07:33 13.3M
[ ] linux-2.2.10.tar.gz.s..14-Jun-99 07:33 1k
[ ] linux-2.2.11.tar.bz2 10-Aug-99 01:03 11.2M
[ ] linux-2.2.11.tar.bz2...10-Aug-99 01:03 1k
[CMP] linux-2.2.11.tar.gz 10-Aug-99 01:03 13.8M
[ ] linux-2.2.11.tar.gz.s..10-Aug-99 01:03 1k
[ ] linux-2.2.12.tar.bz2 26-Aug-99 02:45 11.5M
[ ] linux-2.2.12.tar.bz2...26-Aug-99 02:45 1k
[CMP] linux-2.2.12.tar.gz 26-Aug-99 02:45 14.2M
[ ] linux-2.2.12.tar.gz.s..26-Aug-99 02:45 1k
[ ] linux-2.2.2.tar.bz2 23-Feb-99 03:58 10.1M
[ ] linux-2.2.2.tar.bz2.s..23-Feb-99 03:58 1k
[CMP] linux-2.2.2.tar.gz 23-Feb-99 03:58 12.5M
[ ] linux-2.2.2.tar.gz.sign23-Feb-99 03:58 1k
[ ] linux-2.2.3.tar.bz2 09-Mar-99 01:42 10.2M
[ ] linux-2.2.3.tar.bz2.s..09-Mar-99 01:42 1k
[CMP] linux-2.2.3.tar.gz 09-Mar-99 01:42 12.6M
[ ] linux-2.2.3.tar.gz.sign09-Mar-99 01:42 1k
[ ] linux-2.2.4.tar.bz2 23-Mar-99 23:33 10.4M
[ ] linux-2.2.4.tar.bz2.s..23-Mar-99 23:33 1k
[CMP] linux-2.2.4.tar.gz 23-Mar-99 23:33 12.8M
[ ] linux-2.2.4.tar.gz.sign23-Mar-99 23:33 1k
[ ] linux-2.2.5.tar.bz2 29-Mar-99 08:54 10.4M
[ ] linux-2.2.5.tar.bz2.s..29-Mar-99 08:54 1k
[CMP] linux-2.2.5.tar.gz 29-Mar-99 08:54 12.9M
[ ] linux-2.2.5.tar.gz.sign29-Mar-99 08:54 1k
[ ] linux-2.2.6.tar.bz2 16-Apr-99 23:46 10.5M
[ ] linux-2.2.6.tar.bz2.s..16-Apr-99 23:46 1k
[CMP] linux-2.2.6.tar.gz 16-Apr-99 23:46 13.0M
[ ] linux-2.2.6.tar.gz.sign16-Apr-99 23:46 1k
[ ] linux-2.2.7.tar.bz2 28-Apr-99 20:42 10.6M
[ ] linux-2.2.7.tar.bz2.s..28-Apr-99 20:42 1k
[CMP] linux-2.2.7.tar.gz 28-Apr-99 20:42 13.0M
[ ] linux-2.2.7.tar.gz.sign28-Apr-99 20:42 1k
[ ] linux-2.2.8.tar.bz2 11-May-99 21:59 10.7M
[ ] linux-2.2.8.tar.bz2.s..11-May-99 21:59 1k
[CMP] linux-2.2.8.tar.gz 11-May-99 21:59 13.2M
[ ] linux-2.2.8.tar.gz.sign11-May-99 21:59 1k
[ ] linux-2.2.9.tar.bz2 14-May-99 01:54 10.7M
[ ] linux-2.2.9.tar.bz2.s..14-May-99 01:54 1k
[DIR] Parent Directory 16-Aug-99 09:13 -
[ ] LATEST-IS-2.2.12 26-Aug-99 02:45 0k
[ ] linux-2.2.0.tar.bz2 26-Jan-99 02:41 10.1M
[ ] linux-2.2.0.tar.bz2.s..26-Jan-99 02:41 1k
[CMP] linux-2.2.0.tar.gz 26-Jan-99 02:41 12.5M
[ ] linux-2.2.0.tar.gz.sign26-Jan-99 02:41 1k
[ ] linux-2.2.1.tar.bz2 28-Jan-99 21:56 10.1M
[ ] linux-2.2.1.tar.bz2.s..28-Jan-99 21:56 1k
[CMP] linux-2.2.1.tar.gz 28-Jan-99 21:56 12.5M
[ ] linux-2.2.1.tar.gz.sign28-Jan-99 21:56 1k
[ ] linux-2.2.10.tar.bz2 14-Jun-99 07:33 10.8M
[ ] linux-2.2.10.tar.bz2...14-Jun-99 07:33 1k
[CMP] linux-2.2.10.tar.gz 14-Jun-99 07:33 13.3M
[ ] linux-2.2.10.tar.gz.s..14-Jun-99 07:33 1k
[ ] linux-2.2.11.tar.bz2 10-Aug-99 01:03 11.2M
[ ] linux-2.2.11.tar.bz2...10-Aug-99 01:03 1k
[CMP] linux-2.2.11.tar.gz 10-Aug-99 01:03 13.8M
[ ] linux-2.2.11.tar.gz.s..10-Aug-99 01:03 1k
[ ] linux-2.2.12.tar.bz2 26-Aug-99 02:45 11.5M
[ ] linux-2.2.12.tar.bz2...26-Aug-99 02:45 1k
[CMP] linux-2.2.12.tar.gz 26-Aug-99 02:45 14.2M
[ ] linux-2.2.12.tar.gz.s..26-Aug-99 02:45 1k
[ ] linux-2.2.2.tar.bz2 23-Feb-99 03:58 10.1M
[ ] linux-2.2.2.tar.bz2.s..23-Feb-99 03:58 1k
[CMP] linux-2.2.2.tar.gz 23-Feb-99 03:58 12.5M
[ ] linux-2.2.2.tar.gz.sign23-Feb-99 03:58 1k
[ ] linux-2.2.3.tar.bz2 09-Mar-99 01:42 10.2M
[ ] linux-2.2.3.tar.bz2.s..09-Mar-99 01:42 1k
[CMP] linux-2.2.3.tar.gz 09-Mar-99 01:42 12.6M
[ ] linux-2.2.3.tar.gz.sign09-Mar-99 01:42 1k
[ ] linux-2.2.4.tar.bz2 23-Mar-99 23:33 10.4M
[ ] linux-2.2.4.tar.bz2.s..23-Mar-99 23:33 1k
[CMP] linux-2.2.4.tar.gz 23-Mar-99 23:33 12.8M
[ ] linux-2.2.4.tar.gz.sign23-Mar-99 23:33 1k
[ ] linux-2.2.5.tar.bz2 29-Mar-99 08:54 10.4M
[ ] linux-2.2.5.tar.bz2.s..29-Mar-99 08:54 1k
[CMP] linux-2.2.5.tar.gz 29-Mar-99 08:54 12.9M
[ ] linux-2.2.5.tar.gz.sign29-Mar-99 08:54 1k
[ ] linux-2.2.6.tar.bz2 16-Apr-99 23:46 10.5M
[ ] linux-2.2.6.tar.bz2.s..16-Apr-99 23:46 1k
[CMP] linux-2.2.6.tar.gz 16-Apr-99 23:46 13.0M
[ ] linux-2.2.6.tar.gz.sign16-Apr-99 23:46 1k
[ ] linux-2.2.7.tar.bz2 28-Apr-99 20:42 10.6M
[ ] linux-2.2.7.tar.bz2.s..28-Apr-99 20:42 1k
[CMP] linux-2.2.7.tar.gz 28-Apr-99 20:42 13.0M
[ ] linux-2.2.7.tar.gz.sign28-Apr-99 20:42 1k
[ ] linux-2.2.8.tar.bz2 11-May-99 21:59 10.7M
[ ] linux-2.2.8.tar.bz2.s..11-May-99 21:59 1k
[CMP] linux-2.2.8.tar.gz 11-May-99 21:59 13.2M
[ ] linux-2.2.8.tar.gz.sign11-May-99 21:59 1k
[ ] linux-2.2.9.tar.bz2 14-May-99 01:54 10.7M
[ ] linux-2.2.9.tar.bz2.s..14-May-99 01:54 1k
<= end of example page =>
Installing the new kernel takes a knowledge of editing the lilo.conf
file located in the /etc/ directory. I will state now that lilo.conf
differs from machine to machine and it might not look the same on your machine
as it does on my machines.
First of all, we will assume that you are still in the /usr/src/linux/
directory. We will have to copy the new kernel and System.map to
certain location which again is different on some distributions.
Let's change directory to the new kernel.
Type cd /arch/i386/boot/
Type ls -al just to see what's there. You'll see something like this:
<= start of example page =>
total 588
drwxr-xr-x 4 1046 1046
1024 Apr 5 20:54 .
drwxr-xr-x 7 1046 1046
1024 Mar 13 02:39 ..
-rw-r--r-- 1 1046 1046
2633 Jan 2 19:27 Makefile
-rwxr-xr-x 1 root root
544 Apr 5 20:54 bootsect
-rw-r--r-- 1 1046 1046
9536 Jun 24 1998 bootsect.S
-rw-r--r-- 1 root root
1238 Apr 5 20:54 bootsect.o
-rw-r--r-- 1 root root
8293 Apr 5 20:54 bootsect.s
drwxr-xr-x 2 1046 1046
1024 Apr 5 20:54 compressed
-rw-r--r-- 1 1046 1046
904 Jan 3 1995 install.sh
-rwxr-xr-x 1 root root
1428 Apr 5 20:54 setup
-rw-r--r-- 1 1046 1046
20136 Nov 29 02:18 setup.S
-rw-r--r-- 1 root root
3053 Apr 5 20:54 setup.o
-rw-r--r-- 1 root root
24136 Apr 5 20:54 setup.s
drwxr-xr-x 2 1046 1046
1024 Apr 5 20:54 tools
-rw-r--r-- 1 1046 1046
36836 Sep 30 1998 video.S
-rw-r--r-- 1 root root
477285 Apr 5 20:54 zImage
<= end of example page =>
If, at section A.7.x, you used make zImage you should
copy the zImage file, otherwise copy the bzImage file. We will
assume zImage.
The option which we encounter now is where to copy the kernel. On Red Hat
distributions the kernel is located in /boot/ on Slackware in /
. I'm not very familiar with other distributions (Debian, SuSe, etc.).
Depending on your distribution make your choice where you will copy the new
kernel.
We will make an example for Red Hat.
Type cp zImage /boot/vmlinuz-2.2.12
Now change the directory back to /usr/src/linux/ .
Type cd /usr/src/linux/ .
Now let's copy the new System.map. Please note that System.map
is always located in /boot/ .
Type cp System.map /boot/System.map-2.2.12
Now we have to make a new symbolic link which points to
the new System.map.
First change the directory to /boot by typing cd /boot .
Now delete the old symbolic link (note that deleting the symbolic link only
deletes the link, not also the file or directory to which it points).
Type rm System.map .
Now let's create a new symbolic link which points to our new System.map-2.2.12.
Type ln -s System.map-2.2.12 System.map .
All we have to do now is to edit the lilo.conf file, add
our new kernel in there and run lilo.
Let's change directory to /etc by typing cd /etc . With your favourite
editor (vi, joe, pico) edit the lilo.conf file. For our example we will
use joe.
You will see something like this in your file :
= start of example page =>
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
image=/boot/vmlinuz-2.0.36-0.7
label=linux.old
root=/dev/hda1
read-only
<= end of example page =>
Please note that this can and probably is different on your
system.
Now we will add the new kernel to our lilo.conf file. Copy the part
from image to the end and paste it before the current image. You should get
something like this:
= start of example page =>
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
image=/boot/vmlinuz-2.0.36-0.7
label=linux.old
root=/dev/hda1
read-only
image=/boot/vmlinuz-2.0.36-0.7
label=linux.old
root=/dev/hda1
read-only
<= end of example page =>
Now change the pasted part to the settings and version(s) of
your new kernel. For our example (we use the 2.2.4 kernel) it looks like this:
= start of example page =>
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
image=/boot/vmlinuz-2.2.12
label=linux
root=/dev/hda1
read-only
image=/boot/vmlinuz-2.0.36-0.7
label=linux.old
root=/dev/hda1
read-only
<= end of example page =>
We changed the label part, the image part, everything else
stayed that same.
I won't explain the basics of the lilo.conf file, since it's very well
described in the LILO
How-To .
Now run lilo by simply typing that. You should see
something like this (more or less exactly this):
= start of example page =>
Added linux *
Added linux.old
<= end of example page =>
You can now reboot your machine to the new kernel.