]>
git.ipfire.org Git - ipfire-2.x.git/blob - src/scripts/backupiso
8 local args
="-J -r -V 'ipfire backup ${TS}' \
9 -b boot/isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table \
10 -c boot/isolinux/boot.catalog"
12 # Add EFI options when EFI image is present
13 if [ -e "${dir}/boot/isolinux/efiboot.img" ]; then
14 args
="${args} -eltorito-alt-boot -e boot/isolinux/efiboot.img -no-emul-boot"
18 mkisofs
${args} ${dir} > ${output}
20 # Add DOS paritition table
21 if [ -e "${dir}/boot/isolinux/efiboot.img" ]; then
22 isohybrid
--uefi ${output}
33 echo "Your arch is $arch"
37 echo "Your arch is $arch"
40 echo "Arch is not supported"
45 COREVER
=$
(cat /opt
/pakfire
/db
/core
/mine
)
46 # FIXME: edit this lines before release
47 URL
="https://downloads.ipfire.org/releases/ipfire-2.x/2.21-core$COREVER/"
48 ISO
="ipfire-2.21.$arch-full-core$COREVER.iso"
51 echo usage
: $0 backup-file
57 mkdir
-p /var
/tmp
/backupiso
62 echo "Fetching ${URL}${ISO}"
63 wget
--quiet -c ${URL}${ISO}
66 echo "Fetching ${URL}${ISO}.md5"
67 wget
--quiet -O ${ISO}.md5 ${URL}${ISO}.md5
69 echo "Checking md5 of ${ISO}"
70 md5sum --status -c ${ISO}.md5
71 if [ $?
-eq 0 ] ||
[ $?
-eq 24 ]
76 echo "Fetching again ${URL}${ISO}"
77 wget
--quiet -O ${ISO} ${URL}${ISO}
78 echo "Checking again md5 of ${ISO}"
79 md5sum --status -c ${ISO}.md5
80 if [ $?
-eq 0 ] ||
[ $?
-eq 24 ]
85 echo "aborting backup because md5 mismatch"
91 echo "Remastering iso"
92 mkdir
-p backupiso.tmp.
${TS}
93 mount
-o loop
${ISO} backupiso.tmp.
${TS}
94 cp -pr backupiso.tmp.
${TS} backupiso.
${TS}
95 umount backupiso.tmp.
${TS}
96 rm -r backupiso.tmp.
${TS}
98 # Copy backup file to disk
99 cp "/var/ipfire/backup/${TS}.ipf" "backupiso.${TS}/backup.ipf"
101 echo "Running mkisofs"
102 makeiso backupiso.
${TS} $(basename ${ISO} .iso)-${TS}.iso
105 rm -rf backupiso.
${TS}