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 =>
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 =>
<= 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.