]> git.sur5r.net Git - bacula/rescue/blob - rescue/linux/usb/Makefile.in
Start USB rescue
[bacula/rescue] / rescue / linux / usb / Makefile.in
1 #
2 # Makefile for building a Bacula Rescue USB remastered Ubuntu LiveCD
3 #
4
5 .PATH:          .
6
7 CWD=@BUILD_DIR@/linux/usb
8
9 ISOIMAGE=@where@
10
11 first_rule: all
12 dummy:
13
14 #-------------------------------------------------------------------------
15
16 # Make an iso boot image
17 iso:
18         rm -f bootcd.iso
19         mkisofs -A "Bacula Rescue Disk" -V "Bacula Rescue Disk" \
20           -J -R -T -o bootcd.iso \
21           -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat \
22           -no-emul-boot -boot-load-size 4 -boot-info-table cdtree
23
24 mountiso:
25        ./mountiso $ISOIMAGE
26
27 unmountiso:
28        ./unmountiso
29
30 mountsquashfs:
31        ./mountsqfs
32
33 unpacksquashfs:
34         ./unpacksqfs
35
36 unpackinitrd:
37        ./unpackinitrd
38
39
40 # try booting it with qemu emulator
41 boot:
42         qemu -cdrom bootcd.iso
43
44 packinitrd:
45         ./packinitrd
46
47 binaries:
48         ./makebinaries
49
50 static-bacula: dummy
51         @(cd bacula; make copy-static-fd)
52
53 bacula: dummy
54         @(cd bacula; make)
55
56 copy-bacula:
57         cp -a bacula/ cdimage/
58
59
60
61 # This will build the Bacula rescue
62 all:    
63
64
65 copy-static-fd: kernel binaries static-bacula initrd iso
66
67
68 # This needs to be customized for your burner.
69 # Use either dev=ATA:x,y,z  (as reported by cdrecord -scanbus)
70 #         or dev=/dev/<device> (e.g. hdc)
71 burn:
72         cdrecord dev=@DEV@ gracetime=2 fs=4096k driveropts=burnfree -v \
73          -useinfo speed=48 -dao -eject -pad -data "bootcd.iso"
74
75 # Blank the CDROM assuming it is +rw
76 blank:
77         cdrecord dev=@DEV@ gracetime=2 -v blank=fast -useinfo speed=48
78
79 scan:
80         cdrecord -scanbus
81
82 distclean:
83 clean:
84 #
85 # Clean out files that are rebuilt
86 #
87         @rm -f bootcd.iso custom-rd.img.bz2
88         @rm -f 1 2 3 4
89         @rm -rf mnt
90         @rm -rf roottree/bin roottree/proc roottree/boot
91         @rm -rf roottree/lib roottree/sbin roottree/dev
92         @rm -rf roottree/dev roottree/sys roottree/sysroot
93         @rm -rf roottree/sys roottree/usr 
94         @rm -rf roottree/initrd roottree/cdrom roottree/mnt
95         @rm -rf roottree/tmp roottree/var          
96         @rm -f roottree/etc/services roottree/etc/exports
97         @rm -f roottree/etc/gshadow roottree/etc/shadow 
98         @rm -f roottree/etc/passwd  roottree/etc/group
99         @rm -f roottree/etc/hosts roottree/etc/bashrc
100         @rm -f roottree/etc/filesystems roottree/etc/fstab 
101         @rm -f roottree/etc/protocols roottree/etc/localtime
102         @rm -f roottree/etc/ld.so.cache
103         @rm -f roottree/etc/modules.conf roottree/etc/syslog.conf
104         @rm -rf roottree/etc/pam.d roottree/etc/ssh
105         @rm -rf roottree/etc/security roottree/etc/init.d
106         @rm -rf roottree/etc/rc.d
107         @rm -rf roottree/etc/udev roottree/etc/modprobe.conf
108         @rm -rf roottree/etc/dev.d roottre/etc/hotplug roottree/etc/modprobe.d
109         @rm -rf roottree/etc/modprobe.conf.local roottree/etc/hotplug
110         @rm -rf roottree/etc/sysconfig roottree/etc/syslog-ng
111         @rm -rf roottree/bacula-*
112         @rm -f cdtree/boot/isolinux/initrd.img
113         @rm -f cdtree/boot/isolinux/isolinux.cfg
114         @rm -f cdtree/boot/isolinux/vmlinuz
115         @rm -f cdtree/boot/isolinux/map
116         @(cd bacula; make distclean)
117 #       @(cd ${MKCDREC}; make clean)
118 #       @(cd ${MKCDREC}/busybox; make distclean)
119
120
121 #
122 # This was the integration with mkcdrec, but I could never
123 #  get it to work reliably.
124 #
125 MKCDREC=@BUILD_DIR@/mkcdrec
126 mkcdrec: kernel binaries bacula pre-mkcdrec main-mkcdrec post-mkcdrec
127 pre-mkcdrec:                
128         @echo
129         ./mkcdrec_rd    
130         @echo "Patching mkcdrec Config.sh for Bacula"
131         @mkdir -p tmp
132         @rm -f tmp/1 tmp/2 tmp/1
133         @cp ${MKCDREC}/Config.sh tmp/2
134         @echo "s%^BACULA_DIR.*$$%BACULA_DIR=${CWD}/bacula%g" >tmp/1
135         @sed -f tmp/1 tmp/2 >tmp/3
136         @echo "s%^BACULA_RESTORE.*$$%BACULA_RESTORE=\"y\"%g" >tmp/1
137         @sed -f tmp/1 tmp/3 >tmp/4
138         @echo "s%^DVD_Drive.*$$%DVD_Drive=0%g" >tmp/1
139         @sed -f tmp/1 tmp/4 >tmp/5
140         @echo "s%^USECOLOR.*$$%USECOLOR=n%g" >tmp/1
141         @sed -f tmp/1 tmp/5 >${MKCDREC}/Config.sh
142         @rm -rf tmp
143         @cp -f @BACULA_BIN@/bacula-fd bacula/bin
144         @cp -f @BACULA_SCRIPTS@/bacula-fd.conf bacula/bin
145
146 main-mkcdrec: dummy
147         @echo " "
148         @echo "Doing make in mkcdrec directory. This may take some time and"
149         @echo "  produce a good amount of output"
150         @echo " "
151         @echo             
152         (cd ${MKCDREC}; make rescue)
153
154 post-mkcdrec:
155         @echo "Cleaning up"
156         cp /tmp/CDrec.iso bootcd.iso
157         chmod 644 bootcd.iso
158         rm -f /tmp/CDrec.iso
159         rm -f custom-rd.img.bz2