DISCONTINUATION OF PROJECT.
This project will no longer be maintained by Intel. Intel will not provide or guarantee development of or support for this project, including but not limited to, maintenance, bug fixes, new releases or updates. Patches to this project are no longer accepted by Intel. If you have an ongoing need to use this project, are interested in independently developing it, or would like to maintain patches for the community, please create your own fork of the project.
BIOS files necessary to run end-to-end solution are not provided here yet. User Guide / documentation describing end-to-end solution is not provided here yet. For now, intended audience is limited.
This repository contains:
- user-space application and kernel drivers for Intel VCAC pcie-extension cards;
- kernel patches adding support for VCAC cards;
- build scripts necessary to build binary artifacts;
- scripts to build OS images for VCAC cards (both Linux and Windows images).
Please refer to User Guide for more information and usage suggestions.
VCAC-R, normal EEPROM: https://openvisualcloud.github.io/VCAC-SW/eeprom/VCAC-R
VCAC-R, DMA-disabled EEPROM: https://openvisualcloud.github.io/VCAC-SW/eeprom/VCAC-R/DMA_disabled
VCAC-A, normal EEPROM: https://openvisualcloud.github.io/VCAC-SW/eeprom/VCAC-A
VCA Agent: https://openvisualcloud.github.io/VCAC-SW/windows/vcagent
Note: Detailed instruction is distributed via User Guide. (Especially for Windows images).
Note: Docker in version at least 17.05 must be installed and configured, script will run hello-world container to check if this prerequisite is met. (Building without docker could be achieved by somewhat experienced Linux user, edit master_build.sh or run build.sh manually).
All scripts mentioned in this README print help when invoked without arguments. Single dot (.) in beginning of paths (ie: ./master_build.sh) refers to buildscripts directory of cloned git repository of VCA SW source.
Some third party sources must be present before actual build, to download them look for URLs in top-level download_dependencies.sh file. E.g. sources for Ubuntu Linux kernel 5.3.0 can be found in two parts: https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/linux/5.3.0-53.47/linux_5.3.0.orig.tar.gz https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/linux/5.3.0-53.47/linux_5.3.0-53.47.diff.gz After manual inspection and eventual URL customization, invoke script: ./download_dependencies.sh <path-to-store-downloads> usual proxy settings will be taken into account (similarly for docker).
Docker would also download base images and current version of standard software from docker site and Linux distribution sites.
Invoke: ./master_build.sh --vca-src-dir <vca-sw-input-dir> --out-dir <output-dir> --downloads-dir <downloaded-dependencies-dir> where: <vca-sw-input-dir> is path to cloned repository <downloaded-dependencies-dir> is path to downloaded 3rd party binaries (the same as used for ./download_dependencies.sh) <output-dir> is path to place resulting binaries, will be automatically created
Additional optional parameter could be passed to build only part of binaries: --only-pattern <pattern> : build only configurations which match <pattern> (match is done by grep -E) (for list of available configurations look in ./master_build.sh::main())
Build would take a while. Currently Linux kernel with VCA support, drivers for such kernel and user space application are build.
Resulting binaries could be installed on server machines with VCA pci extension cards, it could be different from building machine.
VCAC-A release locates at branch VCAC-A. https://github.com/OpenVisualCloud/VCAC-SW/tree/VCAC-A
Use GitHub's "issues" or "pull-request" features, or reach via e-mail directly developers: Masłowski, Karol or Kitszel, Przemysław (for e-mail addresses, look in git log). Ongoing development currenlty is outside of GitHub, so your potential contribution would be cherry-picked into our internal repository. Keep in mind that project has long history and this is fifth place to host code / building instructions.
GNU GENERAL PUBLIC LICENSE version 2