Anthony PERARD
2011-Oct-26 16:55 UTC
[Xen-devel] [PATCH] docs, Add HowTo use QEMU upstream.
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> --- docs/misc/qemu-upstream_howto_use_it.markdown | 122 +++++++++++++++++++++++++ 1 files changed, 122 insertions(+), 0 deletions(-) diff --git a/docs/misc/qemu-upstream_howto_use_it.markdown b/docs/misc/qemu-upstream_howto_use_it.markdown new file mode 100644 index 0000000..cdf920a --- /dev/null +++ b/docs/misc/qemu-upstream_howto_use_it.markdown @@ -0,0 +1,122 @@ +Help to use QEMU (upstream version) with Xen +===========================================+ +How to build it +--------------- + +### SeaBIOS + +This new device-model need a different bios, SeaBIOS. Clone the repository from: + + - git://git.qemu.org/seabios.git + - http://git.qemu.org/git/seabios.git + +Put the `.config` file in the appendix at the root of seabios.git and build SeaBIOS. + +In xen-unstable source tree, add the file `.config` with +`SEABIOS_DIR = /path/to/seabios.git`. +To build hvmloader with SeaBIOS, you propably need to `make -C tools/firmware +clean` first and then `make tools`, to use the new SEABIOS_DIR parameter. + + +### QEMU + +Get QEMU upstream source from: + + - git://xenbits.xensource.com/qemu-upstream-unstable.git + - http://xenbits.xensource.com/git-http/qemu-upstream-unstable.git + +To configure build QEMU upstream with Xen + + ./configure --enable-xen --target-list=i386-softmmu --extra-cflags="-I$path_to_xen_source/tools/include -I$path_to_xen_source/tools/libxc -I$path_to_xen_source/tools/xenstore" --extra-ldflags="-L$path_to_xen_source/tools/libxc -L$path_to_xen_source/tools/xenstore" + +You can also use other several options such as `--disable-kvm`. + + +How to use QEMU upstream +------------------------ + +Only xl support QEMU upstream. + +To actually use it, add or change this in your VM configuration file: + + device_model_version = ''qemu-xen'' + device_model_override = ''/path/to/qemu/i386-softmmu/qemu'' + +NB: On qemu-upstream repository, the default binary name have been renamed to +`qemu-system-i386`. + + +Appendix +------ + +### `.config` file for SeaBIOS + + # + # General Features + # + # CONFIG_COREBOOT is not set + CONFIG_XEN=y + CONFIG_THREADS=y + CONFIG_THREAD_OPTIONROMS=y + CONFIG_RELOCATE_INIT=y + CONFIG_BOOTMENU=y + CONFIG_BOOTMENU_WAIT=1000 + # CONFIG_BOOTSPLASH is not set + CONFIG_BOOTORDER=y + # + # Hardware support + # + CONFIG_ATA=y + CONFIG_ATA_DMA=y + CONFIG_ATA_PIO32=y + CONFIG_AHCI=y + CONFIG_VIRTIO_BLK=y + CONFIG_FLOPPY=y + CONFIG_PS2PORT=y + CONFIG_USB=y + CONFIG_USB_UHCI=y + CONFIG_USB_OHCI=y + CONFIG_USB_EHCI=y + CONFIG_USB_MSC=y + CONFIG_USB_HUB=y + CONFIG_USB_KEYBOARD=y + CONFIG_USB_MOUSE=y + CONFIG_SERIAL=y + CONFIG_LPT=y + # CONFIG_EXTRA_PCI_ROOTS is not set + # CONFIG_USE_SMM is not set + CONFIG_MTRR_INIT=y + # + # BIOS interfaces + # + CONFIG_DRIVES=y + # CONFIG_CDROM_BOOT is not set + CONFIG_PCIBIOS=y + CONFIG_APMBIOS=y + CONFIG_PNPBIOS=y + CONFIG_OPTIONROMS=y + # CONFIG_OPTIONROMS_DEPLOYED is not set + CONFIG_OPTIONROMS_CHECKSUM=y + CONFIG_PMM=y + CONFIG_BOOT=y + CONFIG_KEYBOARD=y + CONFIG_KBD_CALL_INT15_4F=y + CONFIG_MOUSE=y + CONFIG_S3_RESUME=y + # CONFIG_S3_RESUME_VGA_INIT is not set + # CONFIG_DISABLE_A20 is not set + # + # BIOS Tables + # + CONFIG_PIRTABLE=y + CONFIG_MPTABLE=y + CONFIG_SMBIOS=y + CONFIG_ACPI=y + # + # Debugging + # + CONFIG_DEBUG_LEVEL=3 + CONFIG_DEBUG_SERIAL=y + CONFIG_DEBUG_SERIAL_PORT=0x3f8 + # CONFIG_SCREEN_AND_DEBUG is not set -- tg: (440f4bd..) docs/qemu (depends on: master) _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Campbell
2011-Oct-27 10:05 UTC
Re: [Xen-devel] [PATCH] docs, Add HowTo use QEMU upstream.
I suppose a bunch of this becomes obsolete when Stefano''s patches to integrate SeaBIOS/qemu into the build land, but perhaps it is worth documenting the manual steps anyway? Is the plan to retire the wiki page? I don''t have much comment on the text other than spelling and some minor grammar. On Wed, 2011-10-26 at 17:55 +0100, Anthony PERARD wrote:> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> > > --- > docs/misc/qemu-upstream_howto_use_it.markdown | 122 +++++++++++++++++++++++++ > 1 files changed, 122 insertions(+), 0 deletions(-) > > diff --git a/docs/misc/qemu-upstream_howto_use_it.markdown b/docs/misc/qemu-upstream_howto_use_it.markdown > new file mode 100644 > index 0000000..cdf920a > --- /dev/null > +++ b/docs/misc/qemu-upstream_howto_use_it.markdown > @@ -0,0 +1,122 @@ > +Help to use QEMU (upstream version) with Xen > +===========================================> + > +How to build it > +--------------- > + > +### SeaBIOS > + > +This new device-model need a different bios, SeaBIOS. Clone the repository from:The needs BIOS It is usually "BIOS" not "bios", I think.> + > + - git://git.qemu.org/seabios.git > + - http://git.qemu.org/git/seabios.git > + > +Put the `.config` file in the appendix at the root of seabios.git and build SeaBIOS. > + > +In xen-unstable source tree, add the file `.config` with > +`SEABIOS_DIR = /path/to/seabios.git`. > +To build hvmloader with SeaBIOS, you propably need to `make -C tools/firmwareprobably> +clean` first and then `make tools`, to use the new SEABIOS_DIR parameter. > + > + > +### QEMU > + > +Get QEMU upstream source from: > + > + - git://xenbits.xensource.com/qemu-upstream-unstable.git > + - http://xenbits.xensource.com/git-http/qemu-upstream-unstable.git > + > +To configure build QEMU upstream with Xen > + > + ./configure --enable-xen --target-list=i386-softmmu --extra-cflags="-I$path_to_xen_source/tools/include -I$path_to_xen_source/tools/libxc -I$path_to_xen_source/tools/xenstore" --extra-ldflags="-L$path_to_xen_source/tools/libxc -L$path_to_xen_source/tools/xenstore" > +Perhaps wrap this somehow? Incidentally, would upstream accept a --xen-dir type option (or an argument to --enable-xen?) to which you could pass $path_to_xen_source and have it do all this automatically? Can you omit all that if you have installed Xen on the current host (i.e. pick all that up from /usr/{lib,include})?> +You can also use other several options such as `--disable-kvm`. > + > + > +How to use QEMU upstream > +------------------------ > + > +Only xl support QEMU upstream. > + > +To actually use it, add or change this in your VM configuration file: > + > + device_model_version = ''qemu-xen'' > + device_model_override = ''/path/to/qemu/i386-softmmu/qemu''This second one should become unnecessary (and unadvised) when Stefano''s build integration patches hit.> + > +NB: On qemu-upstream repository, the default binary name have been renamed tohas> +`qemu-system-i386`. > + > + > +Appendix > +------ > + > +### `.config` file for SeaBIOS > + > + # > + # General Features > + # > + # CONFIG_COREBOOT is not set > + CONFIG_XEN=y > + CONFIG_THREADS=y > + CONFIG_THREAD_OPTIONROMS=y > + CONFIG_RELOCATE_INIT=y > + CONFIG_BOOTMENU=y > + CONFIG_BOOTMENU_WAIT=1000 > + # CONFIG_BOOTSPLASH is not set > + CONFIG_BOOTORDER=y > + # > + # Hardware support > + # > + CONFIG_ATA=y > + CONFIG_ATA_DMA=y > + CONFIG_ATA_PIO32=y > + CONFIG_AHCI=y > + CONFIG_VIRTIO_BLK=y > + CONFIG_FLOPPY=y > + CONFIG_PS2PORT=y > + CONFIG_USB=y > + CONFIG_USB_UHCI=y > + CONFIG_USB_OHCI=y > + CONFIG_USB_EHCI=y > + CONFIG_USB_MSC=y > + CONFIG_USB_HUB=y > + CONFIG_USB_KEYBOARD=y > + CONFIG_USB_MOUSE=y > + CONFIG_SERIAL=y > + CONFIG_LPT=y > + # CONFIG_EXTRA_PCI_ROOTS is not set > + # CONFIG_USE_SMM is not set > + CONFIG_MTRR_INIT=y > + # > + # BIOS interfaces > + # > + CONFIG_DRIVES=y > + # CONFIG_CDROM_BOOT is not set > + CONFIG_PCIBIOS=y > + CONFIG_APMBIOS=y > + CONFIG_PNPBIOS=y > + CONFIG_OPTIONROMS=y > + # CONFIG_OPTIONROMS_DEPLOYED is not set > + CONFIG_OPTIONROMS_CHECKSUM=y > + CONFIG_PMM=y > + CONFIG_BOOT=y > + CONFIG_KEYBOARD=y > + CONFIG_KBD_CALL_INT15_4F=y > + CONFIG_MOUSE=y > + CONFIG_S3_RESUME=y > + # CONFIG_S3_RESUME_VGA_INIT is not set > + # CONFIG_DISABLE_A20 is not set > + # > + # BIOS Tables > + # > + CONFIG_PIRTABLE=y > + CONFIG_MPTABLE=y > + CONFIG_SMBIOS=y > + CONFIG_ACPI=y > + # > + # Debugging > + # > + CONFIG_DEBUG_LEVEL=3 > + CONFIG_DEBUG_SERIAL=y > + CONFIG_DEBUG_SERIAL_PORT=0x3f8 > + # CONFIG_SCREEN_AND_DEBUG is not set_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Anthony PERARD
2011-Oct-27 11:34 UTC
Re: [Xen-devel] [PATCH] docs, Add HowTo use QEMU upstream.
On Thu, 27 Oct 2011, Ian Campbell wrote:> I suppose a bunch of this becomes obsolete when Stefano''s patches to > integrate SeaBIOS/qemu into the build land, but perhaps it is worth > documenting the manual steps anyway?It is at least more easier than trying to read the build system :). But I will add a note about this.> Is the plan to retire the wiki page?I don''t know, should we keep both? or just this text file? All I know, it''s easier to maintaine that file than the wiki page as we do not have to worry about which revision of xen-unstable we use.> I don''t have much comment on the text other than spelling and some minor > grammar. > > On Wed, 2011-10-26 at 17:55 +0100, Anthony PERARD wrote: > > Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> > > > > --- > > docs/misc/qemu-upstream_howto_use_it.markdown | 122 +++++++++++++++++++++++++ > > 1 files changed, 122 insertions(+), 0 deletions(-) > > > > diff --git a/docs/misc/qemu-upstream_howto_use_it.markdown b/docs/misc/qemu-upstream_howto_use_it.markdown > > new file mode 100644 > > index 0000000..cdf920a > > --- /dev/null > > +++ b/docs/misc/qemu-upstream_howto_use_it.markdown > > @@ -0,0 +1,122 @@ > > +Help to use QEMU (upstream version) with Xen > > +===========================================> > + > > +How to build it > > +--------------- > > + > > +### SeaBIOS > > + > > +This new device-model need a different bios, SeaBIOS. Clone the repository from: > The needs BIOS > > It is usually "BIOS" not "bios", I think.Yes, BIOS is not a word.> > + > > + - git://git.qemu.org/seabios.git > > + - http://git.qemu.org/git/seabios.git > > + > > +Put the `.config` file in the appendix at the root of seabios.git and build SeaBIOS. > > + > > +In xen-unstable source tree, add the file `.config` with > > +`SEABIOS_DIR = /path/to/seabios.git`. > > +To build hvmloader with SeaBIOS, you propably need to `make -C tools/firmware > probably > > > +clean` first and then `make tools`, to use the new SEABIOS_DIR parameter. > > + > > + > > +### QEMU > > + > > +Get QEMU upstream source from: > > + > > + - git://xenbits.xensource.com/qemu-upstream-unstable.git > > + - http://xenbits.xensource.com/git-http/qemu-upstream-unstable.git > > + > > +To configure build QEMU upstream with Xen > > + > > + ./configure --enable-xen --target-list=i386-softmmu --extra-cflags="-I$path_to_xen_source/tools/include -I$path_to_xen_source/tools/libxc -I$path_to_xen_source/tools/xenstore" --extra-ldflags="-L$path_to_xen_source/tools/libxc -L$path_to_xen_source/tools/xenstore" > > + > > Perhaps wrap this somehow? > > Incidentally, would upstream accept a --xen-dir type option (or an > argument to --enable-xen?) to which you could pass $path_to_xen_source > and have it do all this automatically? > > Can you omit all that if you have installed Xen on the current host > (i.e. pick all that up from /usr/{lib,include})?Yes :), so the only way to build QEMU with a fresh Xen build is to specifie the all path. I''m actually only specify the path to the dist dir: --extra-cflags=-Ixen.git/dist/install/usr/include --extra-ldflags=-Lxen.git/dist/install/usr/lib but this propably does not work for some people because that have been changed on the wiki page.> > +You can also use other several options such as `--disable-kvm`. > > + > > + > > +How to use QEMU upstream > > +------------------------ > > + > > +Only xl support QEMU upstream. > > + > > +To actually use it, add or change this in your VM configuration file: > > + > > + device_model_version = ''qemu-xen'' > > + device_model_override = ''/path/to/qemu/i386-softmmu/qemu'' > > This second one should become unnecessary (and unadvised) when Stefano''s > build integration patches hit.Yes, as well the build of SeaBIOS and QEMU and everything a part from device_model_version maybe. -- Anthony PERARD _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel