Speeding up Slackware
IntroductionI wrote this due to all the times I have been asked how to make Slackware run faster. Here are some things that I think will help with making Slackware Linux run faster.
When You InstallWhen you install Slackware Linux, I would recommend that you choose the Reiser File System. Most home users don't really need that much of a difference in speed, but I prefer this filesystem for its speed and balance. Speed trials here
Also, I would recommend that you pick the bareacpi.i kernel to boot from AND to install on your machine. Unless your machine is slower than say around 400mhz cpu speed, your system should be (9 times out of 10) compatible with ACPI. The few that are faster than 400mhz that are not compatible with ACPI are usually low-price motherboards built by unscrupulous manufacturers. SiS hardware comes to mind. ACPI is sometimes required for some machines to even boot properly. Mine is one of them.
After Installing: Services
First, you should log in as root. Let's
look at what boot-time options are enabled in /etc/rc.d. In
directory you should see something like this:
Those in color are enabled boot time scripts. They are executable. To turn one "on", you make it executable ("chmod +x rc.udev" for example). To turn one "off", you make it unexecutable ("chmod -x rc.udev" for example). I have some custom files in here, but the idea is the same. Do you need people to log into this machine from the network using Secure Shell? If not, shut off rc.sshd, etc. Most home users won't need SendMail (rc.sendmail) or NFS (rc.nfsd), but always check your system. Last, do NOT mess with rc.4, rc.6, or any other file that you are unsure of what it does. The last thing you want to do is lock yourself out of your own computer.
A New KernelThe kernels that come with Slackware are typically built to fill the needs of as many people as possible. This is the smart way to design Slackware. However, sometimes this can also seem to cause kernel "bloat", i.e. excess code being loaded into memory on boot. You can try compiling a new kernel in order to try to remove some of this "bloat", but it's more of a user option. Compiling a new kernel can also allow you to pick better options for your specific computer.
On my Acer Laptop (see here for more specifics), I noted a difference of about 4 seconds (at least) in boot speed between pressing the enter key at the LILO prompt and the first time I'm asked to input my LUKS password.
Wrong kernel options and/or bad drivers
Sometimes you can pick wrong kernel options and
can slow down your computer. Similar to this, but not
in concept, is installing bad drivers. The Linux kernel
(22.214.171.124 when this was written) contains enough functionality
most people can do what they need with Linux. However, some
drivers, including but not limited to nVidia and ATI drivers, are
written well for Linux. They may be unstable at
times. This is not disrespect, it is just a warning.
think a driver may be causing a problem, report the problem to
is in charge of it. Also, misconfigured drivers can cause a
down. I remember one version of Mandriva hanging for 5
boot time only because I forgot to install the firmware for one of
network drivers I am using.
LILO optionsSometimes hard drives get mis-detected by boot loaders due to machines with an inferior (shoddy) BIOS. I have seen some poorly written BIOSes cause all number of problems with Linux. You should configure the bootloaders and/or kernel to adapt to this. One famous one is hard drives without DMA support. Mostly this is caused, ironically, by lack of ACPI support in the kernel, but sometimes this can be fixed using boot loader options to pass info to kernel modules at boot.
As for LILO itself, you can specify "compact" at the top of your lilo.conf to tell LILO to enhance boot time, and there are other options to help speed up the overall process. Be sure to read the documentation on as many programs as you can to be as well educated as you can be. The more you know, the more capable you can be when you need to troubleshoot a slow boot.