forked from OpenXT/xenclient-oe
-
Notifications
You must be signed in to change notification settings - Fork 0
License
Unknown and 2 other licenses found
Licenses found
Unknown
LICENSE
GPL-2.0
COPYING.GPLv2
MIT
COPYING.MIT
bennettj1087/xenclient-oe
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
XenClient build HOWTO ===================== 0. Requirements --------------- A 32-bit Debian Lenny is the recommended build environment. In addition to the default installation, the following packages should be installed: make, gcc, automake, git-core, bcc, ruby, mkisofs, libglib2.0-dev, libdbus-glib-1-dev, libc6-dev, initramfs-tools, gzip, bzip2, g++, file, flex, bison, bin86, gawk, rsync, iasl, ccache, gettext, libxml-parser-perl, libpci-dev, smbclient, unzip, help2man, diffstat, texi2html, texinfo, cvs, subversion, python2.5-dev, sun-java6-jdk, python-flup, python-setuptools, python-routes, makeself, wget, build-essential, coreutils, libsdl1.2-dev, docbook-utils, python-pysqlite2, diffstat, x11-xserver-utils, quilt, x11proto-core-dev, xsltproc, xutils-dev, expect, lib64gcc1, libc6-dev-amd64, genext2fs, python-simplejson, python-psycopg2, xenclient-guilt, debootstrap, ghc, gfortran There are known problems building certain packages on 64-bit distributions and building on other systems is untested and likely to break. A chroot environment with a 32-bit Debian Lenny can be used instead, but if the host platform is 64-bit all bitbake invokations should be prefixed with "linux32" to ensure a 32-bit host architecture is correctly detected. 1. Getting started ------------------ XCI is built on top of OpenEmbedded. The OpenEmbedded documentation can be found here: http://docs.openembedded.org/usermanual/usermanual.html Use ./setup_build to pull the BitBake and OpenEmbedded repositories and setup the build environment. The location and version of the repositories to use can be overridden by creating a file called local.settings. This will be sourced before the repos are pulled. All settings are optional and have sane defaults (see setup_build for values). Settings supported in local.settings: BITBAKE_REPO URI of BitBake git repository. BITBAKE_TAG Tag to use for checking out, branch/commitid/tags can be used OE_REPO OE_TAG As above but for OpenEmbedded. The OE_TAG specified in the shipped setup_build script corresponds to the version of the upstream OE tree that is known to work with the current XenClient overlays. If it is modified to use a more recent OE tree, things are likely to break. EXTRA_REPO EXTRA_TAG EXTRA_DIR An optional, extra repository to check out and use as an overlay (highest priority). Can be used to customize/tweak the build. No default, and not needed for normal builds. EXTRA_DIR can be set to the directory name where the checkout is done (relative to repos). To re-generate the environment settings without checkout out anything, run "./setup_build env" (useful if the directory has been moved). After running setup_build, you can source oeenv and run bitbake. oeenv sets up the required environment for running bitbake. Alternatively you can just run ./bb which will set the environment for you and invoke bitbake with any arguments specified. 2. Directories -------------- repos: Checked out copies of the OpenEmbedded and BitBake repos (and optionally EXTRA_REPO). xenclient: OpenEmbedded overlay for XenClient specific packages and configuration files. Highest priority (first in search path). local.conf is shipped as local.conf-dist. If local.conf doesn't already exist, setup_build symlinks it to local.conf. To override, place your local.conf in xenclient/conf before running setup_build. oe-addons: Overlay for recipes and classes that should be pushed upstream to OpenEmbedded but have not yet made it there. Lowest priority (after OE repository). sources: This is where source packages are downloaded to. build: This is the main OpenEmbedded build dir, also referred to as "TMPDIR" in OpenEmbedded terminology. To clean out everything and start from scratch, rm -rf build. 3. Building XCI --------------- 3.1 xenclient/conf/local.conf: You may wish to edit xenclient/conf/local.conf before starting the build. For faster builds on a multiprocessor host increase BB_NUMBER_THREADS and PARALLEL_MAKE. The following directories are by default located inside the build directory. They can be moved elsewhere by specifying them in local.conf so they can be re-used between builds: DL_DIR: tarballs downloaded from the Internet are stored here. DEPLOY_DIR_IPK: installation packages for the target system are stored here. DEPLOY_DIR_PSTAGE: can be added to specify where the staging packages should be placed. Staging packages are used to regenerate the staging area without rebuilding all packages, so can be used to speed up subsequent builds. OPENXT_GIT_MIRROR, XENCLIENT_GIT_TAG: Specifies where the XenClient git repositories should be cloned from and which tag or branch to use. Once you are satisfied with the settings in local.conf you need to build the images. To build an image and all its dependencies run: $ MACHINE=MACHSPEC ./bb TARGETIMAGE For MACHSPEC use xenclient-dom0 or xenclient-iovm for the Dom0 and the IOVM images, respectively. xenclient-dom0 is also used for the initramfs and installer image. For more details about architectures and subarchitectures, refer to the OpenEmbedded documentation. TARGETIMAGE is one of the following: +-------------------------+----------------------------------+--------------+ |TARGETNAME |Description |MACHSPEC | +-------------------------+----------------------------------+--------------+ |xenclient-initramfs-image|Initramfs needed to boot with LVM |xenclient-dom0| +-------------------------+----------------------------------+--------------+ |xenclinet-dom0-image (*) |Dom0 filesystem image |xenclient-dom0| +-------------------------+----------------------------------+--------------+ |xenclient-iovm-image (**)|IOVM (UI VM) filesystem image |xenclient-iovm| +-------------------------+----------------------------------+--------------+ |xenclient-installer-image|Installer filesystem image |xenclient-dom0| +-------------------------+----------------------------------+--------------+ (*) xenclient-dom0-image embeds the initramfs, so you need to build xenclient-initramfs-image before xenclient-dom0-image can be succesfully built. (**) xenclient-iovm-image is not required, it can be used to provide a user interface VM and is meant as an example and should be customized if used. To build the entire XCI package and generate an installer ISO, run the following commands in sequence: $ MACHINE=xenclient-dom0 ./bb xenclient-initramfs-image $ MACHINE=xenclient-dom0 ./bb xenclient-dom0-image $ MACHINE=xenclient-dom0 ./bb xenclient-installer-image $ ./generate_iso This will take a number of hours to complete. Subsequent builds will be much faster if the download and staging package archive from a previous build is available. Please note that due to the way packaged staging works, some staging packages can only be used if the build directory is in the same location as the previous build. The resulting bootable ISO image can be burned to a CD-ROM and used to install XCI on a target machine. 4. Running XCI -------------- PLEASE NOTE: As no VMs are started by default the only ways to access dom0 and start VMs is via ssh or serial console. By pressing Escape when the bootloader screen is shown it is possible to select "Console Access" whereby dom0 will allow console login.
About
No description, website, or topics provided.
Resources
License
Unknown and 2 other licenses found
Licenses found
Unknown
LICENSE
GPL-2.0
COPYING.GPLv2
MIT
COPYING.MIT
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published