import tempfile
+__version__ = '0.1.0'
+
+
class VmDebootstrap(cliapp.Application):
def add_settings(self):
self.customize(rootdir)
if self.settings['image']:
self.install_extlinux(rootdev, rootdir)
+ self.optimize_image(rootdir)
if self.settings['tarball']:
self.create_tarball(rootdir)
except BaseException, e:
if self.settings['enable-dhcp']:
f.write('\n')
- f.write('allow-hotplug eth0\n')
+ f.write('auto eth0\n')
f.write('iface eth0 inet dhcp\n')
f.close()
self.runcmd(['extlinux', '--install', rootdir])
self.runcmd(['sync'])
import time; time.sleep(2)
-
+
+ def optimize_image(self, rootdir):
+ """
+ Filing up the image with zeros will increase its compression rate
+ """
+ zeros = os.path.join(rootdir, 'ZEROS')
+ self.runcmd_unchecked(['dd', 'if=/dev/zero', 'of=' + zeros, 'bs=1M'])
+ self.runcmd(['rm', '-f', zeros])
+
+
def cleanup_system(self):
# Clean up after any errors.
if __name__ == '__main__':
- VmDebootstrap().run()
+ VmDebootstrap(version=__version__).run()