- self.runcmd(['debootstrap',
- '--arch=%s' % self.settings['arch'],
- '--include=%s' % ','.join(include),
- self.settings['distribution'],
- rootdir,
- self.settings['mirror']])
+ if not self.settings['no-kernel']:
+ if self.settings['arch'] == 'i386':
+ kernel_arch = '486'
+ else:
+ kernel_arch = self.settings['arch']
+ kernel_image = 'linux-image-%s' % kernel_arch
+ include.append(kernel_image)
+
+ if self.settings['sudo'] and 'sudo' not in include:
+ include.append('sudo')
+
+ args = ['debootstrap', '--arch=%s' % self.settings['arch']]
+ args.append(
+ '--include=%s' % ','.join(necessary_packages + include))
+ if self.settings['foreign']:
+ args.append('--foreign')
+ if self.settings['variant']:
+ args.append('--variant')
+ args.append(self.settings['variant'])
+ args += [self.settings['distribution'],
+ rootdir, self.settings['mirror']]
+ self.runcmd(args)
+ if self.settings['foreign']:
+ # First copy the binfmt handler over
+ shutil.copy(self.settings['foreign'], '%s/usr/bin/' % rootdir)
+ # Next, run the package install scripts etc.
+ self.runcmd(['chroot', rootdir,
+ '/debootstrap/debootstrap', '--second-stage'])