4 kerneldir
=/lib
/modules
/$
(uname
-r)/build
21 --arch=ARCH architecture to compile for ($arch)
22 --cross-prefix=PREFIX prefix for cross compile
23 --prefix=PREFIX where to install things ($prefix)
24 --with-patched-kernel don't use external module
25 --kerneldir=DIR kernel build directory ($kerneldir)
26 --qemu-cflags=CFLAGS CFLAGS to add to qemu configuration
27 --qemu-ldflags=LDFLAGS LDFLAGS to add to qemu configuration
29 Any additional option is given to qemu's configure verbatim; including:
33 .
/configure
--help |
egrep "enable-|disable-" \
34 |
grep -v user |
grep -v system |
grep -v kqemu |
grep -v kvm \
36 |
sed -e"s/ enable/enable/g" |
sed -e "s/ disable/disable/g"
40 while [[ "$1" = -* ]]; do
44 if [[ "$opt" = *=* ]]; then
56 --with-patched-kernel)
75 qemu_opts
=("${qemu_opts[@]}" "$opt${hasarg:+=$arg}")
82 libkvm_kerneldir
=$
(readlink
-f kernel
)
84 #if arch is an x86 arch set to i386
85 if [[ $arch = i?
86 ]]; then
89 #set parameters compiling
90 if [ "$arch" = "i386" -o "$arch" = "x86_64" ]; then
91 target_exec
="x86_64-softmmu"
92 qemu_cflags
="$qemu_cflags -DCONFIG_X86"
95 if [ "$arch" = "ia64" ]; then
96 target_exec
="ia64-softmmu"
99 if [ "$arch" = "powerpc" ]; then
100 target_exec
="ppcemb-softmmu"
101 qemu_cflags
="$qemu_cflags -I $PWD/libfdt"
102 qemu_ldflags
="$qemu_ldflags -L $PWD/libfdt"
106 (cd user
; .
/configure
--prefix="$prefix" --kerneldir="$libkvm_kerneldir" \
108 ${cross_prefix:+"--cross-prefix=$cross_prefix"})
111 (cd qemu
; .
/configure
--target-list=$target_exec \
113 --disable-gcc-check \
114 --extra-cflags="-I $PWD/../libkvm $qemu_cflags" \
115 --extra-ldflags="-L $PWD/../libkvm $qemu_ldflags" \
116 --kernel-path="$libkvm_kerneldir" \
118 ${cross_prefix:+"--cross-prefix=$cross_prefix"} \
119 ${cross_prefix:+"--cpu=$arch"} "${qemu_opts[@]}"
123 cat <<EOF > config.mak
127 LIBKVM_KERNELDIR=$libkvm_kerneldir
128 WANT_MODULE=$want_module
129 CROSS_COMPILE=$cross_prefix
132 OBJCOPY=$cross_prefix$objcopy