X-Git-Url: https://git.siccegge.de//index.cgi?a=blobdiff_plain;f=vmdebootstrap;h=f857baca51ea989a09f4a0cd17114173e5d624f1;hb=aab83d8d7d5aad539444c882c174443b04f7db6a;hp=eb7d1b1297e61d05300f66e403bb106d472f91bd;hpb=f3968b6ac4dcfccf810b425b2fde37197d2ed430;p=forks%2Fvmdebootstrap.git diff --git a/vmdebootstrap b/vmdebootstrap index eb7d1b1..f857bac 100755 --- a/vmdebootstrap +++ b/vmdebootstrap @@ -73,6 +73,11 @@ class VmDebootstrap(cliapp.Application): metavar='USER/PASSWORD') self.settings.boolean(['serial-console'], 'configure image to use a serial console') + self.settings.string(['serial-console-command'], + 'command to manage the serial console, appended ' + 'to /etc/inittab (%default)', + metavar='COMMAND', + default='/sbin/getty -L ttyS0 115200 vt100') self.settings.boolean(['sudo'], 'install sudo, and if user is created, add them ' 'to sudo group') @@ -185,21 +190,24 @@ class VmDebootstrap(cliapp.Application): def debootstrap(self, rootdir): self.message('Debootstrapping') + necessary_packages = ['acpid'] + include = self.settings['package'] if not self.settings['no-kernel']: if self.settings['arch'] == 'i386': - kernel_arch = '686' + kernel_arch = '486' else: kernel_arch = self.settings['arch'] - kernel_image = 'linux-image-2.6-%s' % kernel_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']] - if include: args.append('--include=%s' % ','.join(include)) + args.append( + '--include=%s' % ','.join(necessary_packages + include)) args += [self.settings['distribution'], rootdir, self.settings['mirror']] self.runcmd(args) @@ -329,7 +337,7 @@ timeout 1 label linux kernel %(kernel)s -append initrd=%(initrd)s root=UUID=%(uuid)s ro quiet %(kserial)s +append initrd=%(initrd)s root=UUID=%(uuid)s ro %(kserial)s %(extserial)s ''' % { 'kernel': kernel_image, @@ -342,10 +350,11 @@ append initrd=%(initrd)s root=UUID=%(uuid)s ro quiet %(kserial)s f.close() if self.settings['serial-console']: + serial_command = self.settings['serial-console-command'] logging.debug('adding getty to serial console') inittab = os.path.join(rootdir, 'etc/inittab') with open(inittab, 'a') as f: - f.write('\nS0:23:respawn:/sbin/getty -L ttyS0 115200 vt100\n') + f.write('\nS0:23:respawn:%s\n' % serial_command) self.runcmd(['extlinux', '--install', rootdir]) self.runcmd(['sync'])