Since everyone seems to have a different way to remaster, here's my 2 euro cents. The three scripts below are taken from the ParallelKnoppėx CD. They use Xdialogs. The first copies the CD contents to HD. The second gets a CHROOT environment going, and the third creates the ISO image. I have used cute little devils to mark the beginning and end of each.
#!/bin/bash
# 1-CopySourceForRemaster copy the CD to HD for remastering
PATH="/bin:/sbin:/usr/bin:/usr/sbin"
export PATH
XDIALOG_HIGH_DIALOG_COMPAT=1
export XDIALOG_HIGH_DIALOG_COMPAT
# Get root
[ "`id -u`" != "0" ] && exec sudo "$0" "$@"
TMP="/tmp/saveconfig.tmp$$"
bailout(){
rm -f "$TMP" "$TMP.done" "$TMP.err"
echo ""
echo "Done"
exit 0
}
DIALOG="dialog"
[ -n "$DISPLAY" ] && [ -x /usr/bin/Xdialog ] && DIALOG="Xdialog"
trap bailout 1 2 3 15
# LANGUAGE etc.
[ -f /etc/sysconfig/knoppix ] && . /etc/sysconfig/knoppix
[ -z "$LANG" ] && export LANG
[ -z "$LANGUAGE" ] && export LANGUAGE
[ -z "$CHARSET" ] && export CHARSET
DESKTOPKB="$(du -sk $HOME/Desktop 2>/dev/null | awk '{print $1}')"
TITLE1="ParallelKnoppix: Copy source to HD for remastering"
MESSAGE1="Select a hard disk partition on which the source should be copied.
A directory called parallel_knoppix_remaster will be created at the root level
of that partition. Which partition would you like to use? (about 2GB free space is needed)"
ERROR="That didn't work!"
# Directory selector
PARTITIONS=""
for i in `awk '/^\/dev\/[hs]d[a-z].*\/mnt\/[hs]d[a-z]/{if(!/ntfs/){print $2}}' /etc/fstab`; do
PARTITIONS="$PARTITIONS ${i} [Disk/Partition] off"
done
rm -f "$TMP"
Xdialog --clear --title "$TITLE1" --radiolist "$MESSAGE1" 18 75 9 $PARTITIONS 2>"$TMP" || bailout
ParKnoppixPART="$(<$TMP)"
[ -z "$ParKnoppixPART" -o ! -e "$ParKnoppixPART" ] && bailout
# mount the partition requested
rm -f "$TMP.err"
mount | grep -q "$ParKnoppixPART" || mount -r "$ParKnoppixPART" >"$TMP.err"
[ "$?" != "0" ] && { $DIALOG --title "$TITLE1" --msgbox "$ERROR `cat $TMP.err`" 10 75; bailout; }
mount | grep -q "$ParKnoppixPART.*ntfs" && { $DIALOG --title "$TITLE1" --msgbox "$ERROR NTFS" 10 75; bailout; }
mount -o remount,rw "$ParKnoppixPART"
# create the ParKnoppixPART, etc
mkdir $ParKnoppixPART/parallel_knoppix_remaster
export ParKnoppixDIR=$ParKnoppixPART/parallel_knoppix_remaster
# get rid of old, if it exists
rm -R -f $ParKnoppixDIR
# copy the new
mkdir $ParKnoppixDIR
mkdir $ParKnoppixDIR/source
mkdir $ParKnoppixDIR/source/KNOPPIX
mkdir $ParKnoppixDIR/master
mkdir $ParKnoppixDIR/master/KNOPPIX
mkdir $ParKnoppixDIR/master/boot
mkdir $ParKnoppixDIR/master/boot/isolinux
cp /cdrom/boot/isolinux/* $ParKnoppixDIR/master/boot/isolinux
cp -Rp /KNOPPIX/* $ParKnoppixDIR/source/KNOPPIX
cp /cdrom/index.html $ParKnoppixDIR/master/
# cp /cdrom/parallelknoppix.png $ParKnoppixDIR/master/
cd /cdrom/KNOPPIX/
find . -size -100000 -type f -exec cp -p --parents {} $ParKnoppixDIR/master/KNOPPIX/ \;
cp -a $ParKnoppixDIR/source/KNOPPIX/boot $ParKnoppixDIR/master
echo "Finish configuring desktop, then reboot normal distro"
echo "and proceed to chroot activities"
# final report
SUCCESS="OK, the ParallelKNoppix source is now on the HD, ready for remastering"
$DIALOG --title "$TITLE1" --msgbox "$SUCCESS" 12 65
bailout
#!/bin/bash
# 2-StartCHROOT: Start up a chroot environment in parallel_knoppix_remaster and do some stuff
PATH="/bin:/sbin:/usr/bin:/usr/sbin"
export PATH
XDIALOG_HIGH_DIALOG_COMPAT=1
export XDIALOG_HIGH_DIALOG_COMPAT
# Get root
[ "`id -u`" != "0" ] && exec sudo "$0" "$@"
TMP="/tmp/saveconfig.tmp$$"
bailout(){
rm -f "$TMP" "$TMP.done" "$TMP.err"
echo ""
echo "Done"
exit 0
}
DIALOG="dialog"
[ -n "$DISPLAY" ] && [ -x /usr/bin/Xdialog ] && DIALOG="Xdialog"
trap bailout 1 2 3 15
# LANGUAGE etc.
[ -f /etc/sysconfig/knoppix ] && . /etc/sysconfig/knoppix
[ -z "$LANG" ] && export LANG
[ -z "$LANGUAGE" ] && export LANGUAGE
[ -z "$CHARSET" ] && export CHARSET
DESKTOPKB="$(du -sk $HOME/Desktop 2>/dev/null | awk '{print $1}')"
TITLE1="ParallelKnoppix: Get into CHROOT environment"
MESSAGE1="This asks you where you copied the source, then gets you into a CHROOT
environment"
ERROR="That didn't work!"
# Directory selector
PARTITIONS=""
for i in `awk '/^\/dev\/[hs]d[a-z].*\/mnt\/[hs]d[a-z]/{if(!/ntfs/){print $2}}' /etc/fstab`; do
PARTITIONS="$PARTITIONS ${i} [Disk/Partition] off"
done
rm -f "$TMP"
$DIALOG --clear --title "$TITLE1" --radiolist "$MESSAGE1" 18 75 9 $PARTITIONS 2>"$TMP" || bailout
ParKnoppixPART="$(<$TMP)"
[ -z "$ParKnoppixPART" -o ! -e "$ParKnoppixPART" ] && bailout
# mount the partition requested
rm -f "$TMP.err"
mount | grep -q "$ParKnoppixPART" || mount -r "$ParKnoppixPART" >"$TMP.err"
[ "$?" != "0" ] && { $DIALOG --title "$TITLE1" --msgbox "$ERROR `cat $TMP.err`" 10 75; bailout; }
mount | grep -q "$ParKnoppixPART.*ntfs" && { $DIALOG --title "$TITLE1" --msgbox "$ERROR NTFS" 10 75; bailout; }
umount "$ParKnoppixPART"
mount -rw -nosuid -nodev "$ParKnoppixPART"
SUCCESS="The proper partition has been mounted with the needed options. Now an
xterm will open, chrooted to the KNOPPIX directory. You will need to follow the
directions in Remaster.html in there.
"
$DIALOG --title "$TITLE1" --msgbox "$SUCCESS" 12 70
/usr/X11R6/bin/xterm -e chroot $ParKnoppixPART/parallel_knoppix_remaster/source/KNOPPIX
umount "$ParKnoppixPART"
# final report
SUCCESS="Leaving chroot environment now. Bye."
$DIALOG --title "$TITLE1" --msgbox "$SUCCESS" 12 65
bailout
#!/bin/bash
# 3-MakeISO: make the ISO image of the remastered filesystem
PATH="/bin:/sbin:/usr/bin:/usr/sbin"
export PATH
XDIALOG_HIGH_DIALOG_COMPAT=1
export XDIALOG_HIGH_DIALOG_COMPAT
# Get root
[ "`id -u`" != "0" ] && exec sudo "$0" "$@"
TMP="/tmp/saveconfig.tmp$$"
bailout(){
rm -f "$TMP" "$TMP.done" "$TMP.err"
echo ""
echo "Done"
exit 0
}
DIALOG="dialog"
[ -n "$DISPLAY" ] && [ -x /usr/bin/Xdialog ] && DIALOG="Xdialog"
trap bailout 1 2 3 15
# LANGUAGE etc.
[ -f /etc/sysconfig/knoppix ] && . /etc/sysconfig/knoppix
[ -z "$LANG" ] && export LANG
[ -z "$LANGUAGE" ] && export LANGUAGE
[ -z "$CHARSET" ] && export CHARSET
DESKTOPKB="$(du -sk $HOME/Desktop 2>/dev/null | awk '{print $1}')"
TITLE1="ParallelKnoppix: make ISO image"
MESSAGE1="Select the hard disk partition on which your remastered filesystem
resides. An ISO image will be created in the parallel_knoppix_remaster
subdirectory"
ERROR="That didn't work!"
# Directory selector
PARTITIONS=""
for i in `awk '/^\/dev\/[hs]d[a-z].*\/mnt\/[hs]d[a-z]/{if(!/ntfs/){print $2}}' /etc/fstab`; do
PARTITIONS="$PARTITIONS ${i} [Disk/Partition] off"
done
rm -f "$TMP"
$DIALOG --clear --title "$TITLE1" --radiolist "$MESSAGE1" 18 75 9 $PARTITIONS 2>"$TMP" || bailout
ParKnoppixPART="$(<$TMP)"
[ -z "$ParKnoppixPART" -o ! -e "$ParKnoppixPART" ] && bailout
# mount the partition requested
rm -f "$TMP.err"
mount | grep -q "$ParKnoppixPART" || mount -r "$ParKnoppixPART" >"$TMP.err"
[ "$?" != "0" ] && { $DIALOG --title "$TITLE1" --msgbox "$ERROR `cat $TMP.err`" 10 75; bailout; }
mount | grep -q "$ParKnoppixPART.*ntfs" && { $DIALOG --title "$TITLE1" --msgbox "$ERROR NTFS" 10 75; bailout; }
mount -o remount,rw "$ParKnoppixPART"
export PARALLELKNOPPIXDIR=$ParKnoppixPART/parallel_knoppix_remaster
echo "OK, All seems well. Create image? Enter to continue"
echo "Press <ENTER> to continue: "
read nothing #Waiting for Enter
# make sure the tool to create compressed fs is available
cp -f $PARALLELKNOPPIXDIR/source/KNOPPIX/usr/bin/create_compressed_fs /usr/bin/
# get rid of the old, if it exists
rm -f $PARALLELKNOPPIXDIR/master/KNOPPIX/KNOPPIX
# create the new compressed file
mkisofs -R -U -V "ParallelKnoppix" -publisher "pareto.uab.es/mcreel/ParallelKnoppix" -hide-rr-moved -cache-inodes -no-bak -pad $PARALLELKNOPPIXDIR/source/KNOPPIX | nice -5 /usr/bin/create_compressed_fs - 65536 > $PARALLELKNOPPIXDIR/master/KNOPPIX/KNOPPIX
cd $PARALLELKNOPPIXDIR/master/
rm -f KNOPPIX/md5sums; find -type f -not -name md5sums -not -name boot.cat -exec md5sum {} \; >> KNOPPIX/md5sums
mkisofs -pad -l -r -J -v -V "ParallelKnoppix" -no-emul-boot -boot-load-size 4 -boot-info-table -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat -hide-rr-moved -o $PARALLELKNOPPIXDIR/parallelknoppix-`date +%F`.iso $PARALLELKNOPPIXDIR/master
echo "Place a blank CD in the burner"
echo "Press <ENTER> to continue: "
read nothing #Waiting for Enter
cdrecord dev=/dev/hdc -dao -driveropts=burnfree speed=8 $PARALLELKNOPPIXDIR/parallelknoppix-`date +%F`.iso
** Intel i3 10100F CPU Processor - USED **
$47.99
Intel - Core i9-14900K 14th Gen 24-Core 32-Thread - 4.4GHz (6.0GHz Turbo) Soc...
$548.99
Intel Core i7-12700KF - Alder Lake 12-Core (8P+4E) 3.6GHz LGA 1700 125W CPU
$183.99
AMD Ryzen 7 7700 Processor (5.3 GHz, 8 Cores, Socket AM5) Boxed -...
$195.00
Intel - Core i5-14600K 14th Gen 14-Core 20-Thread - 4.0GHz (5.3GHz Turbo) Soc...
$305.99
Intel Xeon E5-2680 v4 SR2N7 2.40GHz 35MB 14-Core LGA2011-3 CPU Processor
$14.99
AMD Ryzen 5 7600x Processor (5.3 GHz, 6 Cores, LGA 1718/Socket AM5) NEW OEM Tray
$169.98
Intel Xeon E5-2667 V4 SR2P5 (3.2GHZ/8-CORE/25MB/135W) PROCESSOR CPU
$29.95
Intel Core i9-12900KS CPU w/Integrated GFX - 5.5GHz Max - 16 Core - LGA-1700
$299.00
Intel Core i5-13600K - 13th Gen Raptor Lake 14-Core (6P+8E) 3.5GHz LGA CPU
$259.96