diff --git a/devicemodel/.travis-dockerfiles/Dockerfile.centos7 b/.travis-dockerfiles/Dockerfile.centos7 similarity index 66% rename from devicemodel/.travis-dockerfiles/Dockerfile.centos7 rename to .travis-dockerfiles/Dockerfile.centos7 index c16deb1f6..e356bbaef 100644 --- a/devicemodel/.travis-dockerfiles/Dockerfile.centos7 +++ b/.travis-dockerfiles/Dockerfile.centos7 @@ -9,7 +9,11 @@ RUN yum -y install gcc \ libuuid-devel \ openssl-devel \ libpciaccess-devel \ - gnu-efi-devel + gnu-efi-devel \ + systemd-devel \ + libxml2-devel \ + libevent-devel \ + libusbx-devel WORKDIR /root/acrn diff --git a/.travis-dockerfiles/Dockerfile.clearlinux b/.travis-dockerfiles/Dockerfile.clearlinux new file mode 100644 index 000000000..e621371e0 --- /dev/null +++ b/.travis-dockerfiles/Dockerfile.clearlinux @@ -0,0 +1,11 @@ +# Build container based on Clearlinux +FROM clearlinux:base + +RUN swupd bundle-add os-clr-on-clr + +RUN mkdir -p /usr/local/bin +RUN git config --global http.sslVerify false + +WORKDIR /root/acrn + +CMD ["/bin/bash"] diff --git a/devicemodel/.travis-dockerfiles/Dockerfile.debian8 b/.travis-dockerfiles/Dockerfile.debian8 similarity index 67% rename from devicemodel/.travis-dockerfiles/Dockerfile.debian8 rename to .travis-dockerfiles/Dockerfile.debian8 index ed0eba941..ead8a9d67 100644 --- a/devicemodel/.travis-dockerfiles/Dockerfile.debian8 +++ b/.travis-dockerfiles/Dockerfile.debian8 @@ -8,6 +8,10 @@ RUN apt-get update \ libssl-dev \ libpciaccess-dev \ uuid-dev \ + libsystemd-dev \ + libevent-dev \ + libxml2-dev \ + libusb-1.0-0-dev \ && apt-get clean WORKDIR /root/acrn diff --git a/hypervisor/.travis-dockerfiles/Dockerfile.fedora26 b/.travis-dockerfiles/Dockerfile.fedora26 similarity index 66% rename from hypervisor/.travis-dockerfiles/Dockerfile.fedora26 rename to .travis-dockerfiles/Dockerfile.fedora26 index 61d582c01..dfdc2c734 100644 --- a/hypervisor/.travis-dockerfiles/Dockerfile.fedora26 +++ b/.travis-dockerfiles/Dockerfile.fedora26 @@ -6,11 +6,14 @@ RUN dnf -y install gcc \ git \ make \ vim \ - findutils \ libuuid-devel \ openssl-devel \ libpciaccess-devel \ - gnu-efi-devel + gnu-efi-devel \ + systemd-devel \ + libxml2-devel \ + libevent-devel \ + libusbx-devel WORKDIR /root/acrn diff --git a/devicemodel/.travis-dockerfiles/Dockerfile.fedora27 b/.travis-dockerfiles/Dockerfile.fedora27 similarity index 66% rename from devicemodel/.travis-dockerfiles/Dockerfile.fedora27 rename to .travis-dockerfiles/Dockerfile.fedora27 index 29e04584f..c2ccb06ec 100644 --- a/devicemodel/.travis-dockerfiles/Dockerfile.fedora27 +++ b/.travis-dockerfiles/Dockerfile.fedora27 @@ -6,11 +6,14 @@ RUN dnf -y install gcc \ git \ make \ vim \ - findutils \ libuuid-devel \ openssl-devel \ libpciaccess-devel \ - gnu-efi-devel + gnu-efi-devel \ + systemd-devel \ + libxml2-devel \ + libevent-devel \ + libusbx-devel WORKDIR /root/acrn diff --git a/hypervisor/.travis-dockerfiles/Dockerfile.fedora27 b/.travis-dockerfiles/Dockerfile.fedora28 similarity index 55% rename from hypervisor/.travis-dockerfiles/Dockerfile.fedora27 rename to .travis-dockerfiles/Dockerfile.fedora28 index 29e04584f..76aed4a8b 100644 --- a/hypervisor/.travis-dockerfiles/Dockerfile.fedora27 +++ b/.travis-dockerfiles/Dockerfile.fedora28 @@ -1,16 +1,19 @@ -# Build container based on Fedora 27 -FROM fedora:27 +# Build container based on Fedora 28 +FROM fedora:28 RUN dnf -y update && dnf clean all RUN dnf -y install gcc \ git \ make \ vim \ - findutils \ libuuid-devel \ openssl-devel \ libpciaccess-devel \ - gnu-efi-devel + gnu-efi-devel \ + systemd-devel \ + libxml2-devel \ + libevent-devel \ + libusbx-devel WORKDIR /root/acrn diff --git a/devicemodel/.travis-dockerfiles/Dockerfile.ubuntu14.04 b/.travis-dockerfiles/Dockerfile.ubuntu14.04 similarity index 67% rename from devicemodel/.travis-dockerfiles/Dockerfile.ubuntu14.04 rename to .travis-dockerfiles/Dockerfile.ubuntu14.04 index adeeecf83..1b826a00a 100644 --- a/devicemodel/.travis-dockerfiles/Dockerfile.ubuntu14.04 +++ b/.travis-dockerfiles/Dockerfile.ubuntu14.04 @@ -8,6 +8,10 @@ RUN apt-get update \ libssl-dev \ libpciaccess-dev \ uuid-dev \ + libsystemd-journal-dev \ + libevent-dev \ + libxml2-dev \ + libusb-1.0-0-dev \ && apt-get clean WORKDIR /root/acrn diff --git a/hypervisor/.travis-dockerfiles/Dockerfile.ubuntu16.04 b/.travis-dockerfiles/Dockerfile.ubuntu16.04 similarity index 68% rename from hypervisor/.travis-dockerfiles/Dockerfile.ubuntu16.04 rename to .travis-dockerfiles/Dockerfile.ubuntu16.04 index 2856e4f28..638d3307d 100644 --- a/hypervisor/.travis-dockerfiles/Dockerfile.ubuntu16.04 +++ b/.travis-dockerfiles/Dockerfile.ubuntu16.04 @@ -8,6 +8,10 @@ RUN apt-get update \ libssl-dev \ libpciaccess-dev \ uuid-dev \ + libsystemd-dev \ + libevent-dev \ + libxml2-dev \ + libusb-1.0-0-dev \ && apt-get clean WORKDIR /root/acrn diff --git a/devicemodel/.travis-dockerfiles/Dockerfile.ubuntu16.04 b/.travis-dockerfiles/Dockerfile.ubuntu18.04 similarity index 57% rename from devicemodel/.travis-dockerfiles/Dockerfile.ubuntu16.04 rename to .travis-dockerfiles/Dockerfile.ubuntu18.04 index 2856e4f28..83a6eefa3 100644 --- a/devicemodel/.travis-dockerfiles/Dockerfile.ubuntu16.04 +++ b/.travis-dockerfiles/Dockerfile.ubuntu18.04 @@ -1,5 +1,5 @@ -# Build container based on Ubuntu 16.04 -FROM ubuntu:16.04 +# Build container based on Ubuntu 18.04 +FROM ubuntu:18.04 # Install dependencies. RUN apt-get update \ @@ -8,6 +8,10 @@ RUN apt-get update \ libssl-dev \ libpciaccess-dev \ uuid-dev \ + libsystemd-dev \ + libevent-dev \ + libxml2-dev \ + libusb-1.0-0-dev \ && apt-get clean WORKDIR /root/acrn diff --git a/devicemodel/.travis-dockerfiles/README.md b/.travis-dockerfiles/README.md similarity index 100% rename from devicemodel/.travis-dockerfiles/README.md rename to .travis-dockerfiles/README.md diff --git a/hypervisor/.travis.yml b/.travis.yml similarity index 96% rename from hypervisor/.travis.yml rename to .travis.yml index f48130229..4f3eb6a58 100644 --- a/hypervisor/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ env: global: - OS_TESTED_CL="clearlinux" - OS_TESTED_UBUNTU="ubuntu16.04" - - OS_TESTED_FEDORA="fedora26" + - OS_TESTED_FEDORA="fedora28" matrix: - RELEASE=0 diff --git a/devicemodel/.travis-dockerfiles/Dockerfile.clearlinux b/devicemodel/.travis-dockerfiles/Dockerfile.clearlinux deleted file mode 100644 index f339eb7f6..000000000 --- a/devicemodel/.travis-dockerfiles/Dockerfile.clearlinux +++ /dev/null @@ -1,10 +0,0 @@ -# Build container based on Clearlinux -FROM clearlinux:base - -# python-basic-dev is only there because it gives us -# the openssl/md5.h header that we need -RUN swupd bundle-add os-core-dev dev-utils-dev - -WORKDIR /root/acrn - -CMD ["/bin/bash"] diff --git a/devicemodel/.travis-dockerfiles/Dockerfile.fedora26 b/devicemodel/.travis-dockerfiles/Dockerfile.fedora26 deleted file mode 100644 index 61d582c01..000000000 --- a/devicemodel/.travis-dockerfiles/Dockerfile.fedora26 +++ /dev/null @@ -1,17 +0,0 @@ -# Build container based on Fedora 26 -FROM fedora:26 - -RUN dnf -y update && dnf clean all -RUN dnf -y install gcc \ - git \ - make \ - vim \ - findutils \ - libuuid-devel \ - openssl-devel \ - libpciaccess-devel \ - gnu-efi-devel - -WORKDIR /root/acrn - -CMD ["/bin/bash"] diff --git a/devicemodel/.travis.yml b/devicemodel/.travis.yml deleted file mode 100644 index bfe7cb089..000000000 --- a/devicemodel/.travis.yml +++ /dev/null @@ -1,25 +0,0 @@ -sudo: required - -language: c - -env: - global: - - OS_TESTED_CL="clearlinux" - - OS_TESTED_UBUNTU="ubuntu16.04" - - OS_TESTED_FEDORA="fedora26" - -services: - - docker - -before_install: - - docker build -t ${OS_TESTED_CL} -f .travis-dockerfiles/Dockerfile.${OS_TESTED_CL} . - - docker build -t ${OS_TESTED_UBUNTU} -f .travis-dockerfiles/Dockerfile.${OS_TESTED_UBUNTU} . - - docker build -t ${OS_TESTED_FEDORA} -f .travis-dockerfiles/Dockerfile.${OS_TESTED_FEDORA} . - - docker images - -install: true - -script: - - docker run -v $PWD:/root/acrn ${OS_TESTED_CL} /bin/bash -c "make clean && make" - - docker run -v $PWD:/root/acrn ${OS_TESTED_UBUNTU} /bin/bash -c "make clean && make" - - docker run -v $PWD:/root/acrn ${OS_TESTED_FEDORA} /bin/bash -c "make clean && make" diff --git a/hypervisor/.travis-dockerfiles/Dockerfile.centos7 b/hypervisor/.travis-dockerfiles/Dockerfile.centos7 deleted file mode 100644 index c16deb1f6..000000000 --- a/hypervisor/.travis-dockerfiles/Dockerfile.centos7 +++ /dev/null @@ -1,16 +0,0 @@ -# Build container based on CentOS 7 -FROM centos:centos7 - -RUN yum -y update; yum clean all -RUN yum -y install gcc \ - git \ - make \ - vim \ - libuuid-devel \ - openssl-devel \ - libpciaccess-devel \ - gnu-efi-devel - -WORKDIR /root/acrn - -CMD ["/bin/bash"] diff --git a/hypervisor/.travis-dockerfiles/Dockerfile.clearlinux b/hypervisor/.travis-dockerfiles/Dockerfile.clearlinux deleted file mode 100644 index d1f1518e6..000000000 --- a/hypervisor/.travis-dockerfiles/Dockerfile.clearlinux +++ /dev/null @@ -1,8 +0,0 @@ -# Build container based on Clearlinux -FROM clearlinux:base - -RUN swupd bundle-add os-core-dev dev-utils-dev - -WORKDIR /root/acrn - -CMD ["/bin/bash"] diff --git a/hypervisor/.travis-dockerfiles/Dockerfile.debian8 b/hypervisor/.travis-dockerfiles/Dockerfile.debian8 deleted file mode 100644 index ed0eba941..000000000 --- a/hypervisor/.travis-dockerfiles/Dockerfile.debian8 +++ /dev/null @@ -1,15 +0,0 @@ -# Build container based on Debian 8 -FROM debian:8 - -# Install dependencies. -RUN apt-get update \ - && apt-get install -y gcc make vim git \ - gnu-efi \ - libssl-dev \ - libpciaccess-dev \ - uuid-dev \ - && apt-get clean - -WORKDIR /root/acrn - -CMD ["/bin/bash"] diff --git a/hypervisor/.travis-dockerfiles/Dockerfile.ubuntu14.04 b/hypervisor/.travis-dockerfiles/Dockerfile.ubuntu14.04 deleted file mode 100644 index adeeecf83..000000000 --- a/hypervisor/.travis-dockerfiles/Dockerfile.ubuntu14.04 +++ /dev/null @@ -1,15 +0,0 @@ -# Build container based on Ubuntu 14.04 -FROM ubuntu:14.04 - -# Install dependencies. -RUN apt-get update \ - && apt-get install -y gcc make vim git \ - gnu-efi \ - libssl-dev \ - libpciaccess-dev \ - uuid-dev \ - && apt-get clean - -WORKDIR /root/acrn - -CMD ["/bin/bash"] diff --git a/hypervisor/.travis-dockerfiles/README.md b/hypervisor/.travis-dockerfiles/README.md deleted file mode 100644 index 35c38cf85..000000000 --- a/hypervisor/.travis-dockerfiles/README.md +++ /dev/null @@ -1,80 +0,0 @@ -# Build containers for Project ACRN - -## Introduction - -This folder contains a number of Dockerfile that include -all the build tools and dependencies to build the ACRN Project -components, i.e. the `acrn-hypervisor` and `acrn-devicemodel` - -The workflow is pretty simple and can be summarized in these few steps: - -1. Build the *build containers* based on your preferred OS -1. Clone the Project ACRN repositories -1. Start the build container and give it the repositories -1. Build the Project ACRN components - -The pre-requisite is that you have Docker installed on your machine. -Explaining how to install it on your system is beyond the scope of this -document, please visit https://www.docker.com for detailed instructions. - -## Build the *build containers* - -Each `Dockerfile` in this repo has an extension that tells what Linux -distribution it is based on. To build a container using any of those, -use this command: -``` -$ sudo docker build -t -f Dockerfile. . -``` - -As an example, to build a container based on CentOS 7, do: -``` -$ sudo docker build -t centos7 -f Dockerfile.centos7 . -``` - -## Clone Project ACRN - -Follow these simple steps to clone the Project ACRN repositories -``` -$ mkdir ~/acrn -$ cd ~/acrn -$ git clone https://github.com/projectacrn/acrn-hypervisor -$ git clone https://github.com/projectacrn/acrn-devicemodel -``` - -## Start the build container - -Use this `~/acrn` folder and pass it on to your build container: -``` -$ cd ~/acrn -$ sudo docker run -ti -v $PWD:/root/acrn -``` - -Using CentOS 7 again as an example, that gives us: -``` -$ cd ~/acrn -$ sudo docker run -ti -v $PWD:/root/acrn centos7 -``` - -**Note:** if you encounter permission issues within the container (as it -happens on a Fedora 27 host), try adding the `:z` parameter to the mount option. -This will unlock the permission restriction (that comes from SElinux). Your -command-line would then be: -``` -$ cd ~/acrn -$ sudo docker run -ti -v $PWD:/root/acrn:z centos7 -``` - -## Build the ACRN components - -The steps above place you inside the container and give you access to -the Project ACRN repositories you cloned earlier. You can now build any -of the components. Here is an example: -``` -# cd acrn-hypervisor -# make PLATFORM=uefi RELEASE=1 -``` - -You can do this for all build combinations and also try to build the `acrn-devicemodel`. -All the build dependencies and tools are pre-installed in the container as well as a -couple of useful tools (`git` and `vim`) so you can directly edit files to experiment -from within the container.