summaryrefslogtreecommitdiff
path: root/vmdebootstrap
diff options
context:
space:
mode:
authorNeil Williams <codehelp@debian.org>2015-09-02 21:07:35 +0100
committerNeil Williams <codehelp@debian.org>2015-09-02 21:43:01 +0100
commit5c54e70b6d13241bc096880fd39f346f95561a54 (patch)
tree500ff2edceb3240f55d3b86e54601d2f48aafb99 /vmdebootstrap
parent31d98be0dc493620e28ad9bd24d3889499333b50 (diff)
downloadvmdebootstrap-5c54e70b6d13241bc096880fd39f346f95561a54.tar.gz
move some more functions into modules
Diffstat (limited to 'vmdebootstrap')
-rw-r--r--vmdebootstrap/__init__.py1
-rw-r--r--vmdebootstrap/base.py18
-rw-r--r--vmdebootstrap/codenames.py18
-rw-r--r--vmdebootstrap/extlinux.py2
-rw-r--r--vmdebootstrap/grub.py5
-rw-r--r--vmdebootstrap/uefi.py7
6 files changed, 50 insertions, 1 deletions
diff --git a/vmdebootstrap/__init__.py b/vmdebootstrap/__init__.py
index 8b13789..e69de29 100644
--- a/vmdebootstrap/__init__.py
+++ b/vmdebootstrap/__init__.py
@@ -1 +0,0 @@
-
diff --git a/vmdebootstrap/base.py b/vmdebootstrap/base.py
index be51ce6..fc7305d 100644
--- a/vmdebootstrap/base.py
+++ b/vmdebootstrap/base.py
@@ -178,3 +178,21 @@ class Base(object):
logging.debug("Setting minimum 256Mb swap space")
extent = "%s%%" % int(100 * (self.settings['size'] - swap) / self.settings['size'])
return extent
+
+ def make_swap(self, extent):
+ if self.settings['swap'] > 0:
+ logging.debug("Creating swap partition")
+ runcmd([
+ 'parted', '-s', self.settings['image'],
+ 'mkpart', 'primary', 'linux-swap', extent, '100%'])
+
+ def base_packages(self):
+ packages = []
+ if not self.settings['foreign'] and not self.settings['no-acpid']:
+ packages.append('acpid')
+ if self.settings['sudo']:
+ packages.append('sudo')
+ if not self.settings['no-kernel']:
+ if self.settings['kernel-package']:
+ packages.append(self.settings['kernel-package'])
+ return packages
diff --git a/vmdebootstrap/codenames.py b/vmdebootstrap/codenames.py
index 25cd94d..d0f71fe 100644
--- a/vmdebootstrap/codenames.py
+++ b/vmdebootstrap/codenames.py
@@ -59,3 +59,21 @@ class Codenames(Base):
if not self.debian_info.valid(suite):
return False
return suite == self.debian_info.stable(limit)
+
+ def kernel_package(self):
+ packages = []
+ if not self.settings['no-kernel']:
+ if self.settings['kernel-package']:
+ return packages
+ if self.settings['arch'] == 'i386':
+ # wheezy (which became oldstable on 04/25/2015) used '486'
+ if self.was_oldstable(datetime.date(2015, 4, 26)):
+ kernel_arch = '486'
+ else:
+ kernel_arch = '586'
+ elif self.settings['arch'] == 'armhf':
+ kernel_arch = 'armmp'
+ else:
+ kernel_arch = self.settings['arch']
+ packages.append('linux-image-%s' % kernel_arch)
+ return packages
diff --git a/vmdebootstrap/extlinux.py b/vmdebootstrap/extlinux.py
index d5861a9..5698f6c 100644
--- a/vmdebootstrap/extlinux.py
+++ b/vmdebootstrap/extlinux.py
@@ -32,6 +32,8 @@ from vmdebootstrap.base import Base, runcmd
class ExtLinux(Base):
+ name = 'extlinux'
+
def __init__(self):
super(ExtLinux, self).__init__()
diff --git a/vmdebootstrap/grub.py b/vmdebootstrap/grub.py
index 909c2d1..95b17eb 100644
--- a/vmdebootstrap/grub.py
+++ b/vmdebootstrap/grub.py
@@ -116,3 +116,8 @@ class GrubHandler(Base):
umount_wrapper(rootdir)
if not ret:
raise cliapp.AppException("Failed to install extra grub uefi")
+
+ def grub_packages(self):
+ if self.settings['grub'] and not self.settings['use-uefi']:
+ return ['grub-pc']
+ return []
diff --git a/vmdebootstrap/uefi.py b/vmdebootstrap/uefi.py
index 7f77f9f..50ad842 100644
--- a/vmdebootstrap/uefi.py
+++ b/vmdebootstrap/uefi.py
@@ -46,6 +46,8 @@ class Uefi(Base):
def efi_packages(self):
packages = []
+ if self.settings['grub'] and not self.settings['use-uefi']:
+ return packages
pkg = arch_table[self.settings['arch']]['package']
self.message("Adding %s" % pkg)
packages.append(pkg)
@@ -123,3 +125,8 @@ class Uefi(Base):
self.mkfs(bootdev, fstype='vfat')
os.makedirs(self.bootdir)
return self.bootdir
+
+ def make_root(self, extent):
+ bootsize = self.settings['esp-size'] / (1024 * 1024) + 1
+ runcmd(['parted', '-s', self.settings['image'],
+ 'mkpart', 'primary', str(bootsize), extent])