The Ftape Installation and Usage Guide - Kernel patches
This subsection describes how to modify the sources of the Linux v1.2.13 kernel to enable use of ftape with this kernel version. Please note that ftape probably won't work with kernel version 1.2.13 and DEC Alpha machines(1).
Please follow the steps described below. I assume that your kernel
source tree starts at `/usr/src/linux/
' and that the ftape
distribution lives in `/usr/src/ftape-4.04/
'. It is
necessary to modify the kernel for two reasons:
__get_dma_pages |
intr_count |
Thus one needs to modify
/usr/src/linux/kernel/ksyms.c
/usr/src/linux/include/asm-i386/io.h
The old `io.h
' may also cause trouble with newer GNU C-compilers
(`gcc-2.7.0
' and up, if so).
./include/linux/wrappers.h
' included in newer kernel versions
(post 1.2.13). This file doesn't exist in 1.2.13 and hence the macros
are missing (and the compiler will complain that it can't find this
include file).
Now, please use the following steps to modify the kernel:
cd /usr/src/linux/
Patching 1.2.13. See Patching 1.2.13.
Changing 1.2.13 by hand. See Changing 1.2.13 by hand.
make clean make dep make zlilo make modules make modules_install
You may need to replace make zlilo
by the command you need to
install your kernel such that you can boot it. Alternatives are for
example `make zdisk
' or `make zImage
'. The latter does only
compile the kernel and does not install the kernel image.
Please don't forget the `make dep
'.
So this is it. You should now be able to compile the ftape-4.04 package with Linux v1.2.13 (see Compiling ftape).
However, there were numerous problem reports for installing ftape and zftape versions under Linux v1.2.x. The problems most often encountered are:
insmod
can't resolve symbols. If you get messages like
`.gcc2-compiled undefined
' you may solve the problem with doing the
following:
ld -x -r ftape.o mv -f a.out ftape.o
Of course, you need also to do this with all other modules:
`zftape.o '
|
`zft-compressor.o '
|
`ftape-internal.o '
|
`trakker.o '
|
`bpck-fdc.o '
|
gcc
can't find certain files during the compilation of
ftape. The files most often `missing' are
/usr/src/linux/include/linux/version.h
or
/usr/src/linux/include/linux/modversions.h.
If the latter occurs, you probably forgot that `make dep
' or
configured the `versioned symbols
' stuff with ftape wrongly.
(see CONFIG_MODVERSIONS).
Patching 1.2.13 | Changing 1.2.13 by using the patch command. |
Changing 1.2.13 by hand | Doing it yourself. |
(1) Is this still true? I have remove ALL machine dependent timing code from ftape. So it may work with all architectures as well. Or not. FIXME
![]() |
Use these buttons to jump to the top menu |