source: mainline/contrib/qemu/build-from-scratch.sh@ e90019d

Last change on this file since e90019d was aba2d04, checked in by Jakub Jermář <jakub@…>, 10 months ago

Upgrade to QEMU 9.1.0

  • Property mode set to 100755
File size: 3.5 KB
Line 
1#!/bin/bash
2
3#
4# Copyright (c) 2014 Jakub Jermar
5# All rights reserved.
6#
7# Redistribution and use in source and binary forms, with or without
8# modification, are permitted provided that the following conditions
9# are met:
10#
11# - Redistributions of source code must retain the above copyright
12# notice, this list of conditions and the following disclaimer.
13# - Redistributions in binary form must reproduce the above copyright
14# notice, this list of conditions and the following disclaimer in the
15# documentation and/or other materials provided with the distribution.
16# - The name of the author may not be used to endorse or promote products
17# derived from this software without specific prior written permission.
18#
19# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
20# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
21# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
22# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
23# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
24# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
28# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29#
30
31VERSION=9.1.0
32BASENAME=qemu-${VERSION}
33BASENAME_MASTER=qemu-master
34TARBALL=${BASENAME}.tar.bz2
35SOURCEDIR=${BASENAME}
36URL=https://download.qemu.org/${TARBALL}
37REPO=git@github.com:qemu/qemu.git
38
39OPENSPARC_TARBALL="OpenSPARCT1_Arch.1.5.tar.bz2"
40OPENSPARC_URL="http://download.oracle.com/technetwork/systems/opensparc/${OPENSPARC_TARBALL}"
41
42ARCHIVE_PREFIX="./S10image"
43BINARIES="1up-hv.bin 1up-md.bin nvram1 openboot.bin q.bin reset.bin"
44INSTALL_PREFIX="$HOME/.local"
45
46echo "==== Downloading OpenSPARC archive ===="
47
48if [ ! -f ${OPENSPARC_TARBALL} ]
49then
50 wget ${OPENSPARC_URL}
51else
52 echo "===== OpenSPARC archive already exists, skipping. ====="
53fi
54
55echo "==== Extracting OpenSPARC binaries ===="
56(
57 mkdir -p binaries;
58
59 BINLIST=""
60 for b in ${BINARIES};
61 do
62 if [ ! -f binaries/$b ];
63 then
64 BINLIST+=${ARCHIVE_PREFIX}/$b" "
65 else
66 echo "===== $b seems to be already extracted, skipping. ====="
67 fi
68 done
69
70 cd binaries
71
72 if [ "${BINLIST}x" != "x" ];
73 then
74 tar --strip-components=2 -xjf ../${OPENSPARC_TARBALL} ${BINLIST}
75 fi
76)
77
78echo "==== Installing OpenSPARC binaries ===="
79
80install -d "$INSTALL_PREFIX/opensparc/image"
81install -m 0444 binaries/* "$INSTALL_PREFIX/opensparc/image"
82
83echo "==== Obtaining QEMU sources ===="
84
85if [ "$1" == "--master" ]; then
86 git clone ${REPO} ${BASENAME_MASTER}
87 cd ${BASENAME_MASTER}
88else
89 if [ ! -f ${TARBALL} ]; then
90 wget ${URL}
91 fi
92
93 if [ ! -f ${TARBALL}.sig ]; then
94 wget ${URL}.sig
95 fi
96
97 gpg --auto-key-retrieve --verify ${TARBALL}.sig ${TARBALL}
98 if [ $? -ne 0 ]; then
99 echo Unable to verify the signature
100 exit
101 fi
102
103 echo "==== Decompressing QEMU sources ===="
104 tar xfj ${TARBALL}
105 cd ${SOURCEDIR}
106fi
107
108echo "==== Configuring QEMU ===="
109
110./configure --target-list=i386-softmmu,x86_64-softmmu,arm-softmmu,aarch64-softmmu,ppc-softmmu,sparc64-softmmu,mips-softmmu,mipsel-softmmu --enable-gtk --enable-vte --enable-kvm --enable-curses --enable-opengl --enable-slirp --enable-pa --audio-drv-list=pa --prefix="$INSTALL_PREFIX" || exit 1
111
112echo "==== Building QEMU ===="
113
114make -j`nproc` || exit 1
115
116echo "==== Installing QEMU ===="
117
118make install
Note: See TracBrowser for help on using the repository browser.