-
Junior Member
registered user
All right I came across the original scripts that were used by Klaus Knopper to build the original Knoppix CD. These are from April 2003 so they are old but maybe someone can help me modify these so they suit Knoppix 3.4. Here are the scripts:
Code:
Attached.
WARNING: THESE SCRIPTS WILL DESTROY YOUR ENTIRE SYSTEM, MAKE YOUR
HARDDISK UNREADABLE, YOUR TV WILL EXPLODE, YOU WILL HAVE 7 YEARS OF BAD
LUCK, YOUR GIRLFRIEND WILL LEAVE YOU, AND THE WORLD AS WE KNOW IT
WILL COME TO A SUDDEN END. YOU HAVE BEEN WARNED. ;-)
Seriously, please don't run these scripts without reading them
carefully, understanding what they do and modifying them accordingly.
Regards
-Klaus Knopper
--PuGuTyElPB9bOcsM
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="Knoppix.checklibs"
#!/bin/bash
# Knoppix.checklibs (C) 2003 Klaus Knopper
# Checks for missing libraries in binary files
DIRS="/bin /sbin /usr/bin /usr/sbin /usr/X11R6/bin /usr/games /usr/local/bin /usr/local/sbin /lib /usr/lib"
for d in $DIRS; do
ldd $d/* 2>&1 | while read line; do
case "$line" in
*:) CURRENT="${line%\:*}";;
*not\ found*) echo "ERROR: $CURRENT: $line";;
esac
done
done
--PuGuTyElPB9bOcsM
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="Knoppix.clean"
#!/bin/bash
# Restore initial system state, clean all temporary files
umask 022
# echo "Updating package lists..."
# pump; sleep 2
# perl -pi -e 's/^deb/#deb/g' /etc/apt/sources.list
# apt-get update >/dev/null 2>&1
# perl -pi -e 's/^#deb/deb/g' /etc/apt/sources.list
/etc/init.d/autofs stop
[ -x /etc/init.d/knoppix-terminalserver ] && /etc/init.d/knoppix-terminalserver deconfigure
# remove only "temporary" or saved files in the given directories
nuke(){
for i in `find "$@" -name \*.gz -o -name \*.bz2 -o -name \*.0 -o -name \*.0.log -o -name browse.dat -o -name \*.\*pk 2>/dev/null`; do
rm -f "$i"
done
}
# set all files in the given directories to a length of zero
zero(){
for i in `find "$@" -type f -size +0 -not -name \*.ini 2>/dev/null`; do
:> "$i"
done
}
rmdir /mnt/cdrom?* /mnt/hd?* /mnt/sd?* 2>/dev/null
rm -f /etc/ifstate /etc/X11/XF86Config /etc/X11/XF86Config-4 \
/etc/XF86Config /etc/XF86Config-4 /etc/sysconfig/* \
/etc/ssh/*key* \
/etc/samba/*.SID /var/lib/samba/* /var/cache/samba/* /etc/samba/*.tdb \
/dev/mouse* /dev/cdrom* /dev/cdwriter* \
/var/run/*/* /var/run/* /var/log/ksymoops/* /var/lock/*/* /var/lock/* \
/var/state/*/* /var/state/* /var/log/nessus/* /var/lib/nessus/* \
/halt /reboot /ash.static /etc/dhcpc/*.info /etc/dhcpc/resolv* \
/etc/resolv.conf /etc/*passwd- /etc/*shadow- /etc/*group- 2>/dev/null
mkdir -p /etc/sysconfig/network-scripts /etc/sysconfig/provider
cat >/etc/dhcpc/resolv.conf <<EOT
# insert nameservers here
# nameserver 127.0.0.1
EOT
chmod 644 /etc/dhcpc/resolv.conf
ln -s /etc/dhcpc/resolv.conf /etc/
rm -rf /tmp/* /var/tmp/* /var/backups/* /root/.??* /.??* /home/root/.??* \
/home/*/.ssh /home/*/.bash_history \
/home/knoppix/* /home/knoppix/.??* /var/lib/texmf/ls-R \
/var/spool/texmf/ls-R /var/run/screen/* /var/spool/squid/* \
/usr/share/applnk/System/Nessus.desktop
nuke /var/log /var/cache /var/spool/texmf
zero /var/local /var/log /var/spool /var/mail \
/var/lib/games /var/cache/man /var/lib/wine \
/var/lib/nfs /var/lib/xkb
for i in `find /usr/*/man -name \*.\[0-9ln\]` ; do
[ -f "$i".gz -o -f "$i".bz2 ] && rm -f "$i"
done
# delete old dowloaded packages
apt-get clean
# Strip X11 Libs
strip --strip-unneeded `find /usr/X11R6/lib/modules -name \*.so -o -name \*.o`
# Recreate empty utmp and wtmp
:>/var/run/utmp
:>/var/run/wtmp
# regenerate module dependencies and ls.so.cache
echo -n "Updating ld.so.cache..."
ldconfig
echo " Done."
echo -n "Updating modules.dep..."
depmod -a 2>/dev/null
echo " Done."
echo -n "Updating texhash..."
mktexlsr
echo " Done."
echo -n "Updating mandb..."
mandb -c
man doesnotexist >/dev/null 2>&1
echo " Done."
echo -n "Updating menus..."
/usr/sbin/mkmenusfromkde
echo " Done."
echo -n "Updating locate-database..."
updatedb --prunepaths="/KNOPPIX.build /mnt/hd /mnt/cdrom /tmp /usr/tmp /var/tmp"
update-dlocatedb
echo " Done."
echo -n "Fixing permissions in /dev/..."
chown root.root /dev/ttyp*
chmod 666 /dev/ttyp* /dev/sg* /dev/audio* /dev/dsp* /dev/mixer* /dev/sequencer*
echo " Done".
echo -n "Fixing permissions in /etc/ppp/..."
chown root.dip /etc/ppp/*secrets /etc/ppp/ppp_* /etc/ppp/peers/*provider /etc/ppp/peers /etc/ppp /etc/chatscripts /etc/chatscripts/*
chmod g+rwX /etc/ppp/*secrets /etc/ppp/ppp_* /etc/ppp/peers/*provider /etc/ppp/peers /etc/ppp /etc/chatscripts /etc/chatscripts/*
echo " Done".
echo -n "Removing unused architecture Kernel sources: "
for i in `ls -1 /usr/src/linux/arch/ | grep -v i386`; do
echo -n "$i "; rm -rf /usr/src/linux/arch/"$i" /usr/src/linux/include/asm-"$i"
done
echo " Done."
# Remove obsolete bluetooth module
rm -f /lib/modules/*/kernel/drivers/usb/bluetooth.o
echo -n "Creating auto.mnt..."
cat >/etc/auto.mnt <<EOT
# Knoppix automounter file for Directory /mnt/auto
# umask=000 only works for msdos/vfat floppies, but otherwise the floppy is read-only.
floppy -fstype=auto,user,exec,umask=000 :/dev/fd0
cdrom -fstype=auto,user,exec,ro :/dev/cdrom
# The following entries (if any) are auto-generated by knoppix-autoconfig
EOT
echo " Done".
# echo "Setting OpenOffice Link to default EN"
# rm -f /etc/alternatives/soffice.resource ; ln -sf /opt/openoffice/program/resource-en /etc/alternatives/soffice.resource
# rm -f /etc/alternatives/soffice.help ; ln -sf /opt/openoffice/help/help-en /etc/alternatives/soffice.help
echo -n "Zeoring available Package lists ..."
for i in $(find /var/lib/apt/lists -type f \( -name \*Packages -o -name \*Sources \) 2>/dev/null); do :>"$i"; done
dpkg --clear-avail
rm -f /var/cache/apt/*.bin
apt-cache gencaches
echo "Done."
--PuGuTyElPB9bOcsM
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="Knoppix.findorphans"
#!/bin/sh
find /usr /bin /lib /etc | xargs -n 20 dpkg -S | egrep -e '(not found|nicht gefunden)'
--PuGuTyElPB9bOcsM
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="Knoppix.mkcompressed"
#!/bin/bash
DEST="$1"
[ -z "$DEST" -o ! -d "$DEST" ] && { echo "Usage: $0 DESTINATIONDIR" >&2 ; exit 1; }
[ ! -x /usr/bin/create_compressed_fs ] && { echo "Need /usr/bin/create_compressed_fs." ; exit 1; }
# Compression blocksize (must be multiple of 512)
# All block headers must fit into a kmalloc segment (ca. 130000 bytes)
BLOCKSIZE=65536
# BLOCKSIZE=53248
# BLOCKSIZE=102400
echo -n "Update Bootfloppy file(s)? "
read answer
if [ "$answer" = "y" ]; then
cp -uv /KNOPPIX.build/Knoppix.System/bootdisk/Knoppix/boot-*.img "$DEST"/KNOPPIX/
( cd "$DEST"/KNOPPIX && ln -f -v boot-de.img boot.img ) || exit 1
fi
[ ! -f "$DEST"/KNOPPIX/boot.img ] && { echo "Missing required file $DEST/KNOPPIX/boot.img" >&2 ; exit 1; }
echo -n "Recreate KNOPPIX compressed FS? "
read answer
if [ "$answer" = "y" ]
then
rm -f "$DEST"/KNOPPIX/KNOPPIX
# Remove files that need to be autogenerated from source dir!
echo -n "Sweep/Clean system before remastering? "
read answer
[ "$answer" = "y" ] && { . /KNOPPIX.build/Knoppix.postupgrade; . /KNOPPIX.build/Knoppix.clean; }
cat >/etc/network/interfaces <<EOT
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
# The loopback interface
# automatically added when upgrading
auto lo
iface lo inet loopback
EOT
cat >/etc/dhcpc/resolv.conf <<EOT
# Insert nameservers here
# nameserver 127.0.0.1
EOT
# Mount root read-only, so no files change while generating image
mount -o ro,remount / || { echo "Error: Cannot mount / read-only" >&2 ; exit 0; }
# Hide unwanted LOCALEs.
HIDELOCALE=""
HIDEMAN=""
MYLOCALE=$(awk -F'[="_]' '/^(LANG|LANGUAGE)=/{if(!/[$]/){x=x" "$3}}END{print x}' /etc/init.d/knoppix-autoconfig)
MYLOCALE="$MYLOCALE C en ja be da dk zh"
LOCALEDIR=/usr/share/locale
MANPAGEDIR=/usr/share/man
for LOCALE in `/bin/ls -1 $LOCALEDIR`; do
[ -d "$LOCALEDIR/$LOCALE/LC_MESSAGES" ] || continue
FOUND=""
for l in $MYLOCALE; do
case "$LOCALE" in $l*) FOUND="yes" ;; esac
done
if [ -z "$FOUND" ]; then
HIDELOCALE="$HIDELOCALE -m $LOCALEDIR/$LOCALE"
[ -d "$MANPAGEDIR/$LOCALE" ] && HIDELOCALE="$HIDELOCALE -m $MANPAGEDIR/$LOCALE"
fi
done
# -U implies: -d, -l, -L, -N, -relaxed-filenames, -allow-lowercase,
# -allow-multidot and -no-iso-translate
# -iso-level 3 -U -cache-inodes -no-bak -pad \
# -hide-rr-moved \
# -m /var/lib/dpkg/available\* \
SORT=""
[ -e /KNOPPIX.build/mkisofs.sort ] && SORT="-sort /KNOPPIX.build/mkisofs.sort"
# mkisofs -pad -R -l -v $SORT \
mkisofs -R -U -v $SORT \
-no-split-symlink-components -no-split-symlink-fields \
-V "KNOPPIX_FS" \
-P "KNOPPER.NET" \
-p "www.knopper.net" \
-hide-rr-moved -cache-inodes -no-bak -pad \
-m /proc/\* -m /tmp/\* -m /var/tmp/\* -m /home/\* -m /initrd/\* \
-m /KNOPPIX.build -m /mnt/\*/\* -m \*.dpkg-\* \
-m /mnt/hd/\* -m /mnt/hd\* -m /mnt/cdrom\* -m /etc/fstab\* \
-m /etc/exports -m /etc/dhcpc/dhcpcd\* \
-m /var/spool/mail/\* -m /var/spool/mqueue/\* \
-m /etc/driveprm -m .ssh -m .bash_history \
-m /etc/printcap\* -m /var/spool/cups/tmp/\* \
-m /etc/cups/certs/\* -m /etc/cups/\*.O -m /etc/cups/ppd/\* \
-m /etc/gpm.conf -m /etc/isapnp.\* -m /etc/minirc.dfl \
-m /var/cache/debconf/\*-old -m /var/lib/\*/\*- \
-m /var/lib/\*/\*old -m /var/log/XFree86.\* \
-m /var/samba/\*.pid -m /var/lib/samba/\* -m /var/cache/samba/\* \
-m /var/mail/\* -m /var/apt/cache/archives/lock \
-m /var/log/ksymoops\* -m /var/spool/exim/db/\* -m /etc/\*.old \
-m /etc/\*.save -m /etc/ssl/certs/\* -m \*.preserved \
-m .viminfo -m .\*.swp -m lost+found \
-m /.\?\?\* -m /root/.\?\?\* -m /etc/.\?\?\* \
-m /boot/map -m /boot/boot.0\* \
-m /usr/src/kernel\*.deb -m /usr/src/kernel\*.dsc -m /usr/src/kernel\*.changes -m /usr/src/kernel\*.tar.gz \
-m /usr/src/modules/pcmcia\* \
-m /usr/src/linux\*/arch \
-m /usr/src/linux\*/drivers \
-m /usr/src/linux\*/fs \
-m /usr/src/linux\*/init \
-m /usr/src/linux\*/mm \
-m /usr/src/linux\*/net \
-m /usr/src/linux\*/vmlinu\* \
-m /usr/src/linux\*/System.map \
-m /usr/src/linux\*/ipc \
-m /usr/src/linux\*/stamp-\* \
-m /usr/src/linux\*/C\* \
-m /usr/src/linux\*/M\* \
-m /usr/src/linux\*/R\* \
-m /usr/src/linux\*/debian \
-m /usr/src/linux\*/kernel \
-m /usr/src/linux\*/kdb \
-m /usr/src/linux\*/lib \
-m /usr/src/linux\*/scripts \
-m /usr/src/linux\*/conf.vars \
-m /usr/src/linux\*/.*depend \
-m /usr/src/linux\*/.*old \
$HIDELOCALE / \
| /usr/bin/create_compressed_fs - $BLOCKSIZE >"$DEST"/KNOPPIX/KNOPPIX || exit 1
# -o "$DEST"-tmp.iso / && \
# /usr/bin/compressloop -v -v -c 9 -b $BLOCKSIZE "$DEST"-tmp.iso "$DEST"/KNOPPIX/KNOPPIX && rm -f "$DEST"-tmp.iso || exit 1
mount -o rw,remount /
chmod 444 "$DEST"/KNOPPIX/KNOPPIX
# swapoff /dev/hdc2 2>/dev/null
fi
mkfinal(){
TARGET="$1.iso"
# Alternate boot record
# -eltorito-alt-boot \
# -b KNOPPIX/boot-en.img -c KNOPPIX/boot.cat \
mkisofs -pad -l -r -J -v \
-sort /tmp/knoppix.sort \
-V 'KNOPPIX' -A 'KNOPPIX LIVE LINUX CD' \
-P "KNOPPER.NET" \
-p "www.knopper.net" \
-b KNOPPIX/boot.img -c KNOPPIX/boot.cat \
-m "$DEST"/KNOPPIX/boot-\*.img \
-hide-rr-moved \
-o "$TARGET" "$DEST"
}
echo -n "Recreate KNOPPIX-DE isofile '$DEST.iso'? "
read answer
if [ "$answer" = "y" ]; then
# Make sure that the boot floppy file AND the boot catalog are at the beginning of the image.
# Some controllers seem to depend on this.
rm -f /tmp/knoppix.sort
echo "$DEST/KNOPPIX/boot.cat 100003" >/tmp/knoppix.sort
echo "$DEST/KNOPPIX/boot.img 100002" >>/tmp/knoppix.sort
echo "$DEST/KNOPPIX/KNOPPIX 100001" >>/tmp/knoppix.sort
echo "$DEST/Demos/Audio/*.mp3 -100000" >>/tmp/knoppix.sort
echo "$DEST/Demos/Audio/*.ogg -100000" >>/tmp/knoppix.sort
# Make final CD Image
mkfinal "$DEST"
echo -n "Recreate KNOPPIX-EN isofile '$DEST-EN.iso'? "
read answer
if [ "$answer" = "y" ]; then
( cd "$DEST"/KNOPPIX && ln -f -v boot-en.img boot.img ) || exit 1
mkfinal "$DEST-EN"
( cd "$DEST"/KNOPPIX && ln -f -v boot-de.img boot.img ) || exit 1
fi
rm -f /tmp/knoppix.sort
fi
echo -n "BURN german CD version? "
read answer
if [ "$answer" = "y" ]; then
cdrecord -v -dao -pad -eject driveropts=burnfree dev=0,1,0 speed=12 fs=24M "$DEST.iso"
fi
# Clean up
find /var/lib/apt/lists/ -type f -exec rm -f {} \;
--PuGuTyElPB9bOcsM
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="Knoppix.mksortlist"
#!/bin/sh
find / -anewer /KNOPPIX.build/mkisofs.timestamp -not \( -type d -o -path /KNOPPIX.build\* -o -path /tmp\* -o -path /proc/\* -o -path /mnt/\* \) -printf '%p %A@\n' | sort -rn +1 -t' ' | awk -F' ' '{print $1 " " ++i}' > /KNOPPIX.build/mkisofs.sort
echo "/bin/mkdir 10090" >> /KNOPPIX.build/mkisofs.sort
echo "/bin/chown 10080" >> /KNOPPIX.build/mkisofs.sort
echo "/bin/cp 10070" >> /KNOPPIX.build/mkisofs.sort
echo "/bin/ln 10060" >> /KNOPPIX.build/mkisofs.sort
echo "/bin/rm 10050" >> /KNOPPIX.build/mkisofs.sort
echo "/dev/* 20000" >> /KNOPPIX.build/mkisofs.sort
echo "/etc/* 30000" >> /KNOPPIX.build/mkisofs.sort
--PuGuTyElPB9bOcsM
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="Knoppix.postupgrade"
#!/bin/sh
# Remove unwanted init scripts and KDE-autostart files
STOP=""
for i in `ls -d1 /etc/rc?.d/* | egrep -v -e '(README|knoppix|xsession)'`; do
BASE=`basename $i`
BASE=${BASE##[KS]??}
case "$STOP" in *${BASE}*) ;; *) STOP="$STOP $BASE"; ;; esac
rm -vf $i
done
for i in $STOP; do
/etc/init.d/$i stop
done
for i in `ls -d1 /usr/share/autostart/* | egrep -v -e '(panel|kdesktop|khotkeys)\.desktop'`; do
rm -vf $i
done
chmod u+s /usr/bin/cdrecord /usr/bin/cdrdao
# /usr/bin/cdparanoia
# Some GTK programs HAVE to run as root. :-/
for i in `egrep -q -l -r -e '(xcdroast|ethereal)' /usr/share/applnk/.`; do
perl -pi -e 's|Exec=/|Exec=sudo /|g' "$i"
done
# Replace kdesu (needs password) by sudo (doesn't)
for i in `grep -q -l -r 'Exec=.*kdesu' /usr/share/applnk/.`; do
perl -pi -e 's|Exec=.*kdesu |Exec=sudo -H |g' "$i"
done
# Remove -ncp in xboard startup file
for i in `grep -q -l -r 'Exec=.*xboard.*-ncp' /usr/share/applnk/.`; do
perl -pi -e 's| -ncp||g' "$i"
done
# Almost everything is wrong in this menu file
rm -f /usr/lib/menu/evolution1.3
# Change Debians OpenOffice settings to default font Helmet
#for i in `find /usr/lib/openoffice -name Writer.xml`; do
# for j in Standard Heading List Caption Index; do
# perl -pi -e 's|<'"$j"' cfg:type="string" xsi:null="true"/>|<'"$j"' cfg:type="string">Helmet</'"$j"'>|g' $i
# done
#done
for i in "alias net-pf-17 af_packet" "alias ide_cs ide-cs" "alias usbcore off" "alias autofs autofs4"; do
grep -q "$i" /etc/modutils/aliases || { echo "$i" >> /etc/modutils/aliases; update-modules; }
done
# Make acrobat the default PDF viewer, if present.
for i in `find /usr/share/applnk -iname Acrobat_Reader.desktop`; do
egrep 'MimeType=application/pdf' "$i" >/dev/null ||
echo "InitialPreference=4
MimeType=application/pdf;Application" >> "$i"
done
# Change desktop icon for Mozilla
for i in /usr/share/applnk/*/*/Mozilla_Browser.desktop; do
perl -pi -e 's|Icon=.*$|Icon=mozilla|g' "$i"
done
#for i in "vendor 0x055d product 0x9001 module pwc"; do
#grep -q "$i" /etc/usbmgr/usbmgr.conf || echo "$i" >> /etc/usbmgr/usbmgr.conf
#done
# Euro font stuff
perl -pi -e 's/iso8859-1( |$)/iso8859-15$1/g' /etc/X11/fonts/misc/xfonts-base.alias && update-fonts-alias /usr/lib/X11/fonts/misc
--PuGuTyElPB9bOcsM--
Similar Threads
-
By ortzinator in forum Networking
Replies: 0
Last Post: 05-22-2005, 10:25 PM
-
By folio in forum General Support
Replies: 0
Last Post: 02-27-2004, 08:56 PM
-
By migasf in forum General Support
Replies: 1
Last Post: 11-26-2003, 07:18 PM
-
By eadz in forum The Lounge
Replies: 9
Last Post: 09-30-2003, 01:32 PM
-
By aay in forum The Lounge
Replies: 4
Last Post: 02-13-2003, 08:01 PM
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules

NEW Kingston 8GB DDR4 2666MHz Desktop RAM KCP426NS8/8 PC4-21300
$30.00

Lot of 2 SK Hynix HMAA2GS6AJR8N-XN 16GB DDR4 PC4-3200AA 1Rx8 Laptop SODIMM RAM
$354.99

16GB (2x8GB) Kingston HyperX blu KHX1600C10D3B1/8G PC3-12800U DDR3 1600
$27.99

DDR4 Laptop RAM 4GB 8GB 16GB 32GB 2400 2666 3200 Samsung Hynix
$66.00

Samsung W03J0009150379F87A 64GB (2x32GB) RAM DDR4 2400MHz CRC0Y
$179.99

A-Tech 8GB DDR3 1600 PC3-12800 Laptop SODIMM 204-Pin Memory RAM PC3L DDR3L 1x 8G
$21.68

Crucial DDR3L 16GB 2 x 8GB 1600 MHz PC3L-12800 Laptop RAM Sodimm Memory 1.35V
$41.00

Samsung 64GB (4x16GB) DDR4 PC4-2666V M393A2K40CB2-CTD6Y
$300.00

16GB (2x8GB) Samsung DDR4-2133MHz PC4-2133P Desktop RAM 2Rx8 UDIMM
$54.99

Lot of 2 Kingston Fury 8GB (4x4GB) HX316C10FK2/8 DDR3-1600MHz Ram
$50.35