====== Board at Desk - Single Developer (B@D) v0.9.1 Feature Page ====== ===== What’s New in B@D v0.9? ===== This is the v0.9.1 release of Board-at-Desk, Single Developer, a Virtual Machine provisioned using Vagrant with Virtualbox as the hypervisor, that includes the following tooling: * [[https://kernelci.org/|Kernel CI]] and [[https://www.validation.linaro.org/static/docs/|LAVA]] Virtual Machines have been merged into one VM. Kernel CI is an automated system for the building of Linux kernels linked to on large board farms allowing potential problems to be spotted before any changes reach the kernel mainline. LAVA is an infrastructure for specifying and controlling tests to be carried out on the Kernel CI controlled board farms. * The VM hosts the Kernel CI Frontend, Backend and Storage Server as well as the LAVA server, scheduler and worker which includes the dispatcher. * The primary focus is on the Beaglebone Black and the CIP Kernel v4.4 These have been some of the most important actions taken to make LAVAv2 and KernelCI work on a single VM to test kernels in a board locally connected to the machine: * Merged the KernelCI and LAVA Virtual Machines together into one. - KernelCI was based on Ubuntu v14.04 and it used Nginx as the Web Server along with Flask as the Frontend Web Framework. - KernelCI also used the SimpleHTTPServer for the Storage Server which is where the builds are stored. - LAVA was based on Debian Wheezy and had documentation stating that Ubuntu was not supported. - LAVA used the Apache Web Server and the Django Content Management System for the Frontend Web Framework. - Both web servers wanted to use port 80. It has therefore been amended so that: - The current VM uses Debian Jessie and it runs KernelCI on Nginx on port 5000 and it runs LAVA on Apache on port 8080. - The KernelCI Storage Server has been migrated over to use Nginx on port 8010. * Connection to the Beaglebone Black. - Uses an FTDI USB-to-Serial cable to connect the host machine to the Beaglebone Black - Uses ser2net to route the /dev/ttyUSB0 serial port to a TCP port on the host machine's IP address (e.g. 192.169.0.1 port: 8020) * This setup allows the user to use telnet to communicate to the Beaglebone Black console for remote login and boot messages * It also allows LAVA to use tftp to transfer the kernel directly over to the Beaglebone Black's eMMC without needing to burn an SD Card // Board at Desk now supports Windows 10 as a host - individual instructions for this host are listed at relevant places within the wiki instructions. // Board At Desk - Single Dev. block diagram: {{ :civilinfrastructureplatform:kci_lava_bbb_diagram_0.91b_.png |}} ==== Virtualization ==== ^ Tool ^ Version in v0.9 Beta ^ Minimum version for v0.9.1 release ^ | Vagrant | v1.8.1 | v1.8.1 | | VirtualBox | v5.1.8 r111374 | v4.3 | ==== KernelCI ==== KernelCI components included in this 0.9.1 release are: ^ Tool ^ Version in v0.9 Beta release ^ v0.9.1 release ^ | kernelci-backend | v2017.1 | v2017.3.2 | | kernelci-backend-config | | v0.9.1 | | kernelci-frontend | v2017.1 | v2017.5 | | kernelci-frontend-config | | | | kernelci-build | | v0.9.1 | | Ansible | v2.2.1.0 | v2.3.0.0 | | Flask framework | v0.10.1 | v0.10.1 | | Nginx Web Server | v1.10.2 | 1.10.3-1 | | MongoDB Database | v3.2.12 | 3.2.13 | | ARM Cross-Compiler | v6.3.0 20170124 | 6.3.0-16 | | ARMhf Cross Compile r | v6.3.0 20170124 | 6.3.0-16 | ==== LAVAv2 ==== LAVAv2 components included in this Board at desk - Single Developer v0.9.1 are: ^ Tool ^ Version in v0.9 Beta release ^ Version in v0.9.1 release ^ | LAVAv2 | --- | 2016.12-1 | | Apache Web Server | v2.4.25 (Debian) | v2.4.25-3 | | Django CMS | v1.8.16 | v1.8.16 | | PostgreSQL DDBB | v9.6.1 | 9.6+181 | Note that we are not using the most recent version of LAVAv2: because we are using the version included in Debian Jessie (backports) ==== Other tools ==== Other tools used in Board at desk - Single Developer v0.9.1 ^ Tool ^ Version in v0.9 Beta release ^ v 0.9.1 release ^ | Python | --- | 2.7.13 | ===== Prerequisites ===== This tutorial assumes that you have the following installed on the host machine: ==== For Linux ==== * git v2.7.4 or better * Vagrant v1.8.1 or better * VirtualBox v4.3 or better * Your username must be a member of the ''vboxusers'' group. You can add it with: * ''[user@host ~]$ sudo usermod -aG vboxusers user'' * gpg v1.4.20 or better * sha256sum v8.25 or better otherwise the installation may fail. ==== For Windows 10 ==== * Install git, ssh and rsync from [[https://www.cygwin.com/install.html|cygwin]] * Vagrant v1.8.1 or better * VirtualBox v4.3 or better * core.autocrlf=input is needed in the git settings for the scripts to run under Debian of the virtual machine * Vagrant needs the guest additions ''vagrant plugin install vagrant-vbguest'' * If you need to copy files onto the vm (not required by the provisioning script) you will also need the scp plugin ''vagrant plugin install vagrant-scp'' ==== In both cases ==== * You will also need 6.6GB of disk space for the virtualbox vm or 5.0GB for the vagrant image for the initial install. * The Vagrantfile allocates 2GB of memory for the virtual machine and we recommend at least this value ===== Instructions to deploy and configure B@Dv0.9, connect it to the board and test ===== Follow this instructions to deploy and configure B@D, connect the board and test the reference examples: - Deploy B@D through [[/civilinfrastructureplatform/ciptestingboardatdeskdingledevdeployment#b-d-deployment-method-2-building-vm-from-scratch-using-vagrant-15|Vagrant]] or by downloading the [[/civilinfrastructureplatform/ciptestingboardatdeskdingledevdeployment#b-d-standalone-virtual-machine-box|B@D standalone VM box]] directly. - Once deployed, [[/civilinfrastructureplatform/ciptestingboardatdesksingledevsetup|configure B@D]]. - Connect the board ([[/civilinfrastructureplatform/beagleboneblackboard|Beaglebone Black]] in this case) to the host machine, where B@D is deployed. - [[/civilinfrastructureplatform/cipsystembuildhowto|Build the kernel (system)]] to be tested and required artifacts. - Check the [[/civilinfrastructureplatform/ciptestingreferencetestcases|reference test cases]] and try them as examples. ===== Known Issues ===== * [[/civilinfrastructureplatform/ciptestingknownissues| Known Issues]] and workarounds when testing Civil Infrastructure Platform or the tools provided by the project. ===== Interesting Links ===== ==== General Links ==== * CIP testing releases * B@D v0.9.1 [[https://www.cip-project.org/blog/2017/05/30/bd-v0-9-1|release announcement]]. * CIP testing project [[/civilinfrastructureplatform/cipdownload|Download page]]. * CIP testing project [[/civilinfrastructureplatform/ciptesting|landing page]]. * CIP code is in [[https://gitlab.com/cip-project/cip-testing/board-at-desk-single-dev/tree/master|Gitlab.com]] ==== Links relating to the B@D tooling ==== * LAVA v2 Pipeline Model: https://validation.linaro.org/static/docs/v2/index.html * How to write LAVA v2, or “pipeline” jobs: https://validation.linaro.org/static/docs/v2/dispatcher-format.html * More on writing Lavav2 tests: https://www.validation.linaro.org/static/docs/v2/contents.html * Online YAML Parser: https://yaml-online-parser.appspot.com/ ==== B@D Supported Hardware Links ==== * Beaglebone Black page: http://beagleboard.org/black * U-Boot on the Beaglebone Black: https://www.twam.info/hardware/beaglebone-black/u-boot-on-beaglebone-black * BeagleBone Black: Flash the On-Board Memory http://perf.tamu.edu/perftech/beaglebone-black-flash-the-on-board-memory-emmc/ * Kernel CI https://kernelci.org/ * [[/civilinfrastructureplatform/ciptesting/releases|Back to the parent page]]