Text only | Skip links
This web page has been archived This web page has been Archived. Its content will not be updated. Use this link to obtain further details of our archive policy .

Remastering KNOPPIX

1. Preparation

You'll need

Read the following instructions with a pinch of salt and some common sense. They are not a safe recipe, more a diary of what we did.

The first thing to do is seed your new Knoppix from the existing one. Boot using the clean Knoppix CD, get a root shell, and mount your nice big empty partition. Install the remaster scripts somewhere temporary (in the /home/knoppix directory), and run knoppix_remaster there. It will ask you if you want to make a new remaster (yes, you do), and then for a directory, so tell it the place where you mounted your empty partition. It'll spend some time copying files, and then come back and ask if you want to
  • chroot: this gives you a shell prompt placed in your new system, where you can add and delete packages
  • make an image: this builds your new Knoppix
  • make an ISO image: this makes the CD image you can burn, by compressing the image in the previous step
  • edit options: (change the name of the producer etc)
You can quit at this stage and come back whenever you like to do more work. Your work now is to decide what changes to make. I do this in four parts
  • Do some hand work to establish the system the way I want it
  • Add and delete standard packages
  • Add specialized software for which I have made Debian packages. locally
  • Clean up, rebuild menus etc

2. Setup

This is the first script I run. It assumes that /mnt is the location of my various scripts and data files. I put in a resolv.conf (http://www.oss-watch.ac.uk/knoppix/resolv.conf) to get the network as I need it, and a fixed apt sources.list (http://www.oss-watch.ac.uk/knoppix/sources.list ). The KDE skeleton files are hand-crafted to add Mozilla Thunderbird and Firefox to the menu, the background image is changed, and the X startup is changed to display http://localhost/ on startup. Then we update the apt cache, do a large set of removes (see list at http://www.oss-watch.ac.uk/knoppix/Remove) and then adds (see list at http://www.oss-watch.ac.uk/knoppix/Add). Finally, we set a password for MySQL.

 #!/bin/sh
 mount -t proc /proc proc
 # I have mounted my working files on /mnt/Knoppix
 cd /mnt/Knoppix
 :>/usr/games/frozen-bubble.wav
 for i in resolve.conf sources.list background.jpg 45sxession \
     kde.tar Add Remove LocalAdd dotmoz.zip
 do
   wget http://www.oss-watch.ac.uk/knoppix/$i
 done
 cp resolv.conf /etc/resolv.conf
 cp sources.list /etc/apt
 cat kde.tar | (cd /etc; tar xf -)
 (cd /etc/skel; unzip /mnt/Knoppix/dotmoz)
 convert background.jpg /usr/local/lib/knoppix.png
 cp 45xsession /etc/X11/Xsession.d/45xsession
 apt-get update
 apt-get --purge remove `cat Remove`
 apt-get --purge remove mozilla-browser
 apt-get install `cat Add`
 /etc/init.d/mysql start
 /usr/bin/mysqladmin -u root password 'adm!n'
 umount  /proc

3. Local packages

A series of package are added which are not part of standard Debian distributions. If they exist, remove them, then add clean versions. These have been made into .deb packages locally.
  • Moodle 1.4: Debian is not up to date with this
  • Moodle OSS Watch setup: config and initial database, with Moodle demo course
  • axis and Tomcat5: not packaged by Debian
  • eXist: XML database used by TEI and Roma
  • TEI: stylesheets, DTDs, schemas etc, including seeding of eXist database
  • tei-emacs: TEI setup for Emacs
  • Roma: TEI application to generate schemas
  • osswatch-knoppix: a package which does the nasty things needed to make databases and webapps work with Knoppix, by copying data to memory and adjusting config files

 #!/bin/sh
 mount -t proc /proc proc
 IN="xmlstarlet moodle moodle-osswatch exist-standalone \
    xslt-process  jing \
    nxml-mode-tei tei-doc tei-emacs tei-lite tei-p5-doc tei-p5-schema
    tei-roma tei-schema tei-xsl tei-xsl-teic
    osswatch-knoppix"
 for i in `echo $IN`
 do
   echo add package $i
   apt-get install $i
 done
 umount  /proc

4. Cleanup

These commands make sure MySQL and Tomcat are stopped (some of the local packages need to start services when they install), gets rid of unwanted orphan packages, makes some global definitions, and cleans up the menus

  #!/bin/sh
 mount -t proc /proc proc
 /etc/init.d/mysql stop
 /etc/init.d/exist stop
 deborphan | xargs apt-get --purge remove -y
 apt-get clean
 updatedb --prunepaths="/KNOPPIX.build /mnt /mnt/hd /mnt/cdrom /tmp /usr/tmp /var/tmp"
 update-dlocatedb
 update-menus
 umount /proc

5. Finally

Now you can go back to the remaster program, and ask it to make the CD image. When it says "do you want to clean your Master, say NO! Otherwise it trashes your work.

You can try your lovely new image in one of three ways:
  • burn a CD and boot from it (could get expensive)
  • boot your original Knoppix, but specify the location of an ISO image at the prompt. eg linux24 bootfrom=/dev/hda8/knoppix.iso. You need to know something about your partitions.
  • run VMWare, and make a new virtual machine where the CD drive is set to use an ISO image instead a physical device

Date: September 2004 (last updated Tue, 13 Feb 2007)
Last reviewed: February 2007
Author: Sebastian Rahtz

Unless otherwise indicated, this page is © 2004-2007 University of Oxford.
Creative Commons licence It is licensed under the Creative Commons Attribution-ShareAlike 2.0 England & Wales licence.
JISC logo OSS Watch is funded by the Joint Information Systems Committee.
OSS Watch values your input and questions.
If you have feedback on this document, or any OSS Watch activity, please send it to info@oss-watch.ac.uk
Follow our tweets via the OSS Watch twitter account at http://twitter.com/osswatch