(*).    Kernel


(*).1.    Kernel sources and patches


The ROCK Linux kernel sources are placed in /usr/src/linux

These are the official (as released from Linus Torvalds) sources, but with
some patches applied. The patches and the official kernel-source tarball can
be found in /usr/src/kernel/.

Like most other Linux Distributions ROCK Linux comes with a pre-compiled
kernel. However: It supports only the most common hardware and it probably
includes a lot of drivers you will never use. So you should always compile
your own kernel! Also note that the precompiled kernel and modules are
compiled for SMP. If you recompile the kernel, you should also recompile
the modules.

For Linux newbies, this is how a new kernel tarball should be installed:

a) download the latest kernel tarball from:
ftp://ftp.xx.kernel.org/pub/linux/kernel/v2.4/

replace xx above with your country's domainname extension.
(I.e. 'at' for Austria.)
 
b) Verify that the directory /usr/src/linux/ is a symlink. If it isn't, move
it to a different directory with mv /usr/src/linux /usr/src/linux-old

Then do:
rm /usr/src/linux                       (if it was symlink....)
cd /usr/src
tar Ixvf /path/to/kernel-tarball.bz     (if .tar.gz, replace 'I' with 'z')
mv linux linux-<version>                (f.x. linux-2.4.0)
ln -s linux-<version> linux
cd linux 
make menuconfig                         (select your options. NB! Enable devfs!)
make dep
make bzImage
make modules
make modules_install
cp arch/i386/boot/bzImage /boot/bzImage-<version>
vi /etc/lilo.conf                       (add a section with the new kernel)
lilo                                    (write the new lilo configuration)


(*).2.    Loading kernel modules and changing kernel settings

The kernel modules which come with ROCK Linux are built for SMP kernels.  So
even if you don't have an SMP system you should build an SMP kernel if you
would like to use the pre-built modules (like PCMCIA, PerlFS, ...).

Installing the package "modules" does only make sense for you if you are
going to use the standard kernel. If you are going to build your own kernel
you don't need this package.

The system bootup script calls /etc/conf/kernel. You can insert all commands
you need to load modules and to configure the kernel in this file. This file
should not contain any command which is not a insmod/modprobe call or an echo
to '/proc/sys/*'.

If you have enabled the kernel module loader (which is highly recommended if
you have built any part of the kernel as a module), edit /etc/modules.conf
accordingly. Note that there are a lot of default values, even if the file
does not exist. See the manpage for modprobe(1).


(*).3.    PCMCIA Drivers (PCMCIA = PC-Card)

Distributing pre-compiled PCMCIA drivers would be a significant hassle.  It
is complicated because some features can only be selected at compile time,
and because the modules are somewhat dependent on having the "right" kernel
configuration.

That's why you need to compile the PCMCIA driver by yourself. You can do this
by executing this command:  cd /usr/src/pcmcia-cs ; make config ; make all ;
make install
[FIXME! Is this still current?]

Activating the PCMCIA stuff is simply done by adding 'pcmcia' to your
runlevels (using the 'runlvedit' tool).  Note that PCMCIA is gradually being
integrated into the main linux kernel tree.  No matter how integrated PCMCIA
becomes, you will always need a small suite of userland tools. Thus, if you
have the need for PCMCIA support, also install the standalone PCMCIA
package.

Further information on the kernel, modules and supporting packages can be
found in:  
/usr/src/linux/README 
and
/usr/src/linux/Documentation/Changes


(*).4.    The SAK (Secure Attention Key)

If the SAK key is pressed, all processes connected with the terminal are
killed and a new login is started. If you would like to use the SAK on the
console you need to apply this patch first to the keyboard map file. It binds
Ctrl-Alt-Backspace to the SAK.

 keycode  14 = Delete           Delete
	control keycode  14 = BackSpace alt     keycode  14 = Meta_Delete
+       control alt keycode  14 = SAK
 keycode  15 = Tab              Tab
	alt     keycode  15 = Meta_Tab

Never use the SAK when an XFree86 Server is running! The server wouldn't
reset the video board and this makes your console unuseable.  It is possible
that SAK kills the gpm daemon (or others).



