+#
+# Makefile for building a Bacula Rescue USB remastered Ubuntu LiveCD
+#
+
+.PATH: .
+
+CWD=/home/kern/bacula/rescue/linux/usb
+
+ISOIMAGE=/home/src/kubuntu/kubuntu-8.04.1-desktop-i386.iso
+
+first_rule: all
+dummy:
+
+#-------------------------------------------------------------------------
+
+# Make an iso boot image
+iso:
+ rm -f bootcd.iso
+ mkisofs -A "Bacula Rescue Disk" -V "Bacula Rescue Disk" \
+ -J -R -T -o bootcd.iso \
+ -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat \
+ -no-emul-boot -boot-load-size 4 -boot-info-table cdtree
+
+mountiso:
+ ./mountiso $ISOIMAGE
+
+unmountiso:
+ ./unmountiso
+
+mountsquashfs:
+ ./mountsqfs
+
+unpacksquashfs:
+ ./unpacksqfs
+
+unpackinitrd:
+ ./unpackinitrd
+
+
+# try booting it with qemu emulator
+boot:
+ qemu -cdrom bootcd.iso
+
+packinitrd:
+ ./packinitrd
+
+binaries:
+ ./makebinaries
+
+static-bacula: dummy
+ @(cd bacula; make copy-static-fd)
+
+bacula: dummy
+ @(cd bacula; make)
+
+copy-bacula:
+ cp -a bacula/ cdimage/
+
+
+
+# This will build the Bacula rescue
+all:
+
+
+copy-static-fd: kernel binaries static-bacula initrd iso
+
+
+# This needs to be customized for your burner.
+# Use either dev=ATA:x,y,z (as reported by cdrecord -scanbus)
+# or dev=/dev/<device> (e.g. hdc)
+burn:
+ cdrecord dev=ATA:3,0,0 gracetime=2 fs=4096k driveropts=burnfree -v \
+ -useinfo speed=48 -dao -eject -pad -data "bootcd.iso"
+
+# Blank the CDROM assuming it is +rw
+blank:
+ cdrecord dev=ATA:3,0,0 gracetime=2 -v blank=fast -useinfo speed=48
+
+scan:
+ cdrecord -scanbus
+
+distclean:
+clean:
+#
+# Clean out files that are rebuilt
+#
+ @rm -f bootcd.iso custom-rd.img.bz2
+ @rm -f 1 2 3 4
+ @rm -rf mnt
+ @rm -rf roottree/bin roottree/proc roottree/boot
+ @rm -rf roottree/lib roottree/sbin roottree/dev
+ @rm -rf roottree/dev roottree/sys roottree/sysroot
+ @rm -rf roottree/sys roottree/usr
+ @rm -rf roottree/initrd roottree/cdrom roottree/mnt
+ @rm -rf roottree/tmp roottree/var
+ @rm -f roottree/etc/services roottree/etc/exports
+ @rm -f roottree/etc/gshadow roottree/etc/shadow
+ @rm -f roottree/etc/passwd roottree/etc/group
+ @rm -f roottree/etc/hosts roottree/etc/bashrc
+ @rm -f roottree/etc/filesystems roottree/etc/fstab
+ @rm -f roottree/etc/protocols roottree/etc/localtime
+ @rm -f roottree/etc/ld.so.cache
+ @rm -f roottree/etc/modules.conf roottree/etc/syslog.conf
+ @rm -rf roottree/etc/pam.d roottree/etc/ssh
+ @rm -rf roottree/etc/security roottree/etc/init.d
+ @rm -rf roottree/etc/rc.d
+ @rm -rf roottree/etc/udev roottree/etc/modprobe.conf
+ @rm -rf roottree/etc/dev.d roottre/etc/hotplug roottree/etc/modprobe.d
+ @rm -rf roottree/etc/modprobe.conf.local roottree/etc/hotplug
+ @rm -rf roottree/etc/sysconfig roottree/etc/syslog-ng
+ @rm -rf roottree/bacula-*
+ @rm -f cdtree/boot/isolinux/initrd.img
+ @rm -f cdtree/boot/isolinux/isolinux.cfg
+ @rm -f cdtree/boot/isolinux/vmlinuz
+ @rm -f cdtree/boot/isolinux/map
+ @(cd bacula; make distclean)
+# @(cd ${MKCDREC}; make clean)
+# @(cd ${MKCDREC}/busybox; make distclean)
+
+
+#
+# This was the integration with mkcdrec, but I could never
+# get it to work reliably.
+#
+MKCDREC=/home/kern/bacula/rescue/mkcdrec
+mkcdrec: kernel binaries bacula pre-mkcdrec main-mkcdrec post-mkcdrec
+pre-mkcdrec:
+ @echo
+ ./mkcdrec_rd
+ @echo "Patching mkcdrec Config.sh for Bacula"
+ @mkdir -p tmp
+ @rm -f tmp/1 tmp/2 tmp/1
+ @cp ${MKCDREC}/Config.sh tmp/2
+ @echo "s%^BACULA_DIR.*$$%BACULA_DIR=${CWD}/bacula%g" >tmp/1
+ @sed -f tmp/1 tmp/2 >tmp/3
+ @echo "s%^BACULA_RESTORE.*$$%BACULA_RESTORE=\"y\"%g" >tmp/1
+ @sed -f tmp/1 tmp/3 >tmp/4
+ @echo "s%^DVD_Drive.*$$%DVD_Drive=0%g" >tmp/1
+ @sed -f tmp/1 tmp/4 >tmp/5
+ @echo "s%^USECOLOR.*$$%USECOLOR=n%g" >tmp/1
+ @sed -f tmp/1 tmp/5 >${MKCDREC}/Config.sh
+ @rm -rf tmp
+ @cp -f /bacula-fd bacula/bin
+ @cp -f /bacula-fd.conf bacula/bin
+
+main-mkcdrec: dummy
+ @echo " "
+ @echo "Doing make in mkcdrec directory. This may take some time and"
+ @echo " produce a good amount of output"
+ @echo " "
+ @echo
+ (cd ${MKCDREC}; make rescue)
+
+post-mkcdrec:
+ @echo "Cleaning up"
+ cp /tmp/CDrec.iso bootcd.iso
+ chmod 644 bootcd.iso
+ rm -f /tmp/CDrec.iso
+ rm -f custom-rd.img.bz2