]> xenbits.xensource.com Git - people/sstabellini/raisin.git/commitdiff
raisin: introduce seabios component
authorStefano Stabellini <stefano.stabellini@eu.citrix.com>
Mon, 20 Apr 2015 17:08:55 +0000 (17:08 +0000)
committerStefano Stabellini <stefano.stabellini@eu.citrix.com>
Mon, 20 Apr 2015 17:08:55 +0000 (17:08 +0000)
Build SeaBIOS as a separate component.
Pass --with-system-seabios to the xen configure script.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
components/seabios [new file with mode: 0644]
components/series
components/xen
defconfig

diff --git a/components/seabios b/components/seabios
new file mode 100644 (file)
index 0000000..960a538
--- /dev/null
@@ -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() {
+    :
+}
index d21243ac52204ebeab98edea6c42b1a31c36edaf..f0f3cfa4c416c971f462c8bf6f49cb8913216c87 100644 (file)
@@ -1,3 +1,4 @@
+seabios
 xen
 qemu
 qemu_traditional
index 9f13a4594cff30767a7efdb770a9d1df26616919..b7258b01c4bf02fc8570bd97436f11238f943017 100644 (file)
@@ -28,7 +28,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"
index d3880cd6af25a014e0d175eee719a76c7309b3d7..d3ef283c574dc29eb2e6add6e678ec2d5dcc36eb 100644 (file)
--- a/defconfig
+++ b/defconfig
@@ -1,12 +1,12 @@
 # Config variables for raisin
 
 # Components
-## All components: xen qemu qemu_traditional grub libvirt
+## All components: seabios xen qemu qemu_traditional grub libvirt
 ## Core xen functionality: xen
 ## Remove a component from the list below, if you want to disable it
 ## You can manually overwrite this list using the COMPONENTS
 ## environmental variable.
-ENABLED_COMPONENTS="xen qemu qemu_traditional grub libvirt"
+ENABLED_COMPONENTS="seabios xen qemu qemu_traditional grub libvirt"
 
 # Build config
 ## Make command to run
@@ -24,6 +24,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"
 
@@ -31,5 +32,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"