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

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since 5071f8a was f34d2be, checked in by Jakub Jermar <jakub@…>, 7 years ago

Upgrade to using QEMU 3.0.0

  • Property mode set to 100755
File size: 3.2 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=3.0.0
32BASENAME=qemu-${VERSION}
33BASENAME_MASTER=qemu-master
34TARBALL=${BASENAME}.tar.bz2
35SOURCEDIR=${BASENAME}
36URL=https://download.qemu.org/${TARBALL}
37REPO=git://git.qemu.org/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"
44
45echo "==== Downloading OpenSPARC archive ===="
46
47if [ ! -f ${OPENSPARC_TARBALL} ]
48then
49 wget ${OPENSPARC_URL}
50else
51 echo "===== OpenSPARC archive already exists, skipping. ====="
52fi
53
54echo "==== Extracting OpenSPARC binaries ===="
55(
56 mkdir -p binaries;
57
58 BINLIST=""
59 for b in ${BINARIES};
60 do
61 if [ ! -f binaries/$b ];
62 then
63 BINLIST+=${ARCHIVE_PREFIX}/$b" "
64 else
65 echo "===== $b seems to be already extracted, skipping. ====="
66 fi
67 done
68
69 cd binaries
70
71 if [ "${BINLIST}x" != "x" ];
72 then
73 tar --strip-components=2 -xjf ../${OPENSPARC_TARBALL} ${BINLIST}
74 fi
75)
76
77echo "==== Installing OpenSPARC binaries ===="
78
79sudo install -d /usr/local/opensparc/image
80sudo install -m 0444 binaries/* /usr/local/opensparc/image
81
82echo "==== Obtaining QEMU sources ===="
83
84if [ "$1" == "--master" ]; then
85 git clone ${REPO} ${BASENAME_MASTER}
86 cd ${BASENAME_MASTER}
87else
88 if [ ! -f ${TARBALL} ]; then
89 wget ${URL}
90 fi
91
92 if [ ! -f ${TARBALL}.sig ]; then
93 wget ${URL}.sig
94 fi
95
96 gpg --verify ${TARBALL}.sig ${TARBALL}
97 if [ $? -ne 0 ]; then
98 echo Unable to verify the signature
99 exit
100 fi
101
102 tar xvfj ${TARBALL}
103 cd ${SOURCEDIR}
104fi
105
106echo "==== Configuring QEMU ===="
107
108./configure --target-list=i386-softmmu,x86_64-softmmu,arm-softmmu,ppc-softmmu,sparc64-softmmu,mips-softmmu,mipsel-softmmu --audio-drv-list=pa
109
110echo "==== Building QEMU ===="
111
112make -j 4
113
114echo "==== Installing QEMU ===="
115
116sudo make install
117
Note: See TracBrowser for help on using the repository browser.