From owner-freebsd-xen@FreeBSD.ORG Mon Feb 6 11:07:19 2012 Return-Path: Delivered-To: freebsd-xen@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 24F5D1065689 for ; Mon, 6 Feb 2012 11:07:19 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id ED75D8FC18 for ; Mon, 6 Feb 2012 11:07:18 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.5/8.14.5) with ESMTP id q16B7IOD008027 for ; Mon, 6 Feb 2012 11:07:18 GMT (envelope-from owner-bugmaster@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.5/8.14.5/Submit) id q16B7IKd008025 for freebsd-xen@FreeBSD.org; Mon, 6 Feb 2012 11:07:18 GMT (envelope-from owner-bugmaster@FreeBSD.org) Date: Mon, 6 Feb 2012 11:07:18 GMT Message-Id: <201202061107.q16B7IKd008025@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: gnats set sender to owner-bugmaster@FreeBSD.org using -f From: FreeBSD bugmaster To: freebsd-xen@FreeBSD.org Cc: Subject: Current problem reports assigned to freebsd-xen@FreeBSD.org X-BeenThere: freebsd-xen@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion of the freebsd port to xen - implementation and usage List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Feb 2012 11:07:19 -0000 Note: to view an individual PR, use: http://www.freebsd.org/cgi/query-pr.cgi?pr=(number). The following is a listing of current problems submitted by FreeBSD users. These represent problem reports covering all versions including experimental development code and obsolete releases. S Tracker Resp. Description -------------------------------------------------------------------------------- o kern/164630 xen [xen] XEN HVM kernel: run_interrupt_driven_hooks: stil o kern/164450 xen [xen] Failed to install FreeeBSD 9.0-RELEASE from CD i o kern/162677 xen [xen] FreeBSD not compatible with "Current Stable Xen" o kern/161318 xen [xen] sysinstall crashes with floating point exception o kern/155468 xen [xen] Xen PV i386 multi-kernel CPU system is not worki o kern/155353 xen [xen] [patch] put "nudging TOD" message under boot_ver o kern/154833 xen [xen]: xen 4.0 - DomU freebsd8.2RC3 i386, XEN kernel. o kern/154473 xen [xen] xen 4.0 - DomU freebsd8.1 i386, XEN kernel. Not o kern/154472 xen [xen] xen 4.0 - DomU freebsd8.1 i386 xen kernel reboot o kern/154428 xen [xen] xn0 network interface and PF - Massive performan o kern/153674 xen [xen] i386/XEN idle thread shows wrong percentages o kern/153672 xen [xen] [panic] i386/XEN panics under heavy fork load o kern/153620 xen [xen] Xen guest system clock drifts in AWS EC2 (FreeBS o kern/153477 xen [xen] XEN pmap code abuses vm page queue lock o kern/153150 xen [xen] xen/ec2: disable checksum offloading on interfac o kern/152228 xen [xen] [panic] Xen/PV panic with machdep.idle_mwait=1 o kern/144629 xen [xen] FreeBSD 8-RELEASE XEN pvm networking doesn't wor o kern/143398 xen [xen] FreeBSD 8-RELEASE XEN pvm networking doesn't wor o kern/143340 xen [xen] FreeBSD 8-RELEASE XEN pvm networking doesn't wor f kern/143069 xen [xen] [panic] Xen Kernel Panic - Memory modified after f kern/135667 xen ufs filesystem corruption on XEN DomU system f kern/135421 xen [xen] FreeBSD Xen PVM DomU network failure - netfronc. f kern/135178 xen [xen] Xen domU outgoing data transfer stall when TSO i p kern/135069 xen [xen] FreeBSD-current/Xen SMP doesn't function at all f i386/124516 xen [xen] FreeBSD-CURRENT Xen Kernel Segfaults when config o kern/118734 xen [xen] FreeBSD 6.3-RC1 and FreeBSD 7.0-BETA 4 fail to b 26 problems total. From owner-freebsd-xen@FreeBSD.ORG Sat Feb 11 17:41:09 2012 Return-Path: Delivered-To: freebsd-xen@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 55D061065672 for ; Sat, 11 Feb 2012 17:41:09 +0000 (UTC) (envelope-from trix@basement.net) Received: from anya.basement.net (vt42.crimsonhexagon.com [66.135.63.193]) by mx1.freebsd.org (Postfix) with ESMTP id BA4D38FC12 for ; Sat, 11 Feb 2012 17:41:08 +0000 (UTC) Received: from willow.basement.net (home.basement.net [173.162.16.100]) by anya.basement.net (8.13.8/8.13.8) with ESMTP id q1BGtj70011506; Sat, 11 Feb 2012 10:59:45 -0600 Received: from willow.basement.net (localhost [127.0.0.1]) by willow.basement.net (8.14.5/8.14.5) with ESMTP id q1BGtjUE071320; Sat, 11 Feb 2012 10:55:45 -0600 (CST) (envelope-from trix@willow.basement.net) Received: (from trix@localhost) by willow.basement.net (8.14.5/8.14.5/Submit) id q1BGtifP071319; Sat, 11 Feb 2012 10:55:45 -0600 (CST) (envelope-from trix) Date: Sat, 11 Feb 2012 10:55:44 -0600 From: Trix Farrar To: FreeBSD Xen , Xen-Users Message-ID: <20120211165544.GA71096@basement.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="BXVAT5kNtrzKuDFl" Content-Disposition: inline User-Agent: Mutt/1.4.2.3i X-Crypto: gpg (GnuPG) 2.0.16 Cc: Subject: 9.0-RELEASE PV from scratch on XCP v1.1.0 X-BeenThere: freebsd-xen@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion of the freebsd port to xen - implementation and usage List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Feb 2012 17:41:09 -0000 --BXVAT5kNtrzKuDFl Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Title: HOWTO-FreeBSD-on-XCP Author: John D. "Trix" Farrar Date: 2012-02-09 * The Challenge - ParaVirtualized FreeBSD 9.0-RELEASE under XCP 1.1.0 The idea here is to create a PV FreeBSD VM under Xen Cloud Platform (XCP) without starting with an HVM first. The documentation I''ve been able to find on-line is at least a year old and is mostly written for Xen (under Linux or NetBSD) rather than XCP. To make things more interesting, the hardware on which I have XCP installed doesn''t support Hardware Virtualization -- so I can''t just install an HVM and convert it over. A PV under XCP means using pygrub as a bootloader to load the FreeBSD kernel. It seems that pygrub doesn''t know enough about BSD disk slices and partitions to be able to find the kernel on its own, so it will need a patch This solution isn''t perfect, but I think it''s a good start. * The Equipment Yes, my hardware is old/cheap. * Xen Cloud Platform server - XCP v1.1.0 * Build Server - FreeBSD 9.0-RELEASE (32-bit) * NFS Server - anything w/ enough space. Can be the Build Server. (should NOT be the XCP Server) * The Process * Patching pygrub Adrian Chadd (http://wiki.freebsd.org/AdrianChadd/XenHackery) did a great job laying the groundwork for a Xen (not XCP) installation. I also got a lot of help from Adian''s patch to pygrub at http://people.freebsd.org/~adrian/xen/bsd_pygrub/. The problem is that Adrian''s patch "is against the pygrub shipped with the xen-3.0.3-80.el5_3.2 CentOS 5.3 package." Using Adrian''s patch, I wsa able to create a patch against the pygrub shipped with XCP v1.1.0: ==BEGIN== Patch attached. ===END=== * Creating a disk image I mounted an exported filesystem from the NFS server so that I would have a large, sharable space in which to place the disk image. This space is also mounted on the XCP server. In both cases, the NFS filesystem is mounted under /mnt. The following steps are taken on the BUILD host where /usr/src has already been compiled with buiidworld and buildkernel targets. ==BEGIN== export FSIMAGE="FreeBSD-PV.img" truncate -s 10G /mnt/${FSIMAGE} # Create the file where the image will reside. mdconfig -a -t vnode -f /mnt/${FSIMAGE} -u 0 # Create the image itself fdisk -BI md0 # Write the DOS partition table # Create an inital BSD Label # For testing, we'll assume one large partition bsdlabel -w -B md0s1 bsdlabel -e md0s1 # Change partition a from 'unused' to '4.2BSD' newfs -O1 /dev/md0s1a # UFS, because pygrub doesn't grok UFS2 # Mount up the image and do the installation mount /dev/md0s1a /media # Perform the installation to the disk image. cd /usr/src make -s DESTDIR=/media KERNCONF=XEN installworld make -s DESTDIR=/media KERNCONF=XEN installkernel make -s DESTDIR=/media KERNCONF=XEN distribution # Set up the ttys(5) file so the VM will use Xen's console. cat >>/media/etc/ttys <>/media/etc/fstab <>/media/etc/rc.conf <>xcp-optionb-bsdlabel.txt <>/media/etc/ttys <>/media/etc/fstab <>/media/etc/rc.conf <>sys.stderr, "get_freebsd_slice: file : %s" % file + print >>sys.stderr, "get_freebsd_slice: offset: %s" % offset + + fd = os.open(file, os.O_RDONLY) + os.lseek(fd, offset + (SECTOR_SIZE * BSD_LABEL_LABELSECTOR) + BSD_LABEL_LABELOFFSET, 0) + buf = os.read(fd, 1024) + + # Check the magic - is it a valid disklabel? if not, barf + bsd_d_magic = struct.unpack(">sys.stderr, "bsd magic: %s" % bsd_d_magic + print >>sys.stderr, "needed magic: %s" % BSD_LABEL_DISKMAGIC + if bsd_d_magic <> BSD_LABEL_DISKMAGIC: + raise RuntimeError, "FreeBSD label diskmagic incorrect" + + # Get sectorsize - does it make sense? If not, barf + bsd_d_secsize = struct.unpack(">sys.stderr, "bsd sector size: %s" % bsd_d_secsize + + # Get the first partition - is it the right type? If not, barf + bsd_d_npartitions = struct.unpack(">sys.stderr, "bsd number of partitions: %s" % bsd_d_npartitions + + # Grab the filesystem offset in sectors + bsd_d_part_offset = get_freebsd_partition_offset(buf, 0) + bsd_d_part_size = get_freebsd_partition_size(buf, 0) + bsd_d_part_fstype = get_freebsd_partition_fstype(buf, 0) + print >>sys.stderr, "bsd partition 0 offset: %s" % bsd_d_part_offset + print >>sys.stderr, "bsd partition 0 size : %s" % bsd_d_part_size + print >>sys.stderr, "bsd partition 0 type : %s" % bsd_d_part_fstype + + if bsd_d_part_fstype <> BSD_FS_BSDFFS: + raise RuntimeError, "First BSD partition is not type BSDFFS (7)" + + # XXX one should now verify that the given partition size and offset fall within the disk size.. + + # Calculate the filesystem offset, return that + return (bsd_d_part_offset * bsd_d_secsize) + + def get_fs_offset_gpt(file): fd = os.open(file, os.O_RDONLY) # assume the first partition is an EFI system partition. @@ -81,9 +185,11 @@ buf = os.read(fd, 512) return struct.unpack(">sys.stderr, "BAIL! I don't know what to do!" + sys.exit(1) + if type == FDISK_PART_GPT: offset = get_fs_offset_gpt(file) @@ -620,7 +733,7 @@ ["quiet", "interactive", "not-really", "help", "output=", "entry=", "kernel=", "ramdisk=", "args=", "default_args=", - "extra_args=", "vm="]) + "extra_args=", "vm=", "debug"]) except getopt.GetoptError: usage() sys.exit(1) @@ -633,6 +746,7 @@ output = None entry = None interactive = True + debug = False not_really = False default_args = "" extra_args = "" @@ -654,6 +768,8 @@ sys.exit() elif o in ("-n", "--not-really"): not_really = True + elif o in ("--debug"): + debug = True elif o in ("--output",): output = a elif o in ("--kernel",): @@ -671,6 +787,9 @@ elif o in ("--extra_args",): extra_args = a + if debug: + logging.basicConfig(level=logging.DEBUG) + if output is None or output == "-": fd = sys.stdout.fileno() else: @@ -700,6 +819,11 @@ except: # IOErrors raised by fsimage.open # RuntimeErrors raised by run_grub if no menu.lst present + if debug: + traceback.print_exc() + print >>sys.stderr, "Filename: %s" % file + print >>sys.stderr, "Offset : %s" % offset + print >>sys.stderr, "Options : %s" % bootfsoptions fs = None continue else: @@ -738,6 +862,8 @@ except: # IOErrors raised by fsimage.open # RuntimeErrors raised by run_grub if no menu.lst present + if debug: + traceback.print_exc() fs = None continue --BXVAT5kNtrzKuDFl Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="pygrub.xcp-ufs-debug.patch.sig" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (FreeBSD) iEYEABECAAYFAk80D8oACgkQOEu4UTzvwQpIfACbBF4P6E+3g1ESHv182EquFbyi Dn4An1MTbrOynH9ui85xCk31PukepmSS =XwGn -----END PGP SIGNATURE----- --BXVAT5kNtrzKuDFl-- From owner-freebsd-xen@FreeBSD.ORG Sat Feb 11 17:41:10 2012 Return-Path: Delivered-To: freebsd-xen@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9EDC21065675 for ; Sat, 11 Feb 2012 17:41:10 +0000 (UTC) (envelope-from trix@basement.net) Received: from anya.basement.net (vt42.crimsonhexagon.com [66.135.63.193]) by mx1.freebsd.org (Postfix) with ESMTP id 664C78FC15 for ; Sat, 11 Feb 2012 17:41:09 +0000 (UTC) Received: from willow.basement.net (home.basement.net [173.162.16.100]) by anya.basement.net (8.13.8/8.13.8) with ESMTP id q1BGvBqZ011509; Sat, 11 Feb 2012 11:01:11 -0600 Received: from willow.basement.net (localhost [127.0.0.1]) by willow.basement.net (8.14.5/8.14.5) with ESMTP id q1BGvBS7071335; Sat, 11 Feb 2012 10:57:11 -0600 (CST) (envelope-from trix@willow.basement.net) Received: (from trix@localhost) by willow.basement.net (8.14.5/8.14.5/Submit) id q1BGvBxp071334; Sat, 11 Feb 2012 10:57:11 -0600 (CST) (envelope-from trix) Date: Sat, 11 Feb 2012 10:57:11 -0600 From: Trix Farrar To: FreeBSD Xen , Xen-Users Message-ID: <20120211165711.GB71096@basement.net> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="O3RTKUHj+75w1tg5" Content-Disposition: inline User-Agent: Mutt/1.4.2.3i Cc: Subject: 9.0-RELEASE PV from scratch on XCP v1.1.0 X-BeenThere: freebsd-xen@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion of the freebsd port to xen - implementation and usage List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Feb 2012 17:41:10 -0000 --O3RTKUHj+75w1tg5 Content-Type: multipart/mixed; boundary="WYTEVAkct0FjGQmd" Content-Disposition: inline --WYTEVAkct0FjGQmd Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Apologies for the re-post. Forgot to sign original. -Trx Title: HOWTO-FreeBSD-on-XCP Author: John D. "Trix" Farrar Date: 2012-02-09 * The Challenge - ParaVirtualized FreeBSD 9.0-RELEASE under XCP 1.1.0 The idea here is to create a PV FreeBSD VM under Xen Cloud Platform (XCP) without starting with an HVM first. The documentation I''ve been able to find on-line is at least a year old and is mostly written for Xen (under Linux or NetBSD) rather than XCP. To make things more interesting, the hardware on which I have XCP installed doesn''t support Hardware Virtualization -- so I can''t just install an HVM and convert it over. A PV under XCP means using pygrub as a bootloader to load the FreeBSD kernel. It seems that pygrub doesn''t know enough about BSD disk slices and partitions to be able to find the kernel on its own, so it will need a patch This solution isn''t perfect, but I think it''s a good start. * The Equipment Yes, my hardware is old/cheap. * Xen Cloud Platform server - XCP v1.1.0 * Build Server - FreeBSD 9.0-RELEASE (32-bit) * NFS Server - anything w/ enough space. Can be the Build Server. (should NOT be the XCP Server) * The Process * Patching pygrub Adrian Chadd (http://wiki.freebsd.org/AdrianChadd/XenHackery) did a great job laying the groundwork for a Xen (not XCP) installation. I also got a lot of help from Adian''s patch to pygrub at http://people.freebsd.org/~adrian/xen/bsd_pygrub/. The problem is that Adrian''s patch "is against the pygrub shipped with the xen-3.0.3-80.el5_3.2 CentOS 5.3 package." Using Adrian''s patch, I wsa able to create a patch against the pygrub shipped with XCP v1.1.0: =3D=3DBEGIN=3D=3D Patch attached. =3D=3D=3DEND=3D=3D=3D =20 * Creating a disk image I mounted an exported filesystem from the NFS server so that I would have a large, sharable space in which to place the disk image. This space is also mounted on the XCP server. In both cases, the NFS filesystem is mounted under /mnt. The following steps are taken on the BUILD host where /usr/src has already been compiled with buiidworld and buildkernel targets. =3D=3DBEGIN=3D=3D export FSIMAGE=3D"FreeBSD-PV.img" truncate -s 10G /mnt/${FSIMAGE} # Create the file where the im= age will reside. mdconfig -a -t vnode -f /mnt/${FSIMAGE} -u 0 # Create the image itself fdisk -BI md0 # Write the DOS partition table # Create an inital BSD Label=20 # For testing, we'll assume one large partition bsdlabel -w -B md0s1 bsdlabel -e md0s1 # Change partition a from 'unused' to '4.2BSD' newfs -O1 /dev/md0s1a # UFS, because pygrub doesn't grok UFS2 # Mount up the image and do the installation mount /dev/md0s1a /media # Perform the installation to the disk image. cd /usr/src make -s DESTDIR=3D/media KERNCONF=3DXEN installworld make -s DESTDIR=3D/media KERNCONF=3DXEN installkernel make -s DESTDIR=3D/media KERNCONF=3DXEN distribution # Set up the ttys(5) file so the VM will use Xen's console. cat >>/media/etc/ttys <>/media/etc/fstab <>/media/etc/rc.conf <>xcp-optionb-bsdlabel.txt <>/media/etc/ttys <>/media/etc/fstab <>/media/etc/rc.conf <>sys.stderr, "get_freebsd_slice: file : %s" % file + print >>sys.stderr, "get_freebsd_slice: offset: %s" % offset + + fd =3D os.open(file, os.O_RDONLY) + os.lseek(fd, offset + (SECTOR_SIZE * BSD_LABEL_LABELSECTOR) + BSD_LABE= L_LABELOFFSET, 0) + buf =3D os.read(fd, 1024) + + # Check the magic - is it a valid disklabel? if not, barf + bsd_d_magic =3D struct.unpack(">sys.stderr, "bsd magic: %s" % bsd_d_magic + print >>sys.stderr, "needed magic: %s" % BSD_LABEL_DISKMAGIC + if bsd_d_magic <> BSD_LABEL_DISKMAGIC: + raise RuntimeError, "FreeBSD label diskmagic incorrect" + + # Get sectorsize - does it make sense? If not, barf + bsd_d_secsize =3D struct.unpack(">sys.stderr, "bsd sector size: %s" % bsd_d_secsize + + # Get the first partition - is it the right type? If not, barf + bsd_d_npartitions =3D struct.unpack(">sys.stderr, "bsd number of partitions: %s" % bsd_d_npartitions + + # Grab the filesystem offset in sectors + bsd_d_part_offset =3D get_freebsd_partition_offset(buf, 0) + bsd_d_part_size =3D get_freebsd_partition_size(buf, 0) + bsd_d_part_fstype =3D get_freebsd_partition_fstype(buf, 0) + print >>sys.stderr, "bsd partition 0 offset: %s" % bsd_d_part_offset + print >>sys.stderr, "bsd partition 0 size : %s" % bsd_d_part_size + print >>sys.stderr, "bsd partition 0 type : %s" % bsd_d_part_fstype + + if bsd_d_part_fstype <> BSD_FS_BSDFFS: + raise RuntimeError, "First BSD partition is not type BSDFFS (7)" + + # XXX one should now verify that the given partition size and offset f= all within the disk size.. + + # Calculate the filesystem offset, return that + return (bsd_d_part_offset * bsd_d_secsize) + + def get_fs_offset_gpt(file): fd =3D os.open(file, os.O_RDONLY) # assume the first partition is an EFI system partition. @@ -81,9 +185,11 @@ buf =3D os.read(fd, 512) return struct.unpack(">sys.stderr, "BAIL! I don't know what to do!" + sys.exit(1) + if type =3D=3D FDISK_PART_GPT: offset =3D get_fs_offset_gpt(file) =20 @@ -620,7 +733,7 @@ ["quiet", "interactive", "not-really",= =20 "help", "output=3D", "entry=3D", "kern= el=3D",=20 "ramdisk=3D", "args=3D", "default_args= =3D",=20 - "extra_args=3D", "vm=3D"]) + "extra_args=3D", "vm=3D", "debug"]) except getopt.GetoptError: usage() sys.exit(1) @@ -633,6 +746,7 @@ output =3D None entry =3D None interactive =3D True + debug =3D False not_really =3D False default_args =3D "" extra_args =3D "" @@ -654,6 +768,8 @@ sys.exit() elif o in ("-n", "--not-really"): not_really =3D True + elif o in ("--debug"): + debug =3D True elif o in ("--output",): output =3D a elif o in ("--kernel",): @@ -671,6 +787,9 @@ elif o in ("--extra_args",): extra_args =3D a =20 + if debug: + logging.basicConfig(level=3Dlogging.DEBUG) + if output is None or output =3D=3D "-": fd =3D sys.stdout.fileno() else: @@ -700,6 +819,11 @@ except: # IOErrors raised by fsimage.open # RuntimeErrors raised by run_grub if no menu.lst present + if debug: + traceback.print_exc()=20 + print >>sys.stderr, "Filename: %s" % file + print >>sys.stderr, "Offset : %s" % offset + print >>sys.stderr, "Options : %s" % bootfsoptions fs =3D None continue else: @@ -738,6 +862,8 @@ except: # IOErrors raised by fsimage.open # RuntimeErrors raised by run_grub if no menu.lst present + if debug: + traceback.print_exc()=20 fs =3D None continue =20 --WYTEVAkct0FjGQmd Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="pygrub.xcp-ufs-debug.patch.sig" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (FreeBSD) iEYEABECAAYFAk80D8oACgkQOEu4UTzvwQpIfACbBF4P6E+3g1ESHv182EquFbyi Dn4An1MTbrOynH9ui85xCk31PukepmSS =XwGn -----END PGP SIGNATURE----- --WYTEVAkct0FjGQmd-- --O3RTKUHj+75w1tg5 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (FreeBSD) iEYEARECAAYFAk82necACgkQOEu4UTzvwQo1mQCghecWgvlYAYkwBanZD0yrXT/3 IZgAnj1l65FAEROUPL+REiBvLxLbVGD0 =UldF -----END PGP SIGNATURE----- --O3RTKUHj+75w1tg5-- From owner-freebsd-xen@FreeBSD.ORG Sat Feb 11 18:50:28 2012 Return-Path: Delivered-To: freebsd-xen@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7D5EA106564A for ; Sat, 11 Feb 2012 18:50:28 +0000 (UTC) (envelope-from baryluk@smp.if.uj.edu.pl) Received: from smp.if.uj.edu.pl (smp.if.uj.edu.pl [149.156.82.206]) by mx1.freebsd.org (Postfix) with ESMTP id 2FD888FC17 for ; Sat, 11 Feb 2012 18:50:27 +0000 (UTC) Received: from users.smp.if.uj.edu.pl (users.smp.if.uj.edu.pl [::ffff:10.0.1.244]) (TLS: TLSv1/SSLv3,256bits,AES256-SHA) by smp.if.uj.edu.pl with esmtp; Sat, 11 Feb 2012 19:50:25 +0100 id 00014261.4F36B871.00006D3F Received: from baryluk by users.smp.if.uj.edu.pl with local (Exim 4.72) (envelope-from ) id 1RwI1g-0007ns-0e; Sat, 11 Feb 2012 19:50:24 +0100 Date: Sat, 11 Feb 2012 19:50:23 +0100 From: Witold Baryluk To: Trix Farrar Message-ID: <20120211185023.GD9347@smp.if.uj.edu.pl> References: <20120211165711.GB71096@basement.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline In-Reply-To: <20120211165711.GB71096@basement.net> User-Agent: Mutt/1.5.20 (2009-06-14) Cc: FreeBSD Xen , Xen-Users Subject: Re: 9.0-RELEASE PV from scratch X-BeenThere: freebsd-xen@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion of the freebsd port to xen - implementation and usage List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Feb 2012 18:50:28 -0000 On 02-11 10:57, Trix Farrar wrote: > Apologies for the re-post. Forgot to sign original. -Trx > Hi, about 2 weeks ago I written how to install FreeBSD-9.0 on PV without any additional help. All I needed was: Linux + Xen dom0 (i386 without HVM is sufficient!) FreeBSD-9.0 installation ISO file [1] Xen-enabled domU Kernel image (I downloaded one from Debian/GNU Linux [2]) (I hope next FreeBSD release will include this be default on ISO itself) You basically needs to unpack kernel image somewhere (in Debian it unpacks automatically into /boot/). Then use something like this for installation configuration (using xm or xl toolstack, do not know how with xcp but should be equally easy) $ cat kfreebsd9.cfg name = "my-freebsd" kernel = "/boot/kfreebsd-9.0-1-xen.gz" extra = "vfs.root.mountfrom=cd9660:/dev/da1" memrory = 256 disks = [ "file:/home/kfreebsd9-disk1.img,sda,w" ,"file:/home/FreeBSD-9.0-RELEASE-i386-dvd1.iso,sdb,r" ] $ You then start it without problem as: $ xm-or-xl create kfreebsd.cfg -c installator will start without a problem, and will ask about console/terminal type, I was using 'ansi' which made cursor and installer work relativly good. After installation is done, before shuting down, remember to add xen console to /etc/inittab! Then shutdown domain, and change config file to: $ cat kfreebsd9.cfg name = "my-freebsd" kernel = "/boot/kfreebsd-9.0-1-xen.gz" extra = "vfs.root.mountfrom=ufs:/dev/da0p2" memrory = 256 disks = [ "file:/home/kfreebsd9-disk1.img,sda,w" ] $ Thats it: remove installation ISO file from disks, and change 'extra' parameter, to now boot from disk. You can now boot again: $ xm-or-xl create kfreebsd.cfg -c Thats all. Network configuration can be done also relativly easly after that. Hope this helps. [1] ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/i386/ISO-IMAGES/9.0/FreeBSD-9.0-RELEASE-i386-disc1.iso [2] Debian: apt-get install kfreebsd-image-9-xen # you can also try kfreebsd-image-10-xen on-Debian: go to http://packages.debian.org/sid/kfreebsd-image-9.0-1-xen , download section is on the bottom, you need i386, not kfreebsd-i386! -- Witold Baryluk