Hello community, here is the log from the commit of package xen checked in at Tue Apr 4 02:04:24 CEST 2006. -------- --- arch/i386/xen/xen.changes 2006-03-25 02:13:48.000000000 +0100 +++ xen/xen.changes 2006-04-04 01:26:11.000000000 +0200 @@ -1,0 +2,9 @@ +Tue Apr 4 01:24:01 CEST 2006 - garloff@suse.de + +- init script: Test for control_d in capabilities to determine dom0 + rather than privcmd. +- init script: Try loading netloop and backend modules. +- mk-xen-rescue-img.sh: Copy frontend drivers, remove stale files. +- example config files: provide commented out domUloader exmaples. + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xen.spec ++++++ --- /var/tmp/diff_new_pack.hsX6w6/_old 2006-04-04 02:03:59.000000000 +0200 +++ /var/tmp/diff_new_pack.hsX6w6/_new 2006-04-04 02:03:59.000000000 +0200 @@ -19,7 +19,7 @@ %define with_pygrub 1 %define xen_build_dir xen-unstable Version: 3.0.2_09434 -Release: 1 +Release: 2 License: GPL Group: System/Kernel Autoreqprov: on @@ -71,7 +71,7 @@ multiple guest operating systems with unprecedented levels of performance and resource isolation. -This package contains the Xen Hypervisor. +This package contains the Xen Hypervisor. (tm) Modern computers are sufficiently powerful to use virtualization to present the illusion of many smaller virtual machines (VMs), each @@ -107,6 +107,8 @@ using full virtualization, if appropriate hardware is present. Install xen-tools-ioemu if you want to use this. +[Hypervisor is a trademark of IBM] + Authors: @@ -721,6 +723,12 @@ %{insserv_cleanup} %changelog -n xen +* Tue Apr 04 2006 - garloff@suse.de +- init script: Test for control_d in capabilities to determine dom0 + rather than privcmd. +- init script: Try loading netloop and backend modules. +- mk-xen-rescue-img.sh: Copy frontend drivers, remove stale files. +- example config files: provide commented out domUloader exmaples. * Thu Mar 23 2006 - ccoffing@novell.com - Update to hg 9434 (xen-unstable tree; 3.0.2-rc). - Fix /etc/xen/scripts/block to properly check if devices can be ++++++ README.SuSE ++++++ --- arch/i386/xen/README.SuSE 2006-03-16 23:59:33.000000000 +0100 +++ xen/README.SuSE 2006-04-04 01:21:25.000000000 +0200 @@ -5,7 +5,8 @@ For more in-depth documentation of using Xen on SUSE, consult the virtualization chapter in the SLES or SUSE Linux manual. For more complete -documentation on Xen itself, please install one of the xen-doc-* packages. +documentation on Xen itself, please install one of the xen-doc-* packages +and read the documentation installed into /usr/share/doc/packages/xen/. About @@ -352,7 +353,7 @@ into /etc/modprobe.conf.local in dom0. Similarly, the netback driver comes up with 8 virtual network device -paris (vif0.X - vethX); you can change this by placing the netback +pairs (vif0.X - vethX); you can change this by placing the netloop's nloopbacks=N parameter to the kernel/module. ++++++ init.xend ++++++ --- arch/i386/xen/init.xend 2006-03-08 19:52:19.000000000 +0100 +++ xen/init.xend 2006-04-04 01:20:28.000000000 +0200 @@ -43,16 +43,17 @@ } if [ "$1" == status ]; then - if [ ! -e /proc/xen/privcmd ]; then + if [ ! -e /proc/xen/capabilities ]; then xend_abort 3 fi else if [ `id -u` != 0 ]; then xend_abort 4 fi - if [ ! -e /proc/xen/privcmd ]; then + if [ ! -e /proc/xen/capabilities ] || + ! grep control_d /proc/xen/capabilities >/dev/null 2>&1; then if [ "$1" == stop ] || - [ "$1" == restart ]; then + [ "$1" == try-restart ]; then xend_abort 0 else xend_abort 6 @@ -70,6 +71,15 @@ if [ ! -z "$XEND" ]; then echo -n "(already running pid $XEND) " fi + # Load XEN backend modules + # Sidenote: They could be loaded later: + # - netloop at network-bridge init time + # - netbk and blkbk when the dom0 hotplug events occur + # (in xen-network-common.sh and block-common.sh) + # but for now it's safest to have them loaded when xend starts in dom0. + modprobe netloop 2>/dev/null || true + modprobe netbk 2>/dev/null || true + modprobe blkbk 2>/dev/null || true xend start await_daemons_up ;; @@ -83,13 +93,16 @@ rc_reset else echo -n "(pid $XEND) " + unset sysrq_sent while read nm id mem vcpu state time; do if [ $id = 0 ]; then continue; fi + sysrq_sent=1 echo -en "\n Warning: Domain $nm (ID $id) still up ($state)" # Domains should be closed down by xendomains; anyway, send # SysRq-S to avoid the worst in case domains are not shut down. xm sysrq $id s done < <(xm list | grep -v ^Name) + if [ -n "$sysrq_sent" ]; then sleep 1; fi xend stop killall xenconsoled >/dev/null 2>&1 killall xenstored >/dev/null 2>&1 ++++++ mk-xen-rescue-img.sh ++++++ --- arch/i386/xen/mk-xen-rescue-img.sh 2006-03-09 00:56:28.000000000 +0100 +++ xen/mk-xen-rescue-img.sh 2006-04-04 01:16:18.000000000 +0200 @@ -197,14 +197,23 @@ cp -p $KMODDIR/drivers/base/firmware_class.ko "$DST_MNT"$KMODDIR/drivers/base/ mkdir -p "$DST_MNT"$KMODDIR/drivers/md cp -p $KMODDIR/drivers/md/*.ko "$DST_MNT"$KMODDIR/drivers/md/ + mkdir -p "$DST_MNT"$KMODDIR/drivers/xen + for dir in $KMODDIR/drivers/xen/*front; do + cp -ax $dir "$DST_MNT"$KMODDIR/drivers/xen/ + done if test -e $KMODDIR/kernel; then mkdir -p "$DST_MNT"$KMODDIR/kernel cp -ax $KMODDIR/kernel/* "$DST_MNT"$KMODDIR/kernel/ fi # Kernel image + System.map mkdir -p "$DST_MNT"/boot + rm -f "$DST_MNT"/boot/vmlinuz-* "$DST_MNT"/boot/System.map-* "$DST_MNT"/boot/initrd-* cp -p /boot/vmlinuz-$KVER "$DST_MNT"/boot/ - cp -p /boot/initrd-$KVER "$DST_MNT"/boot/ + if test -e /boot/initrd-$KVER-domU; then + cp -p /boot/initrd-$KVER-domU "$DST_MNT"/boot/initrd-$KVER + else + cp -p /boot/initrd-$KVER "$DST_MNT"/boot/ + fi cp -p /boot/System.map-$KVER "$DST_MNT"/boot/ depmod -a $KVER -b "$DST_MNT" -F "$DST_MNT"/boot/System.map-$KVER ++++++ xen-xmexample.diff ++++++ --- /var/tmp/diff_new_pack.hsX6w6/_old 2006-04-04 02:03:59.000000000 +0200 +++ /var/tmp/diff_new_pack.hsX6w6/_new 2006-04-04 02:03:59.000000000 +0200 @@ -4,58 +4,86 @@ =================================================================== --- xen-unstable.orig/tools/examples/xmexample1 +++ xen-unstable/tools/examples/xmexample1 -@@ -8,10 +8,10 @@ +@@ -6,13 +6,16 @@ + # you can set the parameters for the domain on the xm command line. + #============================================================================ #---------------------------------------------------------------------------- - # Kernel image file. +-# Kernel image file. -kernel = "/boot/vmlinuz-2.6.10-xenU" -+kernel = "/boot/vmlinuz-xen" - - # Optional ramdisk. +- +-# Optional ramdisk. -#ramdisk = "/boot/initrd.gz" ++# Kernel image file and (optional) ramdisk (initrd). ++kernel = "/boot/vmlinuz-xen" +ramdisk = "/boot/initrd-xen" ++ ++# Or use domUloader instead of kernel/ramdisk to get kernel from domU FS ++#bootloader = "/usr/lib/xen/boot/domUlaoder.py" ++#bootentry = "hda2:/vmlinuz-xen,/initrd-xen" ++#bootentry = "/boot/vmlinuz-xen,/boot/initrd-xen" # The domain build function. Default is 'linux'. #builder='linux' + Index: xen-unstable/tools/examples/xmexample2 =================================================================== --- xen-unstable.orig/tools/examples/xmexample2 +++ xen-unstable/tools/examples/xmexample2 -@@ -36,10 +36,10 @@ xm_vars.check() +@@ -34,13 +34,16 @@ xm_vars.var('vmid', + # Check the defined variables have valid values.. + xm_vars.check() #---------------------------------------------------------------------------- - # Kernel image file. +-# Kernel image file. -kernel = "/boot/vmlinuz-2.6.10-xenU" -+kernel = "/boot/vmlinuz-xen" - - # Optional ramdisk. +- +-# Optional ramdisk. -#ramdisk = "/boot/initrd.gz" ++# Kernel image file and (optional) ramdisk (initrd). ++kernel = "/boot/vmlinuz-xen" +ramdisk = "/boot/initrd-xen" ++ ++# Or use domUloader instead of kernel/ramdisk to get kernel from domU FS ++#bootloader = "/usr/lib/xen/boot/domUlaoder.py" ++#bootentry = "hda2:/vmlinuz-xen,/initrd-xen" ++#bootentry = "/boot/vmlinuz-xen,/boot/initrd-xen" # The domain build function. Default is 'linux'. #builder='linux' + Index: xen-unstable/tools/examples/xmexample3 =================================================================== --- xen-unstable.orig/tools/examples/xmexample3 +++ xen-unstable/tools/examples/xmexample3 -@@ -36,10 +36,10 @@ xm_vars.check() +@@ -34,13 +34,16 @@ xm_vars.var('vmid', + # Check the defined variables have valid values.. + xm_vars.check() #---------------------------------------------------------------------------- - # Kernel image file. +-# Kernel image file. -kernel = "/path/to/domU/kernel" -+kernel = "/boot/vmlinuz-xen" - - # Optional ramdisk. +- +-# Optional ramdisk. -#ramdisk = "/boot/initrd.gz" ++# Kernel image file and (optional) ramdisk (initrd). ++kernel = "/boot/vmlinuz-xen" +ramdisk = "/boot/initrd-xen" ++ ++# Or use domUloader instead of kernel/ramdisk to get kernel from domU FS ++#bootloader = "/usr/lib/xen/boot/domUlaoder.py" ++#bootentry = "hda2:/vmlinuz-xen,/initrd-xen" ++#bootentry = "/boot/vmlinuz-xen,/boot/initrd-xen" # The domain build function. Default is 'linux'. #builder='linux' + Index: xen-unstable/tools/examples/xmexample.vti =================================================================== --- xen-unstable.orig/tools/examples/xmexample.vti +++ xen-unstable/tools/examples/xmexample.vti -@@ -44,7 +44,7 @@ vif = [ 'type=ioemu, bridge=xenbr0' ] +@@ -43,9 +43,9 @@ vif = [ 'type=ioemu, bridge=xenbr0' ] + # 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. #disk = [ 'phy:hda1,hda1,r' ] @@ -64,11 +92,13 @@ #---------------------------------------------------------------------------- # Set according to whether you want the domain restarted when it exits. + # The default is 'onreboot', which restarts the domain when it shuts down Index: xen-unstable/tools/examples/xmexample.hvm =================================================================== --- xen-unstable.orig/tools/examples/xmexample.hvm +++ xen-unstable/tools/examples/xmexample.hvm -@@ -58,7 +58,7 @@ vif = [ 'type=ioemu, bridge=xenbr0' ] +@@ -57,9 +57,9 @@ vif = [ 'type=ioemu, bridge=xenbr0' ] + # 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. #disk = [ 'phy:hda1,hda1,r' ] @@ -77,3 +107,4 @@ #---------------------------------------------------------------------------- # Configure the behaviour when a domain exits. There are three 'reasons' + # for a domain to stop: poweroff, reboot, and crash. For each of these you ++++++ xmexample.domUloader ++++++ --- arch/i386/xen/xmexample.domUloader 2006-01-21 01:10:53.000000000 +0100 +++ xen/xmexample.domUloader 2006-04-04 01:16:18.000000000 +0200 @@ -53,7 +53,8 @@ # This is a bootloader used to boot paravirtualized domains. You can # optionally plug in a different boot loader here, e.g., pygrub. There is -# usually no reason to change this. +# usually no reason to change this. Don't use kernel and ramdisk if you +# use a bootloader. bootloader = "/usr/lib/xen/boot/domUloader.py" # The domUloader will pull the specified kernel and initrd out of the domU's @@ -61,7 +62,9 @@ # keeping a copy of the kernel and initrd in sync in dom0's filesystem and # pointing to them with the "kernel" and "ramdisk" parameters. Syntax is # "VDEV:KERNEL,INITRD", where VDEV is the block device (from domU's point of -# view) within which KERNEL and INITRD can be found. +# view) within which KERNEL and INITRD can be found. VDEV is optional; if it's +# not specified, the root= parameter will be evaluated, /etc/fstab from the +# root FS be consulted and a path relative to the domU root FS be used. bootentry = "hda1:/boot/vmlinuz-xen,/boot/initrd-xen" #---------------------------------------------------------------------------- ++++++ xmexample.rescue ++++++ --- arch/i386/xen/xmexample.rescue 2006-03-08 00:17:03.000000000 +0100 +++ xen/xmexample.rescue 2006-04-04 01:23:01.000000000 +0200 @@ -21,18 +21,15 @@ xm_vars.check() #---------------------------------------------------------------------------- -# Bootloader, which extracts the kernel and ramdisk from the disk. -#bootloader = "/usr/lib/xen/boot/domUloader.py" - -# The locations of the kernel and ramdisk to be extracted by the bootloader. -#bootentry = "hda1:/boot/vmlinuz-xen,/boot/initrd-xen" - -# Kernel image file. +# Kernel image file and (optional) ramdisk (initrd). kernel = "/boot/vmlinuz-xen" - -# Optional ramdisk. ramdisk = "/boot/initrd-xen" +# Or use domUloader instead of kernel/ramdisk to get kernel from domU FS +#bootloader = "/usr/lib/xen/boot/domUlaoder.py" +#bootentry = "hda2:/vmlinuz-xen,/initrd-xen" +#bootentry = "/boot/vmlinuz-xen,/boot/initrd-xen" + # The domain build function. Default is 'linux'. #builder='linux' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun...