'set up foreign debootstrap environment using provided program (ie binfmt handler)')
self.settings.string(
['variant'],
- 'select debootstrap variant it not using the default')
+ 'select debootstrap variant if not using the default [deprecated]')
+ self.settings.string_list(
+ ['debootstrapopts'],
+ 'pass additional options to debootstrap'),
self.settings.boolean(
['extlinux'],
'install extlinux?',
'--include=%s' % ','.join(include))
if self.settings['foreign']:
args.append('--foreign')
- if self.settings['variant']:
+ if self.settings['debootstrapopts']:
+ for opt in self.settings['debootstrapopts']:
+ for part in opt.split(' '):
+ args.append('--%s' % part)
+ elif self.settings['variant']:
args.append('--variant')
args.append(self.settings['variant'])
args += [self.settings['distribution'],
logging.debug(
"%s usage: %s", self.settings['image'],
self.runcmd(['du', self.settings['image']]))
- with open('/dev/tty', 'w') as tty:
- try:
+ try:
+ with open('/dev/tty', 'w') as tty:
cliapp.runcmd([script, rootdir, self.settings['image']], stdout=tty, stderr=tty)
- except IOError:
- subprocess.call([script, rootdir, self.settings['image']])
- logging.debug(
- "%s usage: %s", self.settings['image'],
- self.runcmd(['du', self.settings['image']]))
+ except IOError:
+ logging.debug('tty unavailable, trying in headless mode.')
+ subprocess.call([script, rootdir, self.settings['image']])
def create_tarball(self, rootdir):
# Create a tarball of the disk's contents