Sudo Bash 0 Light Poster

Hi all,

I have a Pentium 4 with hyper-threading on my Slackware machine. Currently I am running the non-SMP kernel, but I want the option to be able to boot with the SMP kernel as well. I already have Lilo installed on my computer and have a large variety of kernels installed. What I want to know is how I should edit my /etc/lilo.conf file and what kernel I should use: huge/generic?

currently my lilo.conf file looks like this:

# LILO configuration file
# generated by 'liloconfig'
#
# Start LILO global section
boot = /dev/hda
#compact        # faster, but won't work on all systems.
# Append any additional kernel parameters:
append=" root=/dev/hdb1 vt.default_utf8=0"
prompt
timeout = 50
# Normal VGA console
vga = normal
# ramdisk = 0     # paranoia setting
# End LILO global section
# Linux bootable partition config begins
image = /boot/vmlinuz
  label = TheLinuxMachine
  read-only  # Partitions should be mounted read-only for checking
# Linux bootable partition config ends
# Windows bootable partition config begins
other = /dev/hda1
  label = WindowsXP
  table = /dev/hda
# Windows bootable partition config ends

My theory is that I should change the end of this file to:

image = /boot/vmlinuz-huge-smp-2.6.33.4-smp
  label = Slack-2.6.33.4-SMP
  read-only  # Partitions should be mounted read-only for checking
other = /boot/vmlinuz-huge-smp-2.6.24.5-smp #does this line need to start with other = or with image =?
  label = Slack-2.6.24.5-nonSMP
  read-only  # Partitions should be mounted read-only for checking
other = /dev/hda1
  label = WindowsXP
  table = /dev/hda

and run:
#/sbin/lilo

Should this work provided I have all kernels properly installed? Will I need to change any symbolic links such as /boot/vmlinuz? Should I use the huge or generic kernels?

Thanks in advance :)

EDIT:
What should I do with the /boot/config and /boot/System.map symbolic links? I currently have them pointed to their respective files for the kernel.

Dani AI

Generated

Short answer for : add one Linux image stanza per kernel (not otherother is for non-Linux/chainloading), give each stanza a unique label, and point each stanza at the actual kernel file in /boot. Keep per-image options (like append or an initrd) in the same stanza if that kernel needs them; leave global append alone when all kernels share the same root parameters. After editing the config, reinstall LILO so the new map is written.

About SMP vs non‑SMP and huge vs generic: a non‑SMP (UP) kernel will not utilise hyper‑threading as multiple logical CPUs — use an SMP kernel to take advantage of your Pentium 4’s HT. The Slackware “huge” builds traditionally have many drivers compiled in, which makes booting simpler (often no initramfs required). “Generic” builds are more modular and smaller, but may need an initramfs for the root device or early drivers. If convenience and fewer boot surprises are the priority, pick a huge‑SMP build; if you want a smaller, modular kernel and are comfortable managing an initrd, pick generic‑SMP.

About symlinks and System.map/config: LILO does not require /boot/vmlinuz, /boot/System.map or /boot/config to be symlinked to any particular file — it boots whatever file path you list. Best practice is to point LILO at explicit kernel filenames so the boot map is unambiguous, and keep the /boot/* symlinks updated to match whatever kernel you want as the default (useful for tools, module builds and human convenience). Also ensure /lib/modules/<kernel-version> matches the kernel you boot; if you install a new kernel, rebuild or install matching modules. Always reinstall LILO after changes and test booting; if a kernel fails to boot, check the bootloader messages and whether an initramfs is required.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.