#!/bin/sh #written by mistfire #Build TazPuppy either online or local curdir=`pwd` if [ ! -f $curdir/builder.cfg ]; then echo 'WEBSITE="http://mirror1.slitaz.org/iso/rolling" LIVECD="slitaz-rolling-core.iso"' > $curdir/builder.cfg fi . $curdir/builder.cfg LABEL1="" xmode="" xinteractive="" unmount_vfs(){ umount -l $curdir/slitaz-rootfs/dev 2>/dev/null umount -l $curdir/slitaz-rootfs/sys 2>/dev/null umount -l $curdir/slitaz-rootfs/proc 2>/dev/null umount /mnt/wktaz 2>/dev/null umount /mnt/wksfs 2>/dev/null } trap unmount_vfs EXIT trap unmount_vfs SIGKILL trap unmount_vfs SIGTERM clean_up(){ if [ -d $curdir/slitaz-rootfs ]; then if [ "$(mount | grep "$curdir/slitaz-rootfs/dev")" != "" ]; then umount -l $curdir/slitaz-rootfs/dev fi if [ "$(mount | grep "$curdir/slitaz-rootfs/sys")" != "" ]; then umount -l $curdir/slitaz-rootfs/sys fi if [ "$(mount | grep "$curdir/slitaz-rootfs/proc")" != "" ]; then umount -l $curdir/slitaz-rootfs/proc fi echo "Deleting slitaz-rootfs..." rm -rf $curdir/slitaz-rootfs fi if [ -d $curdir/tazpup-preiso ]; then echo "Deleting tazpup-preiso..." rm -rf $curdir/tazpup-preiso fi if [ -d $curdir/kernel-modules ]; then echo "Deleting kernel-modules..." rm -rf $curdir/kernel-modules fi if [ -d $curdir/slitaz-dload ]; then echo "Deleting slitaz-dload..." rm -rf $curdir/slitaz-dload fi if [ -d $curdir/tazpup-core-files/slitaz-packages-fs ]; then echo "Deleting slitaz-packages-fs..." rm -rf $curdir/tazpup-core-files/slitaz-packages-fs fi if [ -f $curdir/slitaz-rolling-core.iso ]; then echo "Deleting slitaz-rolling-core.iso..." rm -f $curdir/slitaz-rolling-core.iso fi rm -f $curdir/tazpup-core-files/installed-isolated.md5 rm -f $curdir/tazpup-core-files/installed-isolated.info rm -f $curdir/package-deps.txt rm -f $curdir/package-listed if [ -f $curdir/custom-tazpup.iso ]; then echo "Deleting custom-tazpup.iso..." rm -f $curdir/custom-tazpup.iso fi if [ -f $curdir/custom-tazpup.iso.md5 ]; then echo "Deleting custom-tazpup.iso.md5..." rm -f $curdir/custom-tazpup.iso.md5 fi if [ -d $curdir/slitaz-livecd-wkg ]; then rm -rf $curdir/slitaz-livecd-wkg fi } sandbox_pkg(){ cmd="$1" pkg="$2" bname="$(basename $pkg)" if [ ! -d $curdir/tazpup-core-files/slitaz-sandbox ]; then mkdir -p $curdir/tazpup-core-files/slitaz-sandbox 2> /dev/null fi cp -f $pkg $curdir/tazpup-core-files/slitaz-packages-fs/$bname mount -t aufs -o udba=reval,diropq=w,dirs=$curdir/tazpup-core-files/slitaz-packages-fs=rw:$curdir/slitaz-rootfs=ro unionfs $curdir/tazpup-core-files/slitaz-sandbox if [ "$cmd" == "install" ]; then xcmd="tazpkg install /$bname --forced" elif [ "$cmd" == "remove" ]; then xcmd="tazpkg remove $pkg" fi chroot $curdir/tazpup-core-files/slitaz-sandbox/ $xcmd umount -l $curdir/tazpup-core-files/slitaz-sandbox rm -f $curdir/tazpup-core-files/slitaz-packages-fs/$bname } install_pkg(){ pkg="$1" bname="$(basename $pkg)" cp -f $pkg $curdir/slitaz-rootfs/$bname echo "#!/bin/sh tazpkg install /$bname " > $curdir/slitaz-rootfs/start.sh chmod +x $curdir/slitaz-rootfs/start.sh chroot $curdir/slitaz-rootfs/ /start.sh rm -f $curdir/slitaz-rootfs/$bname rm -f $curdir/slitaz-rootfs/start.sh } install_pet_pkg(){ pkg="$1" bname="$(basename $pkg)" cp -f $pkg $curdir/slitaz-rootfs/$bname if [ $xforced -eq 1 ]; then line="tazpet /$bname --forced" else line="tazpet /$bname" fi echo "#!/bin/sh $line " > $curdir/slitaz-rootfs/start.sh chmod +x $curdir/slitaz-rootfs/start.sh chroot $curdir/slitaz-rootfs/ /start.sh rm -f $curdir/slitaz-rootfs/$bname rm -f $curdir/slitaz-rootfs/start.sh } make_pupcore(){ mkdir -p $curdir/slitaz-rootfs/usr/share/pupcore 2> /dev/null cp -f $curdir/tazpup-core-files/puppy/bin/ps $curdir/slitaz-rootfs/usr/share/pupcore/ps.bak cp -f $curdir/tazpup-core-files/puppy/sbin/init $curdir/slitaz-rootfs/usr/share/pupcore/init.bak cp -f $curdir/tazpup-core-files/puppy/sbin/losetup $curdir/slitaz-rootfs/usr/share/pupcore/losetup.bak cp -f $curdir/tazpup-core-files/slitaz/bin/gnome-alsamixer $curdir/slitaz-rootfs/usr/share/pupcore/gnome-alsamixer.bak cp -f $curdir/tazpup-core-files/slitaz/etc/inittab $curdir/slitaz-rootfs/usr/share/pupcore/inittab.bak cp -f $curdir/tazpup-core-files/slitaz/etc/init.d/daemon $curdir/slitaz-rootfs/usr/share/pupcore/daemon.bak cp -f $curdir/tazpup-core-files/slitaz/etc/init.d/bootopts.sh $curdir/slitaz-rootfs/usr/share/pupcore/bootopts.sh.bak } remove_some_slitaz(){ rm -rf $curdir/slitaz-rootfs/lib/modules/* for pkg2 in $(ls -1 $curdir/slitaz-rootfs/var/lib/tazpkg/installed/ | grep -E "^linux" | tr '\n' ' ') do chroot $curdir/slitaz-rootfs tazpkg remove $pkg2 done for pkg2 in $(ls -1 $curdir/slitaz-rootfs/var/lib/tazpkg/installed/ | grep -E "^firmware-" | tr '\n' ' ') do chroot $curdir/slitaz-rootfs tazpkg remove $pkg2 done if [ -f $curdir/remove-builtin.txt ]; then for pkg2 in $(cat $curdir/remove-builtin.txt) do chroot $curdir/slitaz-rootfs tazpkg remove $pkg2 done fi rm -f $curdir/slitaz-rootfs/etc/dialogrc } extractfs() { if [ ! -d $curdir/slitaz-rootfs ]; then mkdir $curdir/slitaz-rootfs fi (busybox unlzma -c $1 || cat $1 ) 2>/dev/null | (cd $curdir/slitaz-rootfs; busybox cpio -idmu > /dev/null) } select_local(){ IMG="$(Xdialog --stdout --title "$LABEL1 Select Slitaz image file" --fselect $HOME 0 0)" if [ $? -ne 0 ]; then echo "Operation cancelled" exit fi if [ "$IMG" == "" ]; then echo "No image file selected" exit fi } install_local_pkg(){ if [ ! -d $curdir/slitaz-packages ]; then echo "Core tazpup package is missing." exit else if [ $(find $curdir/slitaz-packages -type f -name "*.tazpkg" | wc -l) -eq 0 ]; then echo "Core tazpup package is missing." exit fi if [ $(find $curdir/special-packages -type f -name "*.tazpkg" | wc -l) -eq 0 ]; then echo "Special tazpup package is missing." exit fi for pkg in $(find $curdir/slitaz-packages -type f -name "*.tazpkg" | sort -r) do echo "Processing core package: $(basename $pkg)" install_pkg "$pkg" done for pkg in $(find $curdir/special-packages -type f -name "*.tazpkg" | sort -r) do echo "Processing special package: $(basename $pkg)" install_pkg "$pkg" done fi } install_online_pkg(){ if [ ! -f $curdir/package-cloud.txt ]; then echo "Package list is missing." exit else if [ $(find $curdir/special-packages -type f -name "*.tazpkg" | wc -l) -eq 0 ]; then echo "Special tazpup package is missing." exit fi for pkg in $(cat $curdir/package-cloud.txt | tr '\n' ' ') do echo "Processing core package: $(basename $pkg)" get_install_pkg "$pkg" done for pkg in $(find $curdir/special-packages -type f -name "*.tazpkg" | sort -r) do echo "Processing special package: $(basename $pkg)" install_pkg "$pkg" done fi } get_install_pkg(){ pkg="$1" echo "#!/bin/sh tazpkg get-install $pkg " > $curdir/slitaz-rootfs/start.sh chmod +x $curdir/slitaz-rootfs/start.sh chroot $curdir/slitaz-rootfs/ /start.sh rm -f $curdir/slitaz-rootfs/start.sh } download_iso(){ wget -4 -t 2 -T 20 --waitretry=20 --spider -S "$WEBSITE/$LIVECD" if [ $? -ne 0 ]; then echo "Failed to reach $WEBSITE" exit fi wget "$WEBSITE/$LIVECD" -O $curdir/$LIVECD if [ $? -ne 0 ]; then echo "Downloading Slitaz live cd failed" rm -f $curdir/$LIVECD exit fi IMG="$curdir/$LIVECD" } if [ "$(whoami)" != "root" ]; then echo "Requires root access to do it" exit fi if [ "$(which Xdialog)" == "" ]; then echo "Requires Xdialog. Install it first" exit fi if [ ! -w $curdir ]; then echo "The working path is not writable" exit fi if [ ! -e $curdir/tazpup-core-files ]; then echo "Core files are missing" exit fi Xdialog --title "TazPuppy Builder" --ok-label "LOCAL" --cancel-label "ONLINE" --yesno "Select mode for building TazPuppy\n\nLOCAL - Build TazPuppy offline using collection of files and packages\nONLINE - Build TazPuppy using slitaz repo. Internet connection required\n\nNOTE: Both modes requires Puppy ISO file" 0 0 retval3=$? if [ $retval3 -eq 255 ]; then echo "Operation cancelled" exit fi if [ $retval3 -eq 0 ]; then LABEL1="Local Build:" xmode="local" select_local elif [ $retval3 -eq 1 ]; then LABEL1="Online Build:" xmode="online" fi IMGPUP="$(Xdialog --stdout --title "$LABEL1 Select Puppy image file" --fselect $HOME 0 0)" if [ $? -ne 0 ]; then echo "Operation cancelled" exit fi if [ "$IMGPUP" == "" ]; then echo "No puppy image file selected" exit fi Xdialog --title "TazPuppy Builder" --ok-label "Yes" --cancel-label "No" --yesno "Allow the post install script packages to interact?" 0 0 retval3=$? if [ $retval3 -eq 255 ]; then xinteractive=0 exit fi if [ $retval3 -eq 0 ]; then xinteractive=1 else xinteractive=0 fi Xdialog --title "TazPuppy Builder" --ok-label "Yes" --cancel-label "No" --yesno "Force install custom pet package?" 0 0 retval3=$? if [ $retval3 -eq 0 ]; then xforced=1 else xforced=0 fi clean_up if [ "$xmode" == "online" ]; then if [ -f $curdir/$LIVECD ]; then echo "Deleting $LIVECD..." rm -rf $curdir/$LIVECD fi download_iso fi echo "Preparing working folders..." if [ ! -d $curdir/slitaz-livecd-wkg ]; then mkdir $curdir/slitaz-livecd-wkg fi if [ ! -d $curdir/tazpup-preiso ]; then mkdir $curdir/tazpup-preiso fi if [ ! -d /mnt/wktaz ]; then mkdir /mnt/wktaz fi if [ ! -d /mnt/wksfs ]; then mkdir /mnt/wksfs fi echo "Mounting $(basename $IMG)..." mount -o ro $IMG /mnt/wktaz if [ $? -ne 0 ]; then echo "Mounting slitaz image failed" exit fi if [ -f /mnt/wktaz/rootfs.gz ] || [ -f /mnt/wktaz/rootfs1.gz ]; then echo "Copying rootfs gz..." src1="/mnt/wktaz/rootfs*.gz" elif [ -f /mnt/wktaz/boot/rootfs.gz ] || [ -f /mnt/wktaz/boot/rootfs1.gz ]; then echo "Copying rootfs gz..." src1="/mnt/wktaz/boot/rootfs*.gz" else echo "Not a slitaz disc image" umount /mnt/wktaz exit fi cp -f $src1 $curdir/slitaz-livecd-wkg/ umount /mnt/wktaz cd $curdir/slitaz-livecd-wkg rcount=$(ls -1 ./rootfs*.gz | wc -l) if [ $rcount -eq 1 ]; then echo "Extracting rootfs gz..." extractfs $curdir/slitaz-livecd-wkg/rootfs.gz elif [ $rcount -gt 1 ]; then for rf1 in $(ls -1 ./rootfs*.gz | sort -r) do echo "Extracting $(basename $rf1)..." extractfs $rf1 done else echo "No rootfs found" exit fi #exit cd $curdir rm -rf $curdir/slitaz-livecd-wkg if [ ! -d $curdir/slitaz-rootfs ]; then echo "Extract rootfs failed" exit fi rm -f $curdir/slitaz-rootfs/init make_pupcore cp -f $curdir/tazpup-core-files/slitaz/usr/bin/tazpkg $curdir/slitaz-rootfs/usr/bin/tazpkg cp -f $curdir/tazpup-core-files/slitaz/usr/bin/tazpet $curdir/slitaz-rootfs/usr/bin/tazpet cp -f $curdir/tazpup-core-files/slitaz/usr/bin/tazpet-box $curdir/slitaz-rootfs/usr/bin/tazpet-box cp -f $curdir/tazpup-core-files/slitaz/usr/bin/active-networks $curdir/slitaz-rootfs/usr/bin/active-networks cp -f $curdir/tazpup-core-files/slitaz/usr/libexec/tazpkg/* $curdir/slitaz-rootfs/usr/libexec/tazpkg/ mkdir -p $curdir/slitaz-rootfs/etc/rc.d/ echo "PUPMODE='2'" > $curdir/slitaz-rootfs/etc/rc.d/PUPSTATE if [ "$xmode" == "local" ]; then touch $curdir/slitaz-rootfs/var/lib/tazpkg/locked-packages touch $curdir/slitaz-rootfs/tmp/tazpkg-local.lock touch $curdir/slitaz-rootfs/tmp/tazpkg-skipdep.lock touch $curdir/slitaz-rootfs/tmp/tazpkg-skipremovedep.lock touch $curdir/slitaz-rootfs/tmp/tazpkg-dontbreak.lock touch $curdir/slitaz-rootfs/tmp/tazpkg-skipupdate.lock touch $curdir/slitaz-rootfs/tmp/tazpkg-editreceipt.lock touch $curdir/slitaz-rootfs/tmp/tazpkg-autoconfirm.lock touch $curdir/slitaz-rootfs/tmp/tazpkg-skiprefresh.lock else touch $curdir/slitaz-rootfs/tmp/tazpkg-dontbreak.lock touch $curdir/slitaz-rootfs/tmp/tazpkg-skipremovedep.lock touch $curdir/slitaz-rootfs/tmp/tazpkg-skipupdate.lock touch $curdir/slitaz-rootfs/tmp/tazpkg-editreceipt.lock touch $curdir/slitaz-rootfs/tmp/tazpkg-autoconfirm.lock touch $curdir/slitaz-rootfs/tmp/tazpkg-skiprefresh.lock cp -f $curdir/tazpup-core-files/slitaz/var/lib/tazpkg/blocked-packages.list $curdir/slitaz-rootfs/var/lib/tazpkg/blocked-packages.list cp -f $curdir/tazpup-core-files/slitaz/var/lib/tazpkg/locked-packages $curdir/slitaz-rootfs/var/lib/tazpkg/locked-packages fi if [ $xinteractive -eq 1 ]; then echo "Removing block device files..." rm -rf $curdir/slitaz-rootfs/dev/* #mount bind -t devtmpfs none $curdir/slitaz-rootfs/dev mount -o rbind /dev $curdir/slitaz-rootfs/dev fi mount -o rbind /proc $curdir/slitaz-rootfs/proc mount -t sysfs none $curdir/slitaz-rootfs/sys remove_some_slitaz #exit rm -rf $curdir/slitaz-rootfs/var/www/tazpanel/menu.d/network/* for file1 in $(find $curdir/slitaz-rootfs/usr/share/icons/ -type f -name "application-x-executable.png") do if [ -L $file1 ]; then fname=$(readlink $file1) if [ "$fname" != "" ]; then if [ "$(basename $fname)" == "application-x-generic.png" ]; then rm -f $file1 fi fi fi done for file1 in $(find $curdir/slitaz-rootfs/usr/share/icons/ -type f -name "application-x-generic.png") do mv -f $file1 $(dirname $file1)/application-x-executable.png done echo "Processing Slitaz packages..." if [ "$xmode" == "local" ]; then install_local_pkg else install_online_pkg fi #exit if [ -d $curdir/custom-packages ]; then for pkg in $(find $curdir/custom-packages -type f -name "*.tazpkg") do echo "Processing custom package: $(basename $pkg)" install_pkg "$pkg" done fi if [ -d $curdir/pet-packages ]; then for pkg in $(find $curdir/pet-packages -type f -name "*.pet") do echo "Processing pet package: $(basename $pkg)" install_pet_pkg "$pkg" done fi #dont include to main sfs rm -rf $curdir/slitaz-rootfs/var/cache/tazpkg/* 2>/dev/null rm -rf $curdir/slitaz-rootfs/var/log/slitaz/* 2>/dev/null rm -rf $curdir/slitaz-rootfs/var/log/*.log 2>/dev/null rm -rf $curdir/slitaz-rootfs/var/tmp/* 2>/dev/null rm -rf $curdir/slitaz-rootfs/tmp/* 2>/dev/null rm -f $curdir/slitaz-rootfs/etc/rc.d/PUPSTATE for fullcmd in mount umount ps do if [ "$fullcmd" == "ps" ]; then cp -f $curdir/slitaz-rootfs/bin/ps $curdir/slitaz-rootfs/bin/ps-FULL elif [ -f $curdir/slitaz-rootfs/bin/$fullcmd ]; then ln -rs $curdir/slitaz-rootfs/bin/$fullcmd $curdir/slitaz-rootfs/bin/$fullcmd-FULL fi done ln -rs $curdir/slitaz-rootfs/usr/bin/notify-send $curdir/slitaz-rootfs/usr/bin/notify #exit cd $curdir if [ -f $curdir/slitaz-rootfs/usr/bin/coreutils ]; then echo '#!/bin/sh exec df $@' > $curdir/slitaz-rootfs/usr/bin/df-FULL chmod +x $curdir/slitaz-rootfs/usr/bin/df-FULL fi if [ -f $curdir/slitaz-rootfs/usr/bin/gzip ]; then rm -f $curdir/slitaz-rootfs/bin/gzip fi if [ -d $curdir/slitaz-rootfs/usr/lib/grub/i386-slitaz ]; then ln -sr $curdir/slitaz-rootfs/usr/lib/grub/i386-slitaz $curdir/slitaz-rootfs/usr/lib/grub/i386-pc ln -sr $curdir/slitaz-rootfs/usr/lib/grub/i386-slitaz $curdir/slitaz-rootfs/usr/lib/grub/i386-t2 fi if [ -d $curdir/slitaz-rootfs/usr/share/boot ]; then ln -sr $curdir/slitaz-rootfs/usr/share/boot $curdir/slitaz-rootfs/usr/share/syslinux for file1 in grldr.lzma grub.exe.lzma memdisk.lzma pxelinux.0.lzma do cp -f $curdir/slitaz-rootfs/usr/share/boot/$file1 $curdir/slitaz-rootfs/usr/share/boot/$file1.bak unlzma $curdir/slitaz-rootfs/usr/share/boot/$file1 mv -f $curdir/slitaz-rootfs/usr/share/boot/$file1.bak $curdir/slitaz-rootfs/usr/share/boot/$file1 done fi #exit echo "Applying patches..." cp --remove-destination -arf $curdir/tazpup-core-files/slitaz/* $curdir/slitaz-rootfs/ 2>/dev/null cp --remove-destination -arf $curdir/tazpup-core-files/puppy/* $curdir/slitaz-rootfs/ 2>/dev/null make_pupcore if [ -f $curdir/slitaz-rootfs/usr/sbin/hald ]; then mv -f $curdir/slitaz-rootfs/usr/sbin/hald $curdir/slitaz-rootfs/usr/bin/hald sed -i -e "s#\/usr\/sbin\/hald#\/usr\/bin\/hald#g" $curdir/slitaz-rootfs/var/lib/tazpkg/installed/hal/files.list sed -i -e "s#\/usr\/sbin\/hald#\/usr\/bin\/hald#g" $curdir/slitaz-rootfs/var/lib/tazpkg/installed/hal/md5sum sed -i -e "s#\/usr\/sbin\/hald#\/usr\/bin\/hald#g" $curdir/slitaz-rootfs/etc/init.d/hald fi if [ -f $curdir/slitaz-rootfs/usr/share/applications/defaults.list ]; then rm -f $curdir/slitaz-rootfs/usr/share/applications/defaults.list fi echo "Updating system database..." chroot "$curdir/slitaz-rootfs/" /usr/bin/update-desktop-database /usr/share/applications chroot "$curdir/slitaz-rootfs/" /usr/bin/update-mime-database /usr/share/mime chroot "$curdir/slitaz-rootfs/" /usr/bin/gtk-update-icon-cache /usr/share/icons/hicolor chroot "$curdir/slitaz-rootfs/" /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas chroot "$curdir/slitaz-rootfs/" /usr/bin/gdk-pixbuf-query-loaders --update-cache chroot "$curdir/slitaz-rootfs/" /usr/bin/gio-querymodules /usr/lib/gio/modules chroot "$curdir/slitaz-rootfs/" /usr/bin/fc-cache -f if [ -e $curdir/slitaz-rootfs/usr/sbin/iconvconfig ]; then chroot "$curdir/slitaz-rootfs/" /usr/sbin/iconvconfig fi umount -l $curdir/slitaz-rootfs/dev 2>/dev/null umount -l $curdir/slitaz-rootfs/sys umount -l $curdir/slitaz-rootfs/proc #exit echo "Mounting $(basename $IMGPUP)..." mount -o ro $IMGPUP /mnt/wktaz if [ $? -ne 0 ]; then echo "Mounting puppy image failed" exit fi rootfslist="$(find /mnt/wktaz -type f -name "*.sfs")" if [ "$rootfslist" == "" ]; then echo "Not a puppy disc image" umount /mnt/wktaz exit fi echo "Copying puppy kernel...." cp -f /mnt/wktaz/vmlinuz $curdir/tazpup-preiso/ echo "Searching for kernel modules..." mkdir -p $curdir/kernel-modules/lib for file1 in $(find /mnt/wktaz -type f -name "*.sfs") do mount -t squashfs $file1 /mnt/wksfs if [ $? -eq 0 ]; then if [ -d /mnt/wksfs/lib/modules ]; then echo "Copying kernel modules from $(basename $file1) to rootfs..." cp -rf /mnt/wksfs/lib/modules $curdir/kernel-modules/lib/ mkdir -p $curdir/kernel-modules/var/lib/tazpkg/installed/linux touch $curdir/kernel-modules/var/lib/tazpkg/installed/linux/files.list echo 'PACKAGE="linux" VERSION="" CATEGORY="misc" SHORT_DESC="Linux kernel (compiled for puppy linux)" WEB_SITE="http://puppylinux.org/" MAINTAINER="nobody@slitaz.org" DEPENDS="linux-modules" ' > $curdir/kernel-modules/var/lib/tazpkg/installed/linux/receipt mkdir -p $curdir/kernel-modules/var/lib/tazpkg/installed/linux-modules echo 'PACKAGE="linux-modules" VERSION="" CATEGORY="misc" SHORT_DESC="Linux kernel modules(compiled for puppy linux)" WEB_SITE="http://puppylinux.org/" MAINTAINER="nobody@slitaz.org" DEPENDS="" ' > $curdir/kernel-modules/var/lib/tazpkg/installed/linux-modules/receipt xcurdir="$(echo "$curdir" | sed "s#\/#\\\/#g")" find $curdir/kernel-modules/lib/ -type f -name "*" | sed -e "s#$xcurdir\/kernel-modules\/lib\/#\/lib\/#g" > $curdir/kernel-modules/var/lib/tazpkg/installed/linux-modules/files.list fi if [ -d /mnt/wksfs/etc/modules ]; then cp -rf /mnt/wksfs/etc/modules $curdir/kernel-modules/etc/ fi umount /mnt/wksfs fi done umount /mnt/wktaz if [ ! -f $curdir/tazpup-core-files/puppy/etc/DISTRO_SPECS ]; then echo "DISTRO_SPECS file is missing" exit fi . $curdir/tazpup-core-files/puppy/etc/DISTRO_SPECS #exit echo "Creating tazpup zdrv sfs..." mksquashfs "$curdir/kernel-modules" "$curdir/tazpup-preiso/$DISTRO_ZDRVSFS" -comp xz -Xbcj x86 -b 1M -Xdict-size 100% echo "Creating tazpup sfs..." mksquashfs "$curdir/slitaz-rootfs" "$curdir/tazpup-preiso/$DISTRO_PUPPYSFS" -comp xz -Xbcj x86 -b 1M -Xdict-size 100% echo "Creating live cd..." #mv -f $curdir/$DISTRO_PUPPYSFS $curdir/tazpup-preiso/ cp -rf $curdir/tazpup-livecd-files/* $curdir/tazpup-preiso/ BOOTPARM="" [ -f $curdir/tazpup-preiso/grldr ] && BOOTPARM="-b grldr" [ -f $curdir/tazpup-preiso/isolinux.bin ] && BOOTPARM="-b isolinux.bin -c boot.cat" if [ -f $curdir/tazpup-preiso/boot.catalog ]; then BOOTPARM="-b isolinux.bin -c boot.catalog" else BOOTPARM="-b isolinux.bin -c boot.cat" fi if [ -f $curdir/tazpup-preiso/efiboot.img ]; then efi1="true" efiimg1="efiboot.img" elif [ -f $curdir/tazpup-preiso/efi.img ]; then efi1="true" efiimg1="efi.img" else efi1="false" fi VOLI="tazpup-preiso" cd $curdir if [ -f $curdir/custom-tazpup.iso ]; then rm -f $curdir/custom-tazpup.iso fi if [ -f $curdir/custom-tazpup.iso.md5 ]; then rm -f $curdir/custom-tazpup.iso.md5 fi if [ "$efi1" == "true" ]; then #rxvt -bg blue -fg white -title "$m_01 (with UEFI)" -e mkisofs -U -A $VOLI -J -joliet-long -r -v -T -o $curdir/custom-tazpup.iso $BOOTPARM -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e efi.img -no-emul-boot $curdir/tazpup-preiso echo "UEFI enabled" mkisofs -D -R -J -o $curdir/custom-tazpup.iso $BOOTPARM -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -eltorito-platform 0xEF -eltorito-boot $efiimg1 -no-emul-boot $curdir/tazpup-preiso/ isohybrid --uefi $curdir/custom-tazpup.iso else mkisofs -D -R -J -o $curdir/custom-tazpup.iso $BOOTPARM -no-emul-boot -boot-load-size 4 -boot-info-table $curdir/tazpup-preiso/ fi MD5=`md5sum $curdir/custom-tazpup.iso | cut -f 1 -d ' '` echo "$MD5" > $curdir/custom-tazpup.iso.md5 echo "MD5 Checksum: ${MD5}" echo "" echo "Process complete!"