diff options
-rwxr-xr-x | vmdebootstrap | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/vmdebootstrap b/vmdebootstrap index e32c7bb..eb7d1b1 100755 --- a/vmdebootstrap +++ b/vmdebootstrap @@ -55,6 +55,7 @@ class VmDebootstrap(cliapp.Application): 'install package in DEB file onto system ' '(not from mirror)', metavar='DEB') + self.settings.boolean(['no-kernel'], 'do not install a linux package') self.settings.boolean(['enable-dhcp'], 'enable DHCP on eth0') self.settings.string(['root-password'], 'set root password', metavar='PASSWORD') @@ -105,9 +106,9 @@ class VmDebootstrap(cliapp.Application): self.create_users(rootdir) self.remove_udev_persistent_rules(rootdir) self.setup_networking(rootdir) + self.customize(rootdir) if self.settings['image']: self.install_extlinux(rootdev, rootdir) - self.customize(rootdir) if self.settings['tarball']: self.create_tarball(rootdir) except BaseException, e: @@ -184,22 +185,24 @@ class VmDebootstrap(cliapp.Application): def debootstrap(self, rootdir): self.message('Debootstrapping') - if self.settings['arch'] == 'i386': - kernel_arch = '686' - else: - kernel_arch = self.settings['arch'] - kernel_image = 'linux-image-2.6-%s' % kernel_arch + include = self.settings['package'] + + if not self.settings['no-kernel']: + if self.settings['arch'] == 'i386': + kernel_arch = '686' + else: + kernel_arch = self.settings['arch'] + kernel_image = 'linux-image-2.6-%s' % kernel_arch + include.append(kernel_image) - include = [kernel_image] + self.settings['package'] if self.settings['sudo'] and 'sudo' not in include: include.append('sudo') - self.runcmd(['debootstrap', - '--arch=%s' % self.settings['arch'], - '--include=%s' % ','.join(include), - self.settings['distribution'], - rootdir, - self.settings['mirror']]) + args = ['debootstrap', '--arch=%s' % self.settings['arch']] + if include: args.append('--include=%s' % ','.join(include)) + args += [self.settings['distribution'], + rootdir, self.settings['mirror']] + self.runcmd(args) def set_hostname(self, rootdir): hostname = self.settings['hostname'] |