
Main page | Install | ttyreplay(1) | rpldev(4) | rpl(5) | ttyrpld(7) | rplctl(8) | rpld(8) | Netlogging | Support
| Unpacking > |
In the following code snippets, # denotes a root/superuser shell, while $ can be a user, or a root shell. Listed are only the commands you have to execute, their output is not shown in the boxes. If you made it until here, I assume you already unpackaged the source tarball. If not, use: $ tar -xvjf ttyrpld-VERSION.tbz2; Of course, replace version with the correct string. |
| Patching the Kernel sources > |
This is probably the step most of us will hate, because it involves a recompile of the Kernel, or at least bzImage. However, I can't help this, as this is necessary. Once you have it prepared with the rpldev hooks, you will never need to do so again, until either you get a new Kernel tree or if the kpatches change. That way, you can upgrade ttyrpld, yes even rpldev(!) without a reboot. You can find different Kernel patches in the kpatch folder, each targeting a different series and/or version. $ cd /usr/src/linux-2.6.9/; Run `make menuconfig` or anything else that suits your needs to choose "TTY logging via rpldev" in the "Security options" menu. Note: For Linux Kernels 2.4.x and older, the "TTY logging via rpldev" option is available in the "Character devices" menu. |
| Compiling the Kernel module > |
After having booted the new Kernel, run make kmod in the root of the source directory. (Please note that you will need GNU make, version 3.80 or later.) It will try to compile, load and install the module. You can tune the location of the Kernel sources and module installation path by using KERNEL_DIR=xxx or MODULES_DIR=xxx, respectively. To load the module at boot time, edit your distribution specific startup scripts. A hint for SUSE users: it is in /etc/sysconfig/kernel. If you do not know where, ask someone who knows or simply put a `modprobe rpldev` into /etc/init.d/boot.local. OTOH, the supplied etc-init.d-rpld script (to be put as /etc/init.d/rpld) will automatically load it. |
| Compiling the user-space applications > |
To compile the user-space tools, run make without any arguments. This will build rpld and ttyreplay (the daemon and the log analyzer). You will need libHX to use ttyrpld since it makes use of advanced data storage and OS-independent libc-style functions. You also need popt (and popt-devel), a library for option parsing. It is usually distributed alongside Redhat's Package Manager "RPM". If you distro does not use RPM, you might still find it in a separate package. (SUSE (uses RPM)): popt-1.7-176.3.i586.rpm for example.) |
| Installing > |
A `make install` target is provided and will install rpld and rplctl in /usr/local/sbin/, ttyreplay goes into /usr/local/bin/. You can of course put the programs in another place, but might need to adjust /etc/init.d/rpld then. Copying etc-init.d-rpld to /etc/init.d/rpld alone does not make it start on bootup. Refer to your Linux distribution's guide on how to include /etc/init.d/rpld in your boot process. For SUSE, the command is insserv /etc/init.d/rpld. |
| Device node > |
You normally do not to create a device node, since rpld will open /proc/misc to see at which minor number the module has been registered and dynamically creates a node in the current directory (which is deleted shortly afterwards). |
| by Jan Engelhardt | * |