This allows boostrapping Debian into LXC containers. XXX: This currently relies on debootstrap fixes that are pending review: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=890418 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=890419 The working debootstrap tree is here: https://github.com/lkundrak/debootstrap/tree/lr/lxc-install --- virtinst/lxcinstaller.py | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/virtinst/lxcinstaller.py b/virtinst/lxcinstaller.py index f5c416d52..c50710933 100644 --- a/virtinst/lxcinstaller.py +++ b/virtinst/lxcinstaller.py @@ -17,6 +17,7 @@ # MA 02110-1301 USA. import os +import re from . import urlfetcher from . import util @@ -87,6 +88,22 @@ class LXCInstaller(Installer): # Run the bootstrap in installer phase # ######################################## + def _init_debootstrap(self, guest): + if re.match(r'i[4-9]86', guest.os.arch): + arch = "i386" + elif guest.os.arch == "x86_64": + arch = "amd64" + else: + arch = guest.os.arch + + guest.os.init = "/usr/sbin/debootstrap" + guest.os.initargs.add_new().val = "--arch" + guest.os.initargs.add_new().val = arch + guest.os.initargs.add_new().val = self._repo_version + guest.os.initargs.add_new().val = self._target_tree + if self._repo_url: + guest.os.initargs.add_new().val = self._repo_url + ######################## # Private method impls # ######################## @@ -130,6 +147,9 @@ class LXCInstaller(Installer): self._remove_installed_config(guest) if isinstall: - raise ValueError(_("%s repositories are not supported") % self._repo_type) + if self._repo_type == "deb": + self._init_debootstrap(guest) + else: + raise ValueError(_("%s repositories are not supported") % self._repo_type) else: self._restore_installed_config(guest) -- 2.14.3 _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list