On Mon, 2008-07-28 at 22:25 +0200, Jérémy Bobbio wrote: > > * Remaining support for Xen installations > (Ian Campbell) > > - Bug #480054 against base-installer: > [i386] Select appropriate kernel when installing in a virtualised > (Xen) environment. This has been checked in but not yet uploaded. > - Output files for netboot-xen flavour > > Last patch: <[🔎] 1216934148.15303.6.camel@localhost.localdomain> > > http://lists.debian.org/debian-boot/2008/07/msg01046.html I'm totally out of net contact from tonight until Monday (and I was away this weekend) or I would say "any last objections" and check it in. Since I don't want to do that and then disappear I'll wait until next week. Patch updated to r54659 attached though. Ian. -- Ian Campbell Of course power tools and alcohol don't mix. Everyone knows power tools aren't soluble in alcohol... -- Crazy Nigel
Index: boot/x86/xm-debian.cfg
===================================================================
--- boot/x86/xm-debian.cfg (revision 0)
+++ boot/x86/xm-debian.cfg (revision 0)
@@ -0,0 +1,182 @@
+# -*- mode: python; -*-
+#============================================================================
+# Example Python setup script for Debian guest installation.
+#============================================================================
+#
+# Standard options are configured as normal. Only a subset are included below.
+# See /usr/share/doc/xen-utils-common/examples for full examples.
+#
+# After standard options are configure use
+# xm create xm-debian.cfg install=true"
+# to start the Debian Installer.
+#
+# In the installation case the following additional variables exist:
+# install-arch: which architecture to install. e.g. i386 or amd64
+# install-suite: which Debian version to install. e.g. lenny or sid
+# install-mirror: which Debian mirror to use
+# e.g. http://ftp.uk.debian.org/debian
+# install-installer: where to obtain the Debian Installer bits, by
+# default these are located under install-mirror. To use a nightly
+# snapshot: http://people.debian.org/~joeyh/d-i/images/daily/
+# install-extra: extra command line arguments
+#============================================================================
+
+
+#----------------------------------------------------------------------------
+# Standard variables
+
+# Initial memory allocation (in megabytes) for the new domain.
+memory = 128
+
+# A name for your domain. All domains must have different names.
+name = "ExampleDomain"
+
+# 128-bit UUID for the domain. The default behavior is to generate a new UUID
+# on each call to 'xm create'.
+#uuid = "06ed00fe-1162-4fc4-b5d8-11993ee4a8b9"
+
+# List of which CPUS this domain is allowed to use, default Xen picks
+#cpus = "" # leave to Xen to pick
+#cpus = "0" # all vcpus run on CPU0
+#cpus = "0-3,5,^1" # run on cpus 0,2,3,5
+
+# Number of Virtual CPUS to use, default is 1
+#vcpus = 1
+
+#----------------------------------------------------------------------------
+# Define network interfaces.
+
+# By default, no network interfaces are configured. You may have one created
+# with sensible defaults using an empty vif clause:
+#
+# vif = ['']
+#
+# or optionally override backend, bridge, ip, mac, script, type, or vifname:
+#
+# vif = ['mac=00:16:3e:00:00:11, bridge=xenbr0']
+#
+# or more than one interface may be configured:
+#
+# vif = ['', 'bridge=xenbr1']
+
+vif = ['']
+
+#----------------------------------------------------------------------------
+# Define the disk devices you want the domain to have access to, and
+# what you want them accessible as.
+# Each disk entry is of the form phy:UNAME,DEV,MODE
+# where UNAME is the device, DEV is the device name the domain will see,
+# and MODE is r for read-only, w for read-write.
+#
+# NB: Only xvd devices are supported by the kernel in Debian Lenny and later.
+
+disk = ['phy:hda1,xvda,w']
+
+#----------------------------------------------------------------------------
+# Define frame buffer device.
+#
+# By default, no frame buffer device is configured.
+#
+# To create one using the SDL backend and sensible defaults:
+#
+# vfb = [ 'type=sdl' ]
+#
+# This uses environment variables XAUTHORITY and DISPLAY. You
+# can override that:
+#
+# vfb = [ 'type=sdl,xauthority=/home/bozo/.Xauthority,display=:1' ]
+#
+# To create one using the VNC backend and sensible defaults:
+#
+# vfb = [ 'type=vnc' ]
+#
+# The backend listens on 127.0.0.1 port 5900+N by default, where N is
+# the domain ID. You can override both address and N:
+#
+# vfb = [ 'type=vnc,vnclisten=127.0.0.1,vncdisplay=1' ]
+#
+# Or you can bind the first unused port above 5900:
+#
+# vfb = [ 'type=vnc,vnclisten=0.0.0.0,vnunused=1' ]
+#
+# You can override the password:
+#
+# vfb = [ 'type=vnc,vncpasswd=MYPASSWD' ]
+#
+# Empty password disables authentication. Defaults to the vncpasswd
+# configured in xend-config.sxp.
+
+
+#============================================================================
+# Debian Installer specific variables
+
+def check_bool(name, value):
+ value = str(value).lower()
+ if value in ('t', 'tr', 'tru', 'true'):
+ return True
+ return False
+
+global var_check_with_default
+def var_check_with_default(default, var, val):
+ if val:
+ return val
+ return default
+
+xm_vars.var('install', use='Install Debian, default: false', check=check_bool)
+
+xm_vars.var("install-arch",
+ use='Debian mirror to install from (default: i386)',
+ check=lambda var, val: var_check_with_default('i386', var, val))
+xm_vars.var("install-mirror",
+ use='Debian mirror to install from (default: http://ftp.debian.org/debian)',
+ check=lambda var, val: var_check_with_default('http://ftp.debian.org/debian', var, val))
+xm_vars.var("install-suite",
+ use='Debian suite to install (default: lenny)',
+ check=lambda var, val: var_check_with_default("lenny", var, val))
+xm_vars.var("install-installer",
+ use='Debian installer to use (default: uses install-mirror)',
+ check=lambda var, val: var_check_with_default(None, var, val))
+xm_vars.var("install-extra",
+ use='Extra command line options (default: None)',
+ check=lambda var, val: var_check_with_default(None, var, val))
+xm_vars.check()
+
+if not xm_vars.env.get('install'):
+ bootloader="pygrub"
+else:
+ import os.path
+ print "Install Mirror: %s" % xm_vars.env['install-mirror']
+ print "Install Suite: %s" % xm_vars.env['install-suite']
+ if xm_vars.env['install-installer']:
+ installer = xm_vars.env['install-installer']
+ else:
+ installer = xm_vars.env['install-mirror']+"/dists/"+xm_vars.env['install-suite'] + \
+ "/main/installer-"+xm_vars.env['install-arch']+"/current/images"
+ print "Installer: %s" % installer
+
+ print
+ print "WARNING: Installer kernel and ramdisk are not authenticated."
+ print
+
+ import urllib
+ kernel, _ = urllib.urlretrieve(installer + "/netboot/xen/vmlinuz")
+ ramdisk, _ = urllib.urlretrieve(installer + "/netboot/xen/initrd.gz")
+
+ if xm_vars.env['install-extra']:
+ extras=[xm_vars.env['install-extra']]
+ else:
+ extras=[]
+
+ # Reboot will just restart the installer since this file is not
+ # reparsed, so halt and restart that way.
+ extras.append("debian-installer/exit/always_halt=true")
+ extras.append("--")
+ extras.append("quiet")
+
+ try:
+ vfb
+ except NameError, e:
+ extras.append("console=hvc0")
+
+ extra = str.join(" ", extras)
+ print "command line is \"%s\"" % extra
Property changes on: boot/x86/xm-debian.cfg
___________________________________________________________________
Added: svn:mergeinfo
Index: config/x86.cfg
===================================================================
--- config/x86.cfg (revision 54659)
+++ config/x86.cfg (working copy)
@@ -16,6 +16,9 @@
# The directory boot screens for syslinux will go in.
BOOT_SCREEN_DIR =
+# Location for Xen example configuration.
+XENCFG = $(SOME_DEST)/$(EXTRANAME)xm-debian.cfg
+
# Compress binaries to save more space.
# Doesn't really save much since we gzip the image later though.
.PHONY: arch_tree
@@ -291,3 +294,9 @@
if [ -n "$(SPLASH_PNG)" ]; then \
cp $(SPLASH_PNG) $(TEMP_NETBOOT_DIR)/$(BOOT_SCREEN_DIR)/splash.png; \
fi
+
+.PHONY: xen_config
+xen_config:
+ install -m 644 boot/x86/xm-debian.cfg $(XENCFG)
+ update-manifest $(XENCFG) $(MANIFEST-XENCFG)
+
Index: config/i386/netboot-xen.cfg
===================================================================
--- config/i386/netboot-xen.cfg (revision 54659)
+++ config/i386/netboot-xen.cfg (working copy)
@@ -2,6 +2,7 @@
TYPE=netboot
include config/i386/netboot.cfg
EXTRANAME=netboot/xen/
-MANIFEST-NETBOOT_DIR = "PXE boot directory for tftp server (Xen)"
-MANIFEST-NETBOOT_TAR = "tarball of PXE boot directory (Xen)"
-MANIFEST-MINIISO = "tiny CD image that boots the netboot installer (Xen)"
+MANIFEST-KERNEL = "kernel image for installing under Xen"
+MANIFEST-INITRD = "initrd for installing under Xen"
+MANIFEST-XENCFG = "example Xen configuration"
+TARGET = $(KERNEL) $(INITRD) xen_config
Attachment:
signature.asc
Description: This is a digitally signed message part