Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- #This file is from mistfire alpha 15 build kit: http://murga-linux.com/puppy/viewtopic.php?p=996351#996351
- curdir=`pwd`
- extractfs()
- {
- if [ ! -d $curdir/slitaz-rootfs ]; then
- mkdir $curdir/slitaz-rootfs
- fi
- (unlzma -c $1 || cat $1 ) 2>/dev/null | (cd $curdir/slitaz-rootfs; cpio -idm > /dev/null)
- }
- IMG="$(Xdialog --stdout --title "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
- IMGPUP="$(Xdialog --stdout --title "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
- if [ -d $curdir/slitaz-rootfs ]; then
- 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
- echo "Preparing working folders..."
- if [ ! -d $curdir/slitaz-livecd-wkg ]; then
- mkdir $curdir/slitaz-livecd-wkg
- fi
- 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 $IMG /mnt/wktaz
- if [ $? -ne 0 ]; then
- echo "Mounting slitaz image failed"
- exit
- fi
- if [ ! -f /mnt/wktaz/rootfs.gz ] && [ ! -f /mnt/wktaz/boot/rootfs.gz ]; then
- echo "Not a slitaz disc image"
- umount /mnt/wktaz
- exit
- fi
- echo "Copying rootfs gz..."
- if [ -f /mnt/wktaz/rootfs.gz ]; then
- src1="/mnt/wktaz/rootfs.gz"
- elif [ -f /mnt/wktaz/boot/rootfs.gz ]; then
- src1="/mnt/wktaz/boot/rootfs.gz"
- fi
- cp -f $src1 $curdir/slitaz-livecd-wkg/
- umount /mnt/wktaz
- cd $curdir/slitaz-livecd-wkg
- echo "Extracting rootfs gz..."
- extractfs $curdir/slitaz-livecd-wkg/rootfs.gz
- cd $curdir
- rm -rf $curdir/slitaz-livecd-wkg
- rm -f $curdir/slitaz-rootfs/init
- #echo "Removing block device files..."
- #rm -rf $curdir/slitaz-rootfs/dev/*
- echo "Removing slitaz modules..."
- rm -rf $curdir/slitaz-rootfs/lib/modules/*
- echo "Removing slitaz firmware..."
- rm -rf $curdir/slitaz-rootfs/lib/firmware/*
- 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 "Applying patches..."
- cp --remove-destination -arf $curdir/rootfs-skeleton-slitaz/* $curdir/slitaz-rootfs/
- echo "Mounting $(basename $IMGPUP)..."
- mount $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..."
- 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/slitaz-rootfs/lib/
- fi
- umount /mnt/wksfs
- fi
- done
- umount /mnt/wktaz
- echo "Creating tazpup sfs..."
- if [ ! -f $curdir/rootfs-skeleton-slitaz/etc/DISTRO_SPECS ]; then
- echo "DISTRO_SPECS file is missing"
- exit
- fi
- . $curdir/rootfs-skeleton-slitaz/etc/DISTRO_SPECS
- mksquashfs "slitaz-rootfs" "$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!"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement