diff options
Diffstat (limited to 'build/packages/make_kvmfornfv.sh')
-rw-r--r-- | build/packages/make_kvmfornfv.sh | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/build/packages/make_kvmfornfv.sh b/build/packages/make_kvmfornfv.sh new file mode 100644 index 00000000..3fa6efec --- /dev/null +++ b/build/packages/make_kvmfornfv.sh @@ -0,0 +1,65 @@ +############################################################################## +# Copyright (c) 2016 Nokia and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +# TODO compile kernel and qemu in docker container + +WORK_PATH=$(cd "$(dirname "$0")"/..; pwd) +CACHE_DIR=$WORK_PATH/work/repo/temp +DST_DIR=$WORK_PATH/work/repo/packages/kvmfornfv/ +source $WORK_PATH/build/build.conf + +function prepare() +{ + sudo apt-get install -y libtool libglib2.0-dev autoconf automake + mkdir -p $CACHE_DIR + mkdir -p $DST_DIR + + if [ git ls-remote $KVMFORNFV ]; + then + git clone $KVMFORNFV $CACHE_DIR/kvmfornfv + mkdir -p $CACHE_DIR/kvmfornfv/build/{boot,usr} + fi +} + +function make_kernel() +{ + cd $CACHE_DIR/kvmfornfv/kernel + cp arch/x86/configs/opnfv.config .config + make -j8 + make -j8 modules + make INSTALL_PATH=$CACHE_DIR/kvmfornfv/build/boot install + make INSTALL_MOD_PATH=$CACHE_DIR/kvmfornfv/build modules_install +} + +function make_qemu() +{ + mkdir -p $CACHE_DIR/kvmfornfv/qemu/build + cd $CACHE_DIR/kvmfornfv/qemu/build + ../configure --prefix=$CACHE_DIR/kvmfornfv/build/usr --enable-system --enable-kvm + make -j8 + make install +} + +function make_kvmfornfv() +{ + pushd . + + prepare + make_kernel + make_qemu + + tar -czf $DST_DIR/kvmfornfv.tar.gz \ + -C $CACHE_DIR/kvmfornfv/build . + cd - + + popd +} + +make_kvmfornfv + |