X-Git-Url: https://git.siccegge.de//index.cgi?a=blobdiff_plain;f=vmdebootstrap;h=5b4fa96187affa0fef7d292718eadd2d097554a5;hb=3520e4d1f4ef05386e4a3b12e66cd7b0dc7e327d;hp=ecb6df82e8d0764599a66d1ef2d5d88b5ecf34d8;hpb=9be25a86f316b5b8527a7a2380e1d76ba754492a;p=forks%2Fvmdebootstrap.git diff --git a/vmdebootstrap b/vmdebootstrap index ecb6df8..5b4fa96 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') @@ -102,6 +107,7 @@ class VmDebootstrap(cliapp.Application): self.set_hostname(rootdir) self.create_fstab(rootdir) self.install_debs(rootdir) + self.cleanup_apt_cache(rootdir) self.set_root_password(rootdir) self.create_users(rootdir) self.remove_udev_persistent_rules(rootdir) @@ -191,10 +197,10 @@ class VmDebootstrap(cliapp.Application): 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: @@ -246,6 +252,10 @@ class VmDebootstrap(cliapp.Application): logging.debug('stdout:\n%s' % out) shutil.rmtree(tmp) + def cleanup_apt_cache(self, rootdir): + out = self.runcmd(['chroot', rootdir, 'apt-get', 'clean']) + logging.debug('stdout:\n%s' % out) + def set_root_password(self, rootdir): if self.settings['root-password']: self.message('Setting root password') @@ -345,10 +355,11 @@ append initrd=%(initrd)s root=UUID=%(uuid)s ro %(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'])