[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] The various changes to move to using info instead of passing the config
# HG changeset patch # User emellor@xxxxxxxxxxxxxxxxxxxxxx # Node ID bffbe58801d01853b04967337f247b7f64af5fb4 # Parent 4f247dc79d0ae3ab31f84c6016650815fff0174c The various changes to move to using info instead of passing the config sxpr everywhere broke the use of a boot loader for booting with. The attached fixes things up so that a) use of a bootloader ==> kernel not specified in the config file b) don't cleanup bootloader files until after the domain has booted c) rerun bootloader on reboot Signed-off-by: Jeremy Katz <katzj@xxxxxxxxxx> diff -r 4f247dc79d0a -r bffbe58801d0 tools/python/xen/xend/XendDomainInfo.py --- a/tools/python/xen/xend/XendDomainInfo.py Sat Nov 12 17:52:16 2005 +++ b/tools/python/xen/xend/XendDomainInfo.py Sat Nov 12 17:59:56 2005 @@ -1049,9 +1049,6 @@ self.info['image'], self.info['device']) - if self.info['bootloader']: - self.image.handleBootloading() - xc.domain_setcpuweight(self.domid, self.info['cpu_weight']) m = self.image.getDomainMemory(self.info['memory'] * 1024) @@ -1073,6 +1070,9 @@ self.introduceDomain() self.createDevices() + + if self.info['bootloader']: + self.image.cleanupBootloading() self.info['start_time'] = time.time() @@ -1238,6 +1238,7 @@ False if it is to be destroyed. """ + self.configure_bootloader() config = self.sxpr() if self.readVm(RESTART_IN_PROGRESS): @@ -1340,8 +1341,9 @@ # FIXME: this assumes the disk is the first device and # that we're booting from the first disk blcfg = None + config = self.sxpr() # FIXME: this assumes that we want to use the first disk - dev = sxp.child_value(self.config, "device") + dev = sxp.child_value(config, "device") if dev: disk = sxp.child_value(dev, "uname") fn = blkdev_uname_to_file(disk) @@ -1351,7 +1353,7 @@ msg = "Had a bootloader specified, but can't find disk" log.error(msg) raise VmError(msg) - self.config = sxp.merge(['vm', ['image', blcfg]], self.config) + self.info['image'] = sxp.to_string(blcfg) def send_sysrq(self, key): diff -r 4f247dc79d0a -r bffbe58801d0 tools/python/xen/xend/image.py --- a/tools/python/xen/xend/image.py Sat Nov 12 17:52:16 2005 +++ b/tools/python/xen/xend/image.py Sat Nov 12 17:59:56 2005 @@ -95,7 +95,7 @@ ("image/ramdisk", self.ramdisk)) - def handleBootloading(self): + def cleanupBootloading(self): self.unlink(self.kernel) self.unlink(self.ramdisk) diff -r 4f247dc79d0a -r bffbe58801d0 tools/python/xen/xm/create.py --- a/tools/python/xen/xm/create.py Sat Nov 12 17:52:16 2005 +++ b/tools/python/xen/xm/create.py Sat Nov 12 17:59:56 2005 @@ -565,7 +565,7 @@ file = blkif.blkdev_uname_to_file(uname) return bootloader(vals.bootloader, file, not vals.console_autoconnect, - vals.vcpus, vals.blentry) + vals.vcpus, vals.bootentry) def make_config(vals): """Create the domain configuration. @@ -781,7 +781,7 @@ vals.extra = vnc + ' ' + vals.extra def preprocess(vals): - if not vals.kernel: + if not vals.kernel and not vals.bootloader: err("No kernel specified") preprocess_disk(vals) preprocess_pci(vals) _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |