How to compile Strongbolt kernel on Cobalt RaQ4

I’ve used the following page as a reference while building a kernel – http://www.digitalhermit.com/linux/Kernel-Build-HOWTO.html.

Below is a list of steps required to compile a kernel with virtual server support. If you don’t need this functionality please ignore steps 6 and 13.

  1. Logged in as root, downloaded and extracted kernel source code.
    wget http://www.osoffice.co.uk/linux/raq4-sb-kernel-source/2.6/linux-2.6.16-raq4-source.tar.gz
    tar -xzf linux-2.6.16-raq4-source.tar.gz -C /usr/src
    cd /usr/src/linux-2.6.16-raq4-standard/
  2. Installed compiler and required libraries.
    yum install gcc ncurses-devel
  3. To prevent overwriting any existing kernel modules on the system modified kernel version to something unique in /usr/src/linux-2.6.16-raq4-standard/Makefile.
    VERSION = 2
    PATCHLEVEL = 6
    SUBLEVEL = 16
    EXTRAVERSION = -ipvs
  4. Current kernel configuration settings are stored in /proc/config.gz. Since I only need to make minor changes to the configuration it would be wise to re-use the configuration file.
    zcat /proc/config.gz > /usr/src/linux-2.6.16-raq4-standard/.config
  5. Run the configuration utility. Configuration file .config created in previous step will be loaded automatically.
    make menuconfig
  6. In the menu, selected Networking -> Networking options -> IP: Virtual Server Configuration and then made the following choices:
        IP virtual server support (EXPERIMENTAL)
       [ ]   IP virtual server debugging (NEW)
       (12)  IPVS connection table size (the Nth power of 2) (NEW)
       ---   IPVS transport protocol load balancing support
       [*]   TCP load balancing support
       [*]   UDP load balancing support
       [ ]   ESP load balancing support (NEW)
       [ ]   AH load balancing support (NEW)
       ---   IPVS scheduler
          round-robin scheduling
          weighted round-robin scheduling
          least-connection scheduling
          weighted least-connection scheduling
          locality-based least-connection scheduling
          locality-based least-connection with replication scheduling
          destination hashing scheduling
          source hashing scheduling
          shortest expected delay scheduling
          never queue scheduling
       ---   IPVS application helper
          FTP protocol helper (NEW)
  7. Removed compiled kernel that came with the source files.
    rm vmlinux.bz2
  8. Compiled the kernel.
    make vmlinux
  9. Compiled and installed all the loadable modules.
    make modules
    make modules_install
  10. Made a backup of the current kernel.
    cp /boot/vmlinux.bz2 /boot/vmlinux-`uname -r`.bz2
    chmod 0644 /boot/vmlinux-`uname -r`.bz2
  11. Compressed and installed the kernel. Since one of the Strongbolt forum users experienced a problem booting kernel compressed with default settings (see http://www.osoffice.co.uk/forum/viewtopic.php?f=7&t=391), compression level 4 was used.
    bzip2 -4 vmlinux
    cp vmlinux.bz2 /boot
  12. Rebooted the server.
  13. Loaded virtual server kernel modules.
    modprobe ip_vs ip_vs_rr

Comments

  1. I’ve followed your step for compiling a kernel for my Raq4, but every time I try to boot the new kernel it hangs at:

    command line: 'console=ttyS0,115200 debug ip=off'
    booting kernel...
    
  2. linux-2.6.16-raq4-source.tar.gz at Strongbolt for Cobalt RAQ but Strongbolt website link not working. Let me know if you have file linux-2.6.16-raq4-source.tar.gz. May I have it?

Leave a Reply to Michael Ryvkin Cancel reply

(optional)

This site uses Akismet to reduce spam. Learn how your comment data is processed.