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
![]()

HP ProLiant MicroServer Gen8 G1610T @2.3 GHz, 16GB, 712317-001 NO HDD/OS
$199.00
Supermicro 1U Network Server Appliance 16GB RAM 800GB SSD 6 LAN Ports Powers On
$450.00
Supermicro CSE-937 3U Storage Chassis No CPU No HDD No Ram Tested & Reset
$129.99
Supermicro E300-12C Mini 1U Barebone X12SCV-LVDS LGA1200 SNK-P0073A4 w/ Adapter
$225.00
Supermicro 2U X10DRU-i 2x E5-2680 v3 2.5ghz 32gb Ram 240gb SSD 2x GPU *READ*
$369.99
New Barebones Supermicro 5019D Server, 4C/8T Xeon D-2123T, 1U Rackmountable, 10G
$449.99
Supermicro 5019D-4C-FN8TP Xeon D-2123IT (4C/8T) 64GB DDR4 10GbE 480GB 1U Server
$689.00
Supermicro E200-8D Mini Server Xeon D-1528 6-Core 64GB ECC 1TB SSD 2x10GbE IPMI
$525.00
$280.00
Supermicro CSE-937 3U Storage Chassis No CPU No HDD No Ram Tested & Reset
$129.99