#!/bin/sh set -x cd data umount sys umount proc find . | cpio --quiet -o -H newc > ../testimage.img cd .. rm -f testimage.img.gz gzip -9 testimage.img echo "#!/bin/sh" > firmwarekit.sh echo "old_hostname=\`cat /proc/sys/kernel/hostname\`" >> firmwarekit.sh echo "DIR=\`mktemp -t -d\`" >> firmwarekit.sh echo "mount -t ramfs ramfs \$DIR" >> firmwarekit.sh echo "cd \$DIR" >> firmwarekit.sh echo "uudecode -o initrd.gz << 'EOFEOFEOF'" >> firmwarekit.sh uuencode testimage.img < testimage.img.gz >> firmwarekit.sh echo "EOFEOFEOF" >> firmwarekit.sh echo "echo Unpacking image" >> firmwarekit.sh echo "zcat initrd.gz | cpio -i -d" >> firmwarekit.sh echo "rm -f sbin/reboot" >> firmwarekit.sh echo "rm -f sbin/shutdown" >> firmwarekit.sh echo "touch sbin/shutdown" >> firmwarekit.sh echo "chmod u+x sbin/shutdown" >> firmwarekit.sh echo "echo Starting test application" >> firmwarekit.sh echo "chroot . ./init || exit" >> firmwarekit.sh echo "echo Cleaning up" >> firmwarekit.sh echo "umount -l \$DIR/proc" >> firmwarekit.sh echo "umount -l \$DIR/sys" >> firmwarekit.sh echo "umount -l \$DIR" >> firmwarekit.sh echo "rmdir \$DIR" >> firmwarekit.sh echo "echo \$old_hostname > /proc/sys/kernel/hostname" >> firmwarekit.sh rm -f cdimage/isolinux/initrd.img cp testimage.img.gz cdimage/isolinux/initrd.img perl create_isolinux.pl kernels > cdimage/isolinux/isolinux.cfg.temp cat cdimage/isolinux/template.cfg cdimage/isolinux/isolinux.cfg.temp > cdimage/isolinux/isolinux.cfg rm -f cdimage/isolinux/isolinux.cfg.temp perl create_isolinux_msg.pl kernels > cdimage/isolinux/boot.msg.temp cat cdimage/isolinux/template.msg cdimage/isolinux/boot.msg.temp > cdimage/isolinux/boot.msg rm -f cdimage/isolinux/boot.msg.temp mkisofs -o ../firmwarekit.iso -m '*~' -m '.svn' -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table cdimage/ mkisofs -o ../firmwarekit-source.iso -R -J -m '*~' srpms/ ls -la ../firmwarekit.iso