Previous
Next
Table of Contents
- Stock kernel headers are *not* compatible with the glibc headers that
comes with Redhat alpha 4.2 (which is glibc 1.9).
- Stock kernel headers are compatible with the glibc2 headers.
- glibc2 is not compatible with the binaries that come with Redhat
alpha 4.2.
- The kernel RPM from Redhat 4.2 patches the kernel headers to make it
compatible with glibc 1.9.
- The other available kernel patches (except as noted below) also
make the kernel compatible with glibc 1.9.
Note - All patches are to be applied to a pristine 2.0.30, except as
noted.
axp-diffs-2.0.30.gz
-Various fixes for 2.0.30.
-Modifies the kernel headers to make them compatible with glibc
1.9.
alpha-patches-2.0.30-0.2a.gz
-Includes the above, plus additional bug fixes.
-In particular, includes enhancements needed for em86, and has
SYSV IPC bugfixes. These are needed for the X server MIT SHM
extention. Without it you can't run xquake, so this is a very
important bugfix.
-Breaks trap handling - running programs with lots of unaligned
access could crash the machine.
Kernel which comes with Redhat 4.2:
-A patched version of 2.0.30. Kernel headers are patched to be
compatible with glibc 1.9 headers. Includes some, but not all
of alpha-patches-2.0.30-0.2a.gz, but *does* include the trap
handling bug.
-I believe it also is missing the SYSV IPC bugfixes, without
which the X server MIT SHM extention will fail, so you can't
run xquake.
alpha-patchset.tar.gz
-Includes several patches:
alpha-patches-0.2-glibc2.diff
-This is alpha-patches-2.0.30-0.2 (*not* 0.2a), but
modified to apply to 2.0.30-pre.10, except that it
*doesn't* modify kernel headers for glibc 1.9.
ap-0.2-fixes-1.diff
-Fixes to alpha-patches-0.2-glibc2.diff. In particular,
fixes the trap handling.
- Using stock kernels on RH 4.2 systems:
The stock kernel headers are incompatible with the
supplied glibc. However, you can work around this by leaving
the symlink in /usr/src/linux pointing to the kernel source tree
that comes with RH 4.2.
- Using patches from ftp.azatartnet.com or ftp.digital.com:
Apply one or the other, but *not* both to a pristine 2.0.30,
*not* the 2.0.30 that comes with Redhat 4.2.
- Using patches from genie.ucd.ie:
Get the original 2.0.30 and apply 2.0.30-pre.10 first. Then you
can apply alpha-patches-0.2-glibc2.diff, and if you desire, you
can also apply ap-0.2-fixes-1.diff, or components of it which
are available on the ftp server. See the ftp server for details.
If you do this, you either need to be using glibc2 or you need
to leave the /usr/src/linux symlink pointing at the old kernel
source tree.
- 2+3 combo:
You can apply alpha-patches-2.0.30-0.2a.gz from ftp.digital.com
to a pristine 2.0.30, and then apply ap-0.2-fixes-1.diff. This
seems to work fine, and the kernel header files should be
compatible with redhat 4.2 (although I've left /usr/src/linux
pointing to the old tree anyway). If you do this, then you'll
get one reject from the ap-0.2-fixes-1.diff patch. I think
applying it by hand should be ok. Just added result = -EIO; to
the NOT_READY and ILLEGAL_REQUEST cases in drivers/scsi/sr_ioctl.c.
WARNING - Remember that kernel sources unpack into /usr/src/linux, so
if you have a /usr/src/linux symlink, you'll need to remove it, unpack
the kernel, and put back the symlink.
It seems that with the Redhat glibc one can use both unpatched and
patched kernels, as long as one keeps a /usr/src/linux symlink to
the Redhat kernel source tree. So, we get the following procedure
for those using Redhat's glibc (glibc 1.9). Those brave enough to
use glibc2 can probably figure out what they need to do on their
own or via the glibc2 HowTos.
Step by step notes:
- cd to the /usr/src directory.
- If you have a linux symlink, remove it. If you have a linux
subdirectory, rename it to something like linux-redhat. If you
have something else there, I'll call it linux-redhat for the
rest of these instructions.
- Untar linux-2.0.30.tar.gz.
- Rename linux to linux-2.0.30.
- Make a symlink from linux back to linux-redhat.
- cd /usr/src/linux-2.0.30 (for the rest of these instructions).
- If you're *not* going to patch the kernel, then edit the
Makefile, changing ARCH=i386 to ARCH=alpha.
- Apply patches as noted above.
- make mrproper
- make config
Use make config even though it's extremely painful. People
have reported problems with make xconfig and make menuconfig,
and I've experienced them myself. On the other hand, I have
used make xconfig and it sometimes seemed to work. tkparse
complained about not recognizing the "unset" commands in
arch/alpha/config.in. I don't know how serious this is. If
you try using xconfig or menuconfig and things don't work, try
again with just config.
- (if you use make xconfig or make menuconfig) Save to a file if
you so desire.
- Save and exit.
- make dep clean
- make boot
- cp arch/alpha/boot vmlinux.gz /vmlinux-2.0.30-my-very-own.gz
- reboot with /vmlinux-2.0.30-my-very-own.gz.
Previous
Next
Table of Contents