Posts Tagged ‘compile module’

Adding modules to Damn Small Linux (DSL)

Friday, January 30th, 2009

This is not a simple task. Adding or compiling modules is a tricky feat when it comes to 2.4 kernels. It requires you compile the entire kernel yourself before.

I have used a diskless machine, with an NFS mount as the place where I have kept all persistent data. Mounted it at /tmp/mnt directory.


  • Boot into DSL
  • Mount remote NFS with no_root_squash server options
  • Use mydslPanel.lua if this is the first run to download and save the packages described below to the NFS share, or
  • Use mydsl-load to install packages

Compiling Kernel

Installing required packages

  • mydsl-load gcc-2.95.unc (could be .dsl, too)
  • mydsl-load gcc1-with-libs.dsl
  • mydsl-load gnu-utils.dsl
  • mydsl-load kernelheaders
  • Download kernel 2.4.26

Extracting the kernel

  • mkdir /usr/src (if doesn’t exist already)
  • cd /usr/src
  • tar xzf /full/path/to/kernel/linux-2.4.26.tar.gz
  • patch -p1 -d linux-2.4.26 < knoppix-kernel.patch
  • chown -R dsl linux-2.4.26

Configure the kernel – as the user “dsl”

  • cd /usr/src/linux-2.4.26
  • make mrproper
  • Get config file from DSL mirror and save it to /usr/src/config in the kernel source directory
  • make menuconfig
  • Go to last before bottom option in the menu – “Load alternate configuration file”
  • Change the path and name of your config file. In our example – change the value to /usr/src/config
  • Save and exit kernel configuraiton
  • Run make dep clean bzImage

Compiling the module

I used make in rtl8168 driver source. This should cause no problems, if you have followed the previos notes

Loading the modules

You can run “insmod src/r8168.o” to load the module, however, some of the modules will require predefined modules for them to load. In the r8168 module, you must insmod crc32 modules before.

Keep the new module for later use

You don’t need to follow this entire process to load the modules on another DSL system with the same kernel running.

I will follow this up with an explenation on how to close the ISO correctly under Ubuntu, and make it work later on. The source for this specific post can be found here.