Live-CD remastering

From ElphelWiki
Revision as of 12:01, 9 March 2006 by Ilya (talk | contribs) (Description)
Jump to: navigation, search

Knoppix Live-CD remastering

At present time this software is a beta-testing.


This software for CD remastering is include a lot of DEB-packages (elphel-specific and dependenced), files and scripts. All software is compressed to the .tar.bz2 archive (package size is approx. 26 Mb).

There are two scripts for remastering.

First script ( is general and started by user. Source code:

# Make a clone from existed knoppix live-cd

echo "Welcome to KNOPPIX-to-ELPHIX remastering program"


query() {

    echo -n "$1 [$2] " >&2
    read answer
    if [ -z $answer ] ; then answer=$2 ; fi


# The work directories specifing

echo "Stage 1. Now you can specify the work directories and other parameters"

if [ part=0 ]
query "Please, specify the work partition. For example, hda1" hda1

version=`cat debs/version.txt`




echo "Mounting the work partition..."

mount $source0 $dest0

echo "Done"

echo "Making the work directories..."

mkdir -p $source/KNOPPIX
mkdir -p $dest/KNOPPIX

echo "Done"

echo "Stage 1 is finished without errors"

# The next step - copying files and directories

echo "Stage 2. Copying necessary files and directories, preparing the internet connection"

# Copying the KNOPPIX directory

echo "Copying the KNOPPIX directory. This can take a few minutes. Please, wait..."

cp -Rp /KNOPPIX/* $source/KNOPPIX
cd /cdrom; find . -size -10000k -type f -exec cp -p --parents '{}' $dest/ \;

echo "Done"

# Preparing the internet connection

echo "Preparing the internet connection"

mv $source/KNOPPIX/etc/dhcpc/resolv.conf $source/KNOPPIX/etc/dhcpc/resolv.conf.orig
cp /etc/dhcpc/resolv.conf $source/KNOPPIX/etc/dhcpc/resolv.conf

echo "Done"

echo "Stage 2 is finished without errors"

# Removing packages

echo "Stage 3. Removing old packages and files. This can take a few minutes. Please, wait..."

mkdir -p $source/KNOPPIX/debs
cp -Rp $home/debs/* $source/KNOPPIX/debs
mkdir -p $source/KNOPPIX/patches
cp -Rp $home/patches/* $source/KNOPPIX/patches
cp $home/ $source/KNOPPIX/
rm -f $source/KNOPPIX/usr/share/apps/ksplash/Themes/Default/splash_bottom.png
rm -f $source/KNOPPIX/usr/share/apps/ksplash/Themes/Default/splash_top.png
rm -f $source/KNOPPIX/usr/local/lib/knoppix.jpg
cp -Rp $home/images/* $source/KNOPPIX

echo "Done"

echo "Stage 3 is finished without errors"

# Installing packages

echo "Stage 4. Installing the ELPHIX specific packages and patches. This can take a few minutes. Please, wait..."

chroot $source/KNOPPIX sh

rm -rf $source/KNOPPIX/debs
rm -rf $source/KNOPPIX/patches
rm -rf $source/KNOPPIX/

echo "Done"

echo "Stage 4 is finished without errors"

# Fixing the known Knoppix bugs

echo "Stage 5. Fixing the known Knoppix bugs"

# Fixing the USB-2.0 bug

echo "Fixing the USB-2.0 bug in the linuxrc"

cp $dest/boot/isolinux/minirt.gz $home
gunzip minirt.gz
mkdir -p MRT
mount -o loop minirt MRT
cd MRT
patch < $home/patches/linuxrc.patch
cd $home
umount MRT
gzip minirt
cp minirt.gz $dest/boot/isolinux/minirt.gz

echo "Done"

echo "Stage 5 is finished without errors"

# Copying the sources and files

echo "Stage 6. Copying the sources and files, cleaning the filesystem"

cp -Rp $home/files/* $dest

echo "Done"

# Removing the temporary files and cleaning the filesystem

echo "Removing the temporary files and cleaning the filesystem"

rm $source/KNOPPIX/etc/dhcpc/resolv.conf
mv $source/KNOPPIX/etc/dhcpc/resolv.conf.orig $source/KNOPPIX/etc/dhcpc/resolv.conf
rm -rf $source/KNOPPIX/.rr_moved
rm -rf $source/KNOPPIX/etc/bacula
rm -rf $source/KNOPPIX/var/lib/bacula
rm -rf $source/KNOPPIX/etc/brltty
rm -rf $source/KNOPPIX/var/games
rm -rf $source/KNOPPIX/usr/share/emacs21
rm -rf $source/KNOPPIX/usr/share/games/frozen-bubble
rm -rf $source/KNOPPIX/usr/share/fonts/wine
rm -rf MRT
rm -rf minirt.gz

echo "Done"

echo "Stage 6 is finished without errors"

# Creating the ISO-file KNOPPIX

echo "Stage 7. Creating the ELPHIX compressed image. This can take a few minutes or hours. You can drink coffee, read the book, sleep etc. In any case, please, wait..."

mkisofs -R -U -V " filesystem" -publisher "Elphel,Inc." -hide-rr-moved -cache-inodes -no-bak -pad $source/KNOPPIX | nice -5 /usr/bin/create_compressed_fs -b - 65536 > $dest/KNOPPIX/KNOPPIX

echo "Done"

# Creating the ISO-image LiveCD Knoppix

echo "Creating the ISO-image LiveCD ELPHIX. This can take a few minutes. Please, wait..."

cd $dest

mkisofs -pad -l -r -J -v -V "ELPHIX-$version" -no-emul-boot -boot-load-size 4 -boot-info-table -b boot/isolinux/isolinux.bin -c boot/isolinux/ -hide-rr-moved -o $dest0/ELPHIX-$version.iso $dest

echo "Done"

echo "Stage 7 is finished without errors"

echo "Congratulations! The remastering is finished. ELPHIX-$version is ready for burning. You can find the ISO-image of ELPHIX-$version on the $dest0 partition. Good luck!"

The second script ( is started by the first script automatically and used for removing/installing DEB-packages. Source code:

# Sub-script for removing and installing packages

ping -c 5

dpkg -P `cat /debs/remove-debs`

rm -rf /etc/mozilla-firefox/profile/mimeTypes.rdf

dpkg -i --force-overwrite /debs/depend/*.deb

dpkg -i --force-overwrite /debs/*.deb

cd /etc/X11/Xsession.d
patch < /patches/45xsession.patch

cd /etc/init.d
patch < /patches/knoppix-autoconfig.patch

cd /etc/skel/.kde/share/config
patch < /patches/kdesktoprc.patch


System Requirements

You must have:

1. at least 1 GB of FREE RAM+Swap total (e.g. 256M ram, and 750M swap AVAILABLE)

2. 3 GB free on a Linux filesystem (ext2/3, xfs, etc.) formatted disk partition (you must unmount this partition before remastering)

3. Knoppix 4.0.2-2005-09-23 EN


1. Download the LiveCD-1.4.3-beta1.tar.bz2 archive from SourceForge

2. Boot from the Knoppix CD

3. Unpack archive to the /home/knoppix directory

4. Open a root shell:

Menu: Kmenu->Knoppix->Root Shell

5. Type the following two commands:

cd /home/knoppix/LiveCD-1.4.3


6. The remastering script will be started. You must specify the work partition (for example hda1). This partition will be used for remastering Knoppix.

NOTE: This partition MUST be unmounted!

7. Follow the appeared instructions

8. The ELPHIX-1.4.3.ISO image will be placed at the work partition

9. Use the special software (for example, K3B) for writing image to CD