Best of Technical Support

Our experts answer your technical questions.
Bootable Kernels and Slackware Installation

I have a new scsi controller (aha2940) which my only hard drive is connected to. I can get the latest boot disk for my controller, but the kernel that gets installed by Slackware is unbootable. How do I use the kernel on my boot disk as a kernel for my hard drive? How can I boot from the floppy and compile a kernel for my hard drive?

Manni Wood

A Work-around

During the Slackware installation procedure, a kernel is installed from the distribution set instead of from the boot disk that you used to start your i system. Handling the installation this way has the unfortunate side effect of making certain hardware devices unrecognizable to your new system since only two kernels are included in the distribution set—one for IDE and another for SCSI-based systems. The installation is handled this way because the boot disk kernels are “all-in-one” packages that have device drivers for every imaginable piece of hardware. This is quite inefficient for normal use, since many of the drivers are unused and these extra options will waste memory. After you install Linux you should compile and install a new kernel image with only the options you really need.

While you are setting up your system, you can use a temporary work-around that will let you use the boot disk's kernel to boot your system. Slackware boot disks prompt you for a set of options to pass to the booted kernel. One of the options will allow you to boot a system that has no working kernel image installed. At the prompt, type mount root=/dev/X , where X specifies the drive and partition where you installed Linux, e.g. sda, hdb2. This boot disk can be quite handy to have in case you forget to re-run LILO after installing a new kernel, because your system will be unbootable without it. When it is used in conjunction with a root diskette that also contains some diagnosis and recovery tools, you will have a powerful pair of emergency utility disks.

Once Linux is running you need to copy a working boot kernel to wherever LILO (assuming you installed LILO) is looking for your current image. As a general practice you'll want to keep a backup copy installed as well. You can control LILO by editing /etc/lilo.conf. The default file should be fairly well commented and you can consult the LILO documentation for more details. If you don't have the original file you can copy the boot diskette onto your drive as a kernel image with the command:

dd if=/dev/fd0 of=/tmp/myimage bs=8192

replacing if and of with the appropriate input and output locations. After the new kernel file is in place, rerun LILO by typing lilo so it can rebuild its boot tables. If you forget to take this step you will not be able to boot your system! To recompile and install a new kernel, obtain a kernel and extract the archive into /usr/src/linux. Users with Slackware distributions set up for kernel version 1.2 need to beware. Many things have changed as Linux has grown to version 2.0, so many things can break. You may wish to make this step later. Slackware 3.0 comes with the complete set of the newest version 1.2 kernel package, in the K disk set. Either install that or unpack your desired package into /usr/src/linux.

The easiest and safest (though not the nicest looking) way to rebuild the kernel is to then cd into /usr/src/linux, type make config, and answer all the questions. Then type make dep; make clean; make zImage. If you are running on an Intel platform your new kernel image will be produced in /usr/src/linux/arch/i386/boot/zImage . Be prepared to wait, especially if you have a slow machine. If you are using a newer kernel package, you might type make menuconfig or one of the other combinations (see Makefile for details) for a better-looking configuration process.

—Chad RobinsonBRT Technical Services Corporation chadr@brttech.com

Drivers for 8 or 16 Port Serial Cards

Do you know where I could find a driver for a Jaws (extinct?) JCom-8 eight port serial card? What other 8 or 16 port cards would allow me to operate 8 Wyse 150 terms from Linux? —Gary Richardson

Here's One Source

That's not a card I've ever even heard of. To answer the second part of the question, there are several cards out there that can do what you need. The kernel has direct support for all of the Cyclades boards. We use a 16 port PCI Cyclades at Red Hat and it worked right out of the box (though it requires a kernel recompile or a module to be built).

—Donnie Barnes, Red Hat Software djb@redhat.com

______________________

Webinar
One Click, Universal Protection: Implementing Centralized Security Policies on Linux Systems

As Linux continues to play an ever increasing role in corporate data centers and institutions, ensuring the integrity and protection of these systems must be a priority. With 60% of the world's websites and an increasing share of organization's mission-critical workloads running on Linux, failing to stop malware and other advanced threats on Linux can increasingly impact an organization's reputation and bottom line.

Learn More

Sponsored by Bit9

Webinar
Linux Backup and Recovery Webinar

Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.

In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.

Learn More

Sponsored by Storix