[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH 2/2] raisin: introduce seabios component



Build SeaBIOS as a separate component.
Pass --with-system-seabios to the xen configure script.

Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
---
 components/seabios |   57 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 components/series  |    1 +
 components/xen     |    3 ++-
 defconfig          |    2 ++
 4 files changed, 62 insertions(+), 1 deletion(-)
 create mode 100644 components/seabios

diff --git a/components/seabios b/components/seabios
new file mode 100644
index 0000000..960a538
--- /dev/null
+++ b/components/seabios
@@ -0,0 +1,57 @@
+#!/usr/bin/env bash
+
+function seabios_check_package() {
+    local DEP_Debian_common="build-essential iasl"
+    local DEP_Debian_x86_32="$DEP_Debian_common"
+    local DEP_Debian_x86_64="$DEP_Debian_common"
+    local DEP_Debian_arm32="$DEP_Debian_common"
+    local DEP_Debian_arm64="$DEP_Debian_common"
+
+    local DEP_Fedora_common="make gcc acpica-tools"
+    local DEP_Fedora_x86_32="$DEP_Fedora_common"
+    local DEP_Fedora_x86_64="$DEP_Fedora_common"
+
+
+    if [[ $ARCH != "x86_64" && $ARCH != "x86_32" ]]
+    then
+        echo seabios is only supported on x86_32 and x86_64
+        return
+    fi
+    echo Checking SeaBIOS dependencies
+    eval check-package \$DEP_"$DISTRO"_"$ARCH"
+}
+
+
+function seabios_build() {
+    if [[ $ARCH != "x86_64" && $ARCH != "x86_32" ]]
+    then
+        echo seabios is only supported on x86_32 and x86_64
+        return
+    fi
+
+    cd "$BASEDIR"
+    git-checkout $SEABIOS_URL $SEABIOS_REVISION seabios-dir
+    cd seabios-dir
+    $RAISIN_MAKE defconfig
+    $RAISIN_MAKE
+    cd "$BASEDIR"
+}
+
+function seabios_clean() {
+    cd "$BASEDIR"
+    if [[ -d seabios-dir ]]
+    then
+        cd seabios-dir
+        $RAISIN_MAKE distclean
+        cd ..
+        rm -rf seabios-dir
+    fi
+}
+
+function seabios_configure() {
+    :
+}
+
+function seabios_unconfigure() {
+    :
+}
diff --git a/components/series b/components/series
index d21243a..f0f3cfa 100644
--- a/components/series
+++ b/components/series
@@ -1,3 +1,4 @@
+seabios
 xen
 qemu
 qemu_traditional
diff --git a/components/xen b/components/xen
index d150efb..f64afe6 100644
--- a/components/xen
+++ b/components/xen
@@ -24,7 +24,8 @@ function xen_build() {
     git-checkout $XEN_URL $XEN_REVISION xen-dir
     cd xen-dir
     ./configure --prefix=$PREFIX 
--with-system-qemu=$PREFIX/lib/xen/bin/qemu-system-i386 \
-        --disable-qemu-traditional --enable-rombios
+        --disable-qemu-traditional --enable-rombios \
+        --with-system-seabios="$BASEDIR"/seabios-dir/out/bios.bin
     $RAISIN_MAKE
     $RAISIN_MAKE install DESTDIR="$INST_DIR"
     cd "$BASEDIR"
diff --git a/defconfig b/defconfig
index d45e2df..b1a0590 100644
--- a/defconfig
+++ b/defconfig
@@ -16,6 +16,7 @@ DESTDIR=dist
 XEN_URL="git://xenbits.xen.org/xen.git"
 QEMU_URL="git://git.qemu.org/qemu.git"
 QEMU_TRADITIONAL_URL="git://xenbits.xen.org/qemu-xen-unstable.git"
+SEABIOS_URL="git://xenbits.xen.org/seabios.git"
 GRUB_URL="git://git.savannah.gnu.org/grub.git"
 LIBVIRT_URL="git://libvirt.org/libvirt.git"
 
@@ -25,5 +26,6 @@ LIBVIRT_URL="git://libvirt.org/libvirt.git"
 XEN_REVISION="master"
 QEMU_REVISION="master"
 QEMU_TRADITIONAL_REVISION="master"
+SEABIOS_REVISION="master"
 GRUB_REVISION="master"
 LIBVIRT_REVISION="master"
-- 
1.7.10.4


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.