X-Git-Url: http://git.rot13.org/?p=vmdk-backup;a=blobdiff_plain;f=vmdk-backup.pl;h=a44c2535142ded7df6a092112668dd3a277aa5ff;hp=55ae76154256bfb5f2dc321b5097b36032d03633;hb=refs%2Fheads%2Fmaster;hpb=ae28c6fdc7d34a4f2be9cee66c8cf391bcf73833 diff --git a/vmdk-backup.pl b/vmdk-backup.pl index 55ae761..a44c253 100755 --- a/vmdk-backup.pl +++ b/vmdk-backup.pl @@ -152,6 +152,30 @@ if ( my $swap = (grep { $blks->{$_}->{TYPE} eq 'swap' } keys %$blks)[0] ) { sh "mkswap $label $dev"; } + +warn "mount bind chroot...\n"; + +foreach ( qw(dev proc sys) ) { + sh "mount --bind /$_ $tmp/$_"; + unshift @umount, "$tmp/$_"; +} + +warn "make backup bootable...\n"; + +open(my $sh, '>', "$tmp/tmp/backup-fixup.sh"); +print $sh qq{ +grub-install /dev/nbd0 +update-grub +}; +close($sh); +chmod 0755, "$tmp/tmp/backup-fixup.sh"; + +sh "chroot $tmp /tmp/backup-fixup.sh"; + +warn "wait for ENTER to continue...\n"; +; + + warn "cleanup...\n"; sh "umount $_" foreach @umount;