X-Git-Url: https://git.siccegge.de//index.cgi?a=blobdiff_plain;f=vmdebootstrap;h=8301bd5c6452ee333d232c412bf42e4efadebc91;hb=41f88537a1fd6363a0b2da9796a176f5a727e279;hp=fafd78ab4c9ec6590a115026c763ac9a23e8bb05;hpb=fe3a9a3f12c52e88bd48a8453b8f43174c7afcc2;p=forks%2Fvmdebootstrap.git diff --git a/vmdebootstrap b/vmdebootstrap index fafd78a..8301bd5 100755 --- a/vmdebootstrap +++ b/vmdebootstrap @@ -1,6 +1,7 @@ #!/usr/bin/python # Copyright 2011-2013 Lars Wirzenius # Copyright 2012 Codethink Limited +# Copyright 2014 Neil Williams # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -26,7 +27,7 @@ import tempfile import time -__version__ = '0.3' +__version__ = '0.4' class VmDebootstrap(cliapp.Application): @@ -53,16 +54,13 @@ class VmDebootstrap(cliapp.Application): 'set up foreign debootstrap environment using provided program (ie binfmt handler)') self.settings.string(['variant'], 'select debootstrap variant it not using the default') - self.settings.boolean( - ['extlinux'], - 'install extlinux?', - default=True) + self.settings.boolean(['extlinux'], 'install extlinux?', default=True) self.settings.string(['tarball'], "tar up the disk's contents in FILE", metavar='FILE') self.settings.string(['mirror'], 'use MIRROR as package source (%default)', metavar='URL', - default='http://cdn.debian.net/debian/') + default='http://http.debian.net/debian/') self.settings.string(['arch'], 'architecture to use (%default)', metavar='ARCH', default=default_arch) @@ -163,6 +161,8 @@ class VmDebootstrap(cliapp.Application): if self.settings['configure-apt']: self.configure_apt(rootdir) self.customize(rootdir) + self.update_initramfs(rootdir) + if self.settings['image']: if self.settings['grub']: self.install_grub2(rootdev, rootdir) @@ -250,6 +250,12 @@ class VmDebootstrap(cliapp.Application): self.runcmd(['parted', '-s', self.settings['image'], 'set', '1', 'boot', 'on']) + def update_initramfs(self, rootdir): + cmd = os.path.join('usr', 'sbin', 'update-initramfs') + if os.path.exists(os.path.join(rootdir, cmd)): + self.message("Updating the initramfs") + self.runcmd(['chroot', rootdir, cmd, '-u']) + def install_mbr(self): if os.path.exists("/sbin/install-mbr"): self.message('Installing MBR') @@ -477,7 +483,7 @@ class VmDebootstrap(cliapp.Application): self.runcmd(['chroot', rootdir, 'update-grub']) self.runcmd(['chroot', rootdir, 'grub-install', install_dev]) except cliapp.AppException as e: - self.message("Failed to configure grub2. Using extlinux.") + self.message("Failed. Is grub2-common installed? Using extlinux.") self.runcmd(['umount', os.path.join(rootdir, 'sys')]) self.runcmd(['umount', os.path.join(rootdir, 'proc')]) self.runcmd(['umount', os.path.join(rootdir, 'dev')])