mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-21 19:42:24 +01:00
system/qemu: Updated for version 1.4.0.
Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
This commit is contained in:
parent
3e22552182
commit
7192accaa7
4 changed files with 82 additions and 32 deletions
2
system/qemu/65-kvm.rules
Normal file
2
system/qemu/65-kvm.rules
Normal file
|
@ -0,0 +1,2 @@
|
|||
KERNEL=="kvm", GROUP="@GROUP@", MODE="0660"
|
||||
KERNEL=="vhost-net", GROUP="@GROUP@", MODE="0660"
|
|
@ -4,15 +4,24 @@ When used as a machine emulator, QEMU can run OSes and programs made for
|
|||
one machine (e.g. an ARM board) on a different machine (e.g. your own PC).
|
||||
By using dynamic translation, it achieves very good performances.
|
||||
|
||||
When used as a virtualizer, QEMU achieves near native performances by
|
||||
executing the guest code directly on the host CPU. A host driver called
|
||||
the QEMU accelerator (also known as KQEMU) is needed in this case
|
||||
(contained in the optional dependency kqemu). The virtualizer mode
|
||||
requires that both the host and guest machine use x86 compatible
|
||||
processors.
|
||||
qemu-kvm achieves near native performances by leveraging the kvm-kmod
|
||||
modules and executing the guest code directly on the host CPU.
|
||||
Slackware provides pre-built 32/64 bit x86 kvm-kmod modules or you can
|
||||
build different versions with the kvm-kmod package.
|
||||
qemu-kvm code has been merged back into qemu since version 1.3.0.
|
||||
|
||||
NOTE:
|
||||
qemu builds man-pages at compile-time; to do so, /sbin must be in the
|
||||
current $PATH. Be sure to run the script as root ( "su -" ).
|
||||
By default, this script builds only the x86 and arm emulation targets
|
||||
for qemu; if you prefer to build all supported targets, do this:
|
||||
|
||||
spice is an optional dependency.
|
||||
TARGETS=all ./qemu.SlackBuild
|
||||
|
||||
We patch the installed udev rules to require membership in "users"
|
||||
group instead of a custom "kvm" group to uses /dev/kvm. If you prefer
|
||||
something different, then run the build script like this:
|
||||
|
||||
KVMGROUP=group ./qemu.SlackBuild
|
||||
|
||||
Don't forget to load the 'kvm-intel' or 'kvm-amd' module (depending on
|
||||
your processor) prior to launching qemu-system-x86_64 with kvm enabled.
|
||||
|
||||
spice and usbredir are optional dependencies.
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
# Slackware build script for qemu
|
||||
|
||||
# Copyright 2009, 2010 Andrew Brouwers <abrouwers@gmail.com>
|
||||
# Copyright 2013 Edward Koenig, Vancouver, USA <kingbeowulf@gmail.com>
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use of this script, with or without modification, is
|
||||
|
@ -22,10 +23,15 @@
|
|||
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
# Modified by the SlackBuilds.org project
|
||||
# Changelog
|
||||
# 1.0 27-FEB-2013 New SBo maintainer
|
||||
# 1.0 07-MAR-2013 updated to 1.4, includes qemu-kvm; thanks to
|
||||
# rworkman and ponce for script ideas.
|
||||
# 1.1 28-MAR-2013 fix missing docs per C. Willing and
|
||||
# add missing --libdir (patched in qemu-trivial upstream)
|
||||
|
||||
PRGNAM=qemu
|
||||
VERSION=${VERSION:-1.2.0}
|
||||
VERSION=${VERSION:-1.4.0}
|
||||
BUILD=${BUILD:-1}
|
||||
TAG=${TAG:-_SBo}
|
||||
|
||||
|
@ -45,17 +51,33 @@ OUTPUT=${OUTPUT:-/tmp}
|
|||
if [ "$ARCH" = "i486" ]; then
|
||||
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
|
||||
LIBDIRSUFFIX=""
|
||||
KVMARCH="i386"
|
||||
elif [ "$ARCH" = "i686" ]; then
|
||||
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
|
||||
LIBDIRSUFFIX=""
|
||||
KVMARCH="i386"
|
||||
elif [ "$ARCH" = "x86_64" ]; then
|
||||
SLKCFLAGS="-O2 -fPIC"
|
||||
LIBDIRSUFFIX="64"
|
||||
KVMARCH="x86_64"
|
||||
else
|
||||
SLKCFLAGS="-O2"
|
||||
LIBDIRSUFFIX=""
|
||||
fi
|
||||
|
||||
# Enable only x86* and arm emulation for qemu: if you want to build
|
||||
# all the targets available use TARGETS=all
|
||||
if [ "${TARGETS:-}" = "all" ]; then
|
||||
targets=""
|
||||
else
|
||||
targets="--target-list=i386-softmmu,x86_64-softmmu,i386-linux-user,x86_64-linux-user,arm-softmmu,arm-linux-user,armeb-linux-user"
|
||||
fi
|
||||
|
||||
KVMGROUP=${KVMGROUP:-users}
|
||||
|
||||
# Needed to build man pages if built after plain "su"
|
||||
export PATH=$PATH:/usr/share/texmf/bin
|
||||
|
||||
set -e
|
||||
|
||||
rm -rf $PKG
|
||||
|
@ -67,38 +89,55 @@ cd $PRGNAM-$VERSION
|
|||
chown -R root:root .
|
||||
chmod -R u+w,go+r-w,a-s .
|
||||
|
||||
# To get the stable-1.0 patches, do this in git checkout of qemu:
|
||||
# git format-patch v1.0.1..origin/stable-1.0
|
||||
#for i in $CWD/patches/*.patch ; do patch -p1 < $i ; done
|
||||
# Remove double CFLAGS
|
||||
sed -i "s|^\ \ CFLAGS=\"-O2\ | CFLAGS=\"|" configure || exit 1
|
||||
|
||||
# Disable debug (hardcoded) and remove double CFLAGS
|
||||
sed -i "s|^CFLAGS=\"-g\ |CFLAGS=\"|" configure
|
||||
sed -i "s|^LDFLAGS=\"-g\ |LDFLAGS=\"|" configure
|
||||
sed -i "s|^\ \ CFLAGS=\"-O2\ | CFLAGS=\"|" configure
|
||||
|
||||
# check if spice support is enabled
|
||||
# check if spice is there
|
||||
if pkg-config --exists spice-server ; then
|
||||
with_spice="--enable-spice"
|
||||
else
|
||||
with_spice="--disable-spice"
|
||||
fi
|
||||
|
||||
# --libdir isn't recognized and isn't needed anyway
|
||||
# check if usbredir is there
|
||||
if pkg-config --exists libusbredirhost ; then
|
||||
with_usbredir="--enable-usb-redir"
|
||||
else
|
||||
with_usbredir="--disable-usb-redir"
|
||||
fi
|
||||
|
||||
# --libdir is recognized but not advertised in --help
|
||||
CFLAGS="$SLKCFLAGS" \
|
||||
CXXFLAGS="$SLKCFLAGS" \
|
||||
./configure \
|
||||
--prefix=/usr \
|
||||
--enable-system \
|
||||
--libdir=/usr/lib${LIBDIRSUFFIX} \
|
||||
--sysconfdir=/etc \
|
||||
--enable-system \
|
||||
--enable-kvm \
|
||||
--enable-mixemu \
|
||||
--disable-debug-info \
|
||||
--audio-drv-list=alsa,oss,sdl,esd \
|
||||
$with_spice
|
||||
--audio-card-list=ac97,es1370,sb16,cs4231a,adlib,gus,hda \
|
||||
$targets \
|
||||
$with_spice \
|
||||
$with_usbredir
|
||||
|
||||
make V=1 OS_CFLAGS="$SLKCFLAGS"
|
||||
|
||||
make OS_CFLAGS="$SLKCFLAGS"
|
||||
make install DESTDIR=$PKG
|
||||
|
||||
# install some udev rules for /dev/kvm
|
||||
mkdir -p $PKG/lib/udev/rules.d/
|
||||
sed "s/@GROUP@/$KVMGROUP/" $CWD/65-kvm.rules \
|
||||
> $PKG/lib/udev/rules.d/65-kvm.rules
|
||||
|
||||
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
|
||||
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
|
||||
|
||||
# create a symlink for qemu-kvm to support aqemu and such frontends
|
||||
[ ! -z $KVMARCH ] && ln -s qemu-system-$KVMARCH $PKG/usr/bin/qemu-kvm
|
||||
|
||||
# move any generated man pages to their proper location
|
||||
if [ -d $PKG/usr/share/man ]; then
|
||||
mv $PKG/usr/share/man $PKG/usr
|
||||
|
@ -107,8 +146,8 @@ fi
|
|||
|
||||
# Add docs, and if present, built documentation to the proper location
|
||||
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
|
||||
cp -a TODO README LICENSE COPYING COPYING.LIB MAINTAINERS \
|
||||
$PKG/usr/doc/$PRGNAM-$VERSION
|
||||
cp -a TODO README LICENSE COPYING COPYING.LIB MAINTAINERS $PKG/usr/doc/$PRGNAM-$VERSION
|
||||
cp -a docs/* $PKG/usr/doc/$PRGNAM-$VERSION
|
||||
if [ -d $PKG/usr/share/doc ]; then
|
||||
mv $PKG/usr/share/doc/qemu/* $PKG/usr/doc/$PRGNAM-$VERSION/
|
||||
rm -rf $PKG/usr/share/doc
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
PRGNAM="qemu"
|
||||
VERSION="1.2.0"
|
||||
VERSION="1.4.0"
|
||||
HOMEPAGE="http://wiki.qemu.org/Main_Page"
|
||||
DOWNLOAD="http://wiki.qemu.org/download/qemu-1.2.0.tar.bz2"
|
||||
MD5SUM="78eb1e984f4532aa9f2bdd3c127b5b61"
|
||||
DOWNLOAD="http://wiki.qemu.org/download/qemu-1.4.0.tar.bz2"
|
||||
MD5SUM="78f13b774814b6b7ebcaf4f9b9204318"
|
||||
DOWNLOAD_x86_64=""
|
||||
MD5SUM_x86_64=""
|
||||
REQUIRES=""
|
||||
MAINTAINER="Andrew Brouwers"
|
||||
EMAIL="abrouwers@gmail.com"
|
||||
MAINTAINER="Edward Koenig"
|
||||
EMAIL="kingbeowulf@gmail.com"
|
||||
|
|
Loading…
Reference in a new issue