Hi!
OK, now here is the explanation on the kernel configuration and
compilation. If you have problems with getting the packages required,
you can write me.
1.) The following packages should be installed: libncurses4-dev or
libncurses-dev or libncurses5-dev; kernel-package, binutils, bin86,
make , a gcc package (gcc, gcc-2.95, g++, g++-2.95) and all packages
these ones depend on. (dunno if I'm missing anything here; if the
compilation scripts complain about a missing file, you can search for
the appropriate package at http://packages.debian.org (use the search
form at the bottom).
2.) You now need kernel sources. Firstly, look around which kernel
version you have by dmesg |more. This command will show you the
kernel output from tehe startup, and you'll see if your kernel is
version 2.2.x or 2.4.x (or if it's very old, 2.0.x). The kernel
sources package you'll have to install depend on the distro you have
and what kernel you have now:
If you have the potato (stable/2.2) distribution and...
... kernel 2.0.x, install kernel-source-2.0.38
... kernel 2.2.x, install kernel-source-2.2.19
If you have the testing distribution and...
... kernel 2.2.x, install kernel-source-2.2.20
... kernel 2.4.x, install kernel-source-2.4.18
if you do not have one of these packages, install the most recent
kernel-source 2.x.y package available, where x must be the same
number which is in your running kernel, y is the higehest number
which you have a package for.
3.) Now, go (that means cd, most the work is done on a console!!!) to
/usr/src/ . There you'll find a file named
kernel-source-2.x.y.tar.bz2 or (...).gz Now, uncompress this package,
by tar xzf filename.gz or by tar xjf filename.bz2 ; this depends
on how your sources are compressed. With older tar programs, you must
use xIf (where I is a capital i) instead of xjf. The kernel-sources
are now uncompressed; you'll find a new directory under /usr/src with
the kernel insinde; now create a symbolic link named linux in
/usr/src, which points onto the kernel directory to do this, do the
following:
cd /usr/src
ln -s name of the kernel dir linux
4.) Install the tekram315 patches. For getting the newest patch,
download http://www.garloff.de/kurt/linux/dc395/dc395-138.tar.gz into
the /usr/src dir and uncompress it by tar xzf. Now, go into
/usr/src/dc395 and do the following copy actions:
cp -p dc395x_trm.* /usr/src/linux/drivers/scsi/
cp -p READ* /usr/src/linux/drivers/scsi/
and now the patching:
cd /usr/src/linux
patch -p1 /usr/src/dc395/dc395-integ2x.diff where x stands for the
second number in your kernel version (0,2,4).
Patch will tell you if it was successful, if errors have occured only
while patching readme files or not at all, it will probably work.
5.) Go into /usr/src/linux and call: make-kpkg --config menuconfig
--bzimage binary-arch This will start kernel-configuration and
compilation. You can now choose, which drivers should be built into
your selfmade kernel. There are two different ways of loading drivers
in linux: Either, they are compiled directly into the kernel, or they
are compiled as modules. Modules are drivers which can be loaded
while the system is running; the kernel even can load modules it
needs dynamically. I personally would choose to build all important
drivers directly into the kernel when doing a compile for the first
time, because you won't have to care about loading modules then.
Attention: Don't ever compile the ext2 filesystem driver as a module.
This leads to a chicken-egg-problem: The kernel cannot load the
filesystem where the modules are on and you can only boot by
bootdisk/boot-cd. Compile it straight into the kernel! Cause it would
be too long if I would explain the whole configuration here, I'll
only give some hints; carefully walk through the menus and choose the
options, many also have a help text:
You'll need to enable Experimental or new drivers because the
realtek driver is new if you're using a 2.2 kernel. Enabling or
switching options to compile as module (M) works with the
whitespace key.
Also enable _all three options_ under loadable module support.
For the Realtek card, use the 8139too driver, if you have a 8139
chip.
For the Tekram, use DC395/U/UW and DC315/U support under SCSI-SCSI
low level drivers under SCSI, of course, CDROM support etc. must be
enabled
Switch on /dev/agppart under Character Devices, if available.
For the Logitech mouse and keyboard, you'll need the ps2 mouse driver
or an usb hid (human interface devices) driver with mouse/kb option
(depends on if this kb/mouse is usb) enabled. The USB HID driver and
the USB scanner/printer drivers depend on the USB-UHCI /OHCI driver
(depends on chipset, for via/intel choose UHCI).
After you'll have left the menu and have saved the config, make-kpkg
will compile kernel and modules and headers into two .deb packages in
/usr/src. Now, install them by:
cd /usr/src
dpkg -i kern*.deb
You'll be asked a few questions, and the kernel will be copied to