We previously tried to install on Cyan and everthing seemed to be
going well. We made a new initrd img ($ /sbin/mkinitrd initrd 2.4.19.img 2.4.19), copied the
initrd and kernel images (bzImage) into /boot directory, and made the sym links required. Then, we
edited /etc/grub.conf file and added a listing for the new kernel, but could not get it
to boot. This sounds quick but it actually took about 6 hours due to confusion about the need for an
initrd (see p. 134 in Stanfield & Smith) and some other problems. When we attempted to boot, we got
an error indicating we were missing the AIC7xxx SCSI driver module. Then, when we would try to boot the
boot failed at "uncompressing Linux."
Due to the AIC7xxx error, we decided to try
the next kernel install on an IBM 380XD laptop to avoid the SCSI
driver problem. This kernel upgrade failed as well, so we returned to Cyan where we seemed closer to
success, made a couple more rounds of configuration changes adn finally succeeded in installing and
booting into the new 2.4.19 kernel.
We used the old tar file which originally was downloaded as bz2. We rezipped it with gzip and copied
it to /usr/src where we unzipped and decompress it.
$ tar zxf linux-2.4.19.tar.gz
That created a folder named Linux-2.4.19. We renamed that file "linux." On this install,
we did not create the sym link from linux-2.4.19.tar to /usr/src/linux because we were already in
/usr/src/linux.
In the previous Cyan install attempt, we had unzipped and detarred into /usr/bin/linux-2.4.19, copied
the bzImage, vmlinux and System.map files from their locations within linux-2.4.19 to /boot. We then
created symlinks to the 2.4.19 kernel image (vmlinuz-2.4.19; bzImage renamed) and System.map files.
This time (on the laptop) we decided to install in /usr/src since linux kernel source "wants to be in"
/usr/src/linux. A couple of things made us think this would be okay to do even though the README file
explicitly said NOT to use the /usr/src/linux area to install the kernel, warning that kernel headers
used by library header files might be altered by kernel version specific headers:
First, there was no pre-existing linux directory or file in /usr/src (we figured this probably would be
created when the tar file was decompressed).
Second, there was a /usr/src/redhat directory which we thought might be from the original kernel
installation and that would not be effected by installing the 2.4.19 kernel in /usr/src. We left that
directory alone and from what we could see during the 2.4.19 build, it left that directory alone as
well.
Third, there is contradictory installation information regarding this kernel installation on p. 255 of
Stanfield & Smith.
INSTALLATION STEPS:
1) > cd /usr/src/linux
> root /usr/src/linux> make mrproper
2) root /usr/src/linux> make menuconfig (we did not change anything)
3) Then, we began to build the kernel.
root /usr/src/linux> make dep (took about 5 minutes)
4) root /usr/src/linux> make bzImage (took about 25 minutes)
5) root /usr/src/linux> make modules (took about a minute)
6) root /usr/src/linux> make modules install (instead of make modules_install per gbn tip).
This last command copied the kernel, bzImage, from, in our case, /usr/src/linux/arch/i386/boot to
/boot, renamed bzImage to vmlinuz-2.4.19, copied System.map from the /usr/src/linux directory to
/boot/System.map-2.4.19, removed the old System.map link, removed the old vmlinuz link and
then created two new sym links to System.map and to vmlinuz. Toward the end of this step we were
concerned by one message which indicated that the kernel was too big to run in /boot. This caused us to be
concerned that on this try we had deleted the .tar file and not create a sym link from
/usr/src/linux to the linux-2.4.19.tar file (per gbn's step 4 of kernelsteps.txt) because there was no
tar file.
10) We edited GRUB, but did not create a new .img file as we had on Cyan. Instead, we decided to use the
old .img file as was suggested might work by the older LILO boot loader configuration instructions that
were readily available in our text and in the Linux HOWTo. Our edit included the following:
title Red Hat Linux (2.4.19)
kernel /vmlinuz-2.4.19 ro root=/dev/hda2
initrd /initrd-2.4.18-3.img
11) After our second (laptop) kernel upgrade attempt failed, we consulted Dr. Newby via email; he
offered some suggestions for additional grub configuration settings. I reran "make menuconfig"
remotely that evening and located and added SCSI AIC7xxx driver support, ext3 filesystem support,
and Adaptec network card support. I then repeated steps to build the kernel (make dep; make bzImage;
make modules; make modules install). I rebooted Cyan the next evening before class to test the new configuration
and the kernel loaded!...very close now. Remote login attempts with the new kernel loaded failed
indicating Cyan was not on the network. Class discussions revealed that we needed to enable support for
3Com 3cxxx network card (rather than an Adaptec network card). Kevin and I reconfigured and rebuilt the
kernel one last time after class. The 2.4.19 kernel booted successfully and is now operational on Cyan.