CSIT-111: Add Packer based framework to auto-generate disk images 53/1253/7
authorCarsten Koester <ckoester@cisco.com>
Wed, 25 May 2016 09:58:29 +0000 (05:58 -0400)
committerDave Wallace <dwallacelf@gmail.com>
Thu, 2 Jun 2016 00:18:28 +0000 (00:18 +0000)
Change-Id: Ia18ea34a6288aec0f12f176f4cc264d0f215d1fd
Signed-off-by: Carsten Koester <ckoester@cisco.com>
42 files changed:
resources/tools/disk-image-builder/nested/.gitignore [new file with mode: 0644]
resources/tools/disk-image-builder/nested/CHANGELOG [new file with mode: 0644]
resources/tools/disk-image-builder/nested/README.md [new file with mode: 0644]
resources/tools/disk-image-builder/nested/build.sh [new file with mode: 0755]
resources/tools/disk-image-builder/nested/buildroot-config [new file with mode: 0644]
resources/tools/disk-image-builder/nested/clean.sh [new file with mode: 0755]
resources/tools/disk-image-builder/nested/deepclean.sh [new file with mode: 0755]
resources/tools/disk-image-builder/nested/kernel-defconfig [new file with mode: 0644]
resources/tools/disk-image-builder/nested/patches/01-serial-console [new file with mode: 0755]
resources/tools/disk-image-builder/nested/patches/02-users [new file with mode: 0755]
resources/tools/disk-image-builder/nested/patches/03-network [new file with mode: 0755]
resources/tools/disk-image-builder/nested/patches/04-qemu-ga [new file with mode: 0755]
resources/tools/disk-image-builder/nested/patches/05-ssh-hostkeys [new file with mode: 0755]
resources/tools/disk-image-builder/nested/requirements.sh [new file with mode: 0644]
resources/tools/disk-image-builder/ubuntu/.gitignore [new file with mode: 0644]
resources/tools/disk-image-builder/ubuntu/CHANGELOG [new file with mode: 0644]
resources/tools/disk-image-builder/ubuntu/build-listmaker.sh [new file with mode: 0755]
resources/tools/disk-image-builder/ubuntu/build.sh [new file with mode: 0755]
resources/tools/disk-image-builder/ubuntu/clean.sh [new file with mode: 0644]
resources/tools/disk-image-builder/ubuntu/deepclean.sh [new file with mode: 0755]
resources/tools/disk-image-builder/ubuntu/html/preseed.cfg [new file with mode: 0644]
resources/tools/disk-image-builder/ubuntu/listmaker/ubuntu-14.04.4.json [new file with mode: 0644]
resources/tools/disk-image-builder/ubuntu/listmaker/virl-listmaker.yaml [new file with mode: 0644]
resources/tools/disk-image-builder/ubuntu/lists/ubuntu-14.04.4_2016-05-25_1.0/apt-packages.txt [new file with mode: 0644]
resources/tools/disk-image-builder/ubuntu/lists/ubuntu-14.04.4_2016-05-25_1.0/pip-requirements.txt [new file with mode: 0644]
resources/tools/disk-image-builder/ubuntu/nested/NO-NESTED [new file with mode: 0644]
resources/tools/disk-image-builder/ubuntu/run-listmaker.sh [new file with mode: 0755]
resources/tools/disk-image-builder/ubuntu/scripts-local/upload-image-to-virl.sh [new file with mode: 0755]
resources/tools/disk-image-builder/ubuntu/scripts-remote/cleanup.sh [new file with mode: 0644]
resources/tools/disk-image-builder/ubuntu/scripts-remote/post-install.sh [new file with mode: 0644]
resources/tools/disk-image-builder/ubuntu/scripts-remote/serial-console.sh [new file with mode: 0644]
resources/tools/disk-image-builder/ubuntu/scripts-remote/vagrant-guestadditions.sh [new file with mode: 0644]
resources/tools/disk-image-builder/ubuntu/scripts-remote/vagrant-user.sh [new file with mode: 0644]
resources/tools/disk-image-builder/ubuntu/ubuntu-14.04.4.json [new file with mode: 0644]
resources/tools/disk-image-builder/ubuntu/ubuntu-14.04.4.json.WITH-ATLAS [new file with mode: 0644]
resources/tools/virl/bin/start-testcase
resources/tools/virl/bin/stop-testcase
resources/tools/virl/topologies/double-ring-nested.virl
resources/tools/virl/topologies/simple-ring-nested.virl [deleted file]
resources/tools/virl/topologies/simple-ring-nested.yaml [deleted file]
resources/tools/virl/topologies/simple-ring.virl [deleted file]
resources/tools/virl/topologies/simple-ring.yaml [deleted file]

diff --git a/resources/tools/disk-image-builder/nested/.gitignore b/resources/tools/disk-image-builder/nested/.gitignore
new file mode 100644 (file)
index 0000000..a007fea
--- /dev/null
@@ -0,0 +1 @@
+build/*
diff --git a/resources/tools/disk-image-builder/nested/CHANGELOG b/resources/tools/disk-image-builder/nested/CHANGELOG
new file mode 100644 (file)
index 0000000..9a05188
--- /dev/null
@@ -0,0 +1,27 @@
+## [1.2] - 2016-05-25
+
+### Changes
+- Embed version in hidden file with magic string that can be read
+  without actually booting the image:
+  ~~~
+  cat <vm image> | strings | grep NESTED_VERSION
+  ~~~
+- Include both cisco/cisco credentials (for backwards compatibility)
+  and csit/csit
+
+## [1.1] - 2016-05-17
+
+### Added
+- iproute2 package (for "ip" command)
+
+
+## [1.0] - 2016-05-16
+
+### First release
+- Basic script to build FD.IO VPP CSIT "nested VM" image using buildroot.
+This version is to mimic the previous, manually built image.
+- Packages installed:
+    - Kernel 4.3
+        - support for virtio NIC
+    - bridge-utils (for brctl)
+    - qemu (for qemu-ga)
diff --git a/resources/tools/disk-image-builder/nested/README.md b/resources/tools/disk-image-builder/nested/README.md
new file mode 100644 (file)
index 0000000..3c49689
--- /dev/null
@@ -0,0 +1,71 @@
+# Nested VM builder
+
+## Summary
+
+The files in this directory are used to build CSIT's "nested VM" image.
+The Nested VM image is a mini Linux image that gets spun up inside the
+main CSIT test VM for selected test cases.
+
+Considering that this VM is:
+
+- Very purpose-built; the ONLY thing it needs to do is run a bridge group,
+- spun up and torn down repeatedly by an automated test case,
+- is bundled within another VM image where resources are already limited,
+
+this VM is designed to be minimalistic, small and efficient. For that reason
+it is NOT build around any established Linux distribution (Ubuntu,
+Red Hat, ...), but around "buildroot" (https://buildroot.org/) which is
+aimed at building small Linux images for embedded systems.
+
+Scripts in this directory are aimed at producing functionally identical VM
+images each time they are run. That is, a given version of this package
+will consistenly download the same buildroot version, and install the same
+packages and the same kernel version with the same config.
+
+
+### Prerequisites
+
+This scripts have been tested on Ubuntu Linux. They should run on any platform
+supported by buildroot, and where a standard bourne shell and Linux toolchain
+are available.
+
+## Files
+
+### requirements.sh
+
+(One-time) installs required Ubuntu packages for buildroot
+
+
+### build.sh
+
+Downloads all required packages source code and builds the nested VM image.
+Is NOT intended to be run as root, but requires "sudo" privileges for a
+handful of commands.
+
+### clean.sh
+
+Remove any object files and compiled files. Keep the downloaded source
+packages, both of buildroot itself as well as any packages downloaded by
+buildroot.
+
+### deepclean.sh
+
+Remove any compiled or downloaded files.
+
+### CHANGELOG
+
+A change log. This will also be copied onto the image itself.
+Versions in the changelog MUST be tagged as follows:
+
+~~~
+## [MAJOR.MINOR] YYYY-MM-DD
+~~~
+eg.
+
+~~~
+## [1.0] 2016-05-16
+~~~
+
+This format will be used for auto-extracting the version
+number, which will become part of the target image filename
+and will also be copied onto the image itself.
diff --git a/resources/tools/disk-image-builder/nested/build.sh b/resources/tools/disk-image-builder/nested/build.sh
new file mode 100755 (executable)
index 0000000..7eddd64
--- /dev/null
@@ -0,0 +1,178 @@
+#!/bin/sh
+
+# Copyright (c) 2016 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Note: In order to limit the damage this script can do, it is recommended
+# to NOT run as root.
+
+#
+# 1. Download buildroot
+# 2. Build buildroot kernel and root file system as per
+#    config files included in this package
+# 3. Create empty disk image and extract buildroot root
+#    file system onto it, make it bootable
+# 4. Apply any patches/additions included in this package
+#
+BUILD_DIR="$(dirname $0)/build"
+
+BUILDROOT_NAME='buildroot-2016.02'
+BUILDROOT_DIR="${BUILD_DIR}/${BUILDROOT_NAME}"
+BUILDROOT_TARBALL="${BUILDROOT_NAME}.tar.gz"
+BUILDROOT_URL="https://buildroot.org/downloads/${BUILDROOT_TARBALL}"
+BUILDROOT_OUTPUT="${BUILDROOT_DIR}/output/images/rootfs.tar"
+
+DISK_FREE_SIZE=8388608              # Min. free space on disk (8 MB)
+DISK_ROUND_TO_NEAREST=16777216      # Round disk size up to nearest (16 MB)
+
+VERSION=$(cat $(dirname $0)/CHANGELOG  | grep '^## ' | head -1 | sed -e 's/.*\[\(.*\)\].*/\1/')
+if [ "${VERSION}" = "" ]
+then
+  echo "Unable to determine build version from CHANGELOG file. Make sure"
+  echo "that there is an entry for the most recent version in CHANGELOG,"
+  echo "and that the entry is formated like"
+  echo
+  echo "## [1.0] - 2016-05-16"
+  exit 1
+fi
+
+echo Building version: ${VERSION}
+echo $VERSION > ${BUILD_DIR}/VERSION
+echo "NESTED_VERSION=${VERSION}" > ${BUILD_DIR}/VERSION_HIDDEN
+img_name="${BUILD_DIR}/csit-nested-${VERSION}.img"
+
+# Normally no need to touch the variables below
+DISK_SECT_SIZE=512
+DISK_HEADS=16
+DISK_SECT_PER_TRACK=63
+DISK_RESERVED_SECTORS=2048
+
+MOUNT_TMPDIR="${BUILD_DIR}/tmp-mount"
+
+set -e
+
+# Download buildroot if not already there
+wget -P ${BUILD_DIR} -N $BUILDROOT_URL
+tar -C ${BUILD_DIR} -xzf ${BUILD_DIR}/$BUILDROOT_TARBALL
+
+cp -p buildroot-config $BUILDROOT_DIR/.config
+cp -p kernel-defconfig $BUILDROOT_DIR/kernel-defconfig
+make -C $BUILDROOT_DIR
+
+if [ ! -f ${BUILDROOT_OUTPUT} ]
+then
+  echo "Buildroot compiled OK, but root file system ${BUILDROOT_OUTPUT}"
+  echo "does not exist. Somethig is wrong. Exiting."
+  exit 1
+fi
+
+# If we got here, it means we downloaded (if applicable) and built (if
+# applicable) buildroot OK.
+#
+# Now let's calculate the required disk size, and build an empty disk.
+
+buildroot_size=$(stat -c%s ${BUILDROOT_OUTPUT})
+desired_size=$(( ${buildroot_size} + ${DISK_FREE_SIZE} ))
+rounded_size=$(( ((${desired_size}/${DISK_ROUND_TO_NEAREST})+1) * \
+                  ${DISK_ROUND_TO_NEAREST} ))
+
+echo "Actual root FS size: ${buildroot_size}"
+echo "Root FS size + desired free space (${DISK_FREE_SIZE}): ${desired_size}"
+echo "Root FS size rounded to nearest ${DISK_ROUND_TO_NEAREST}:" \
+  "${rounded_size} ($(( ${rounded_size} / 1024 / 1024 )) MB)"
+
+# In a normal world, we'd be creating a full-size empty image with "dd", an
+# then use fdisk to partition it, and a tool like "kpartx" to map this into
+# individual partitions. We'd then map the partition we're interested in.
+# However, in order to avoid messing with /dev/mapper, we can also create
+# our actual partition first, and then merge it with the MBR+partition table
+# "prefix" to obtain our full disk.
+
+sectors=$(( ${rounded_size} / ${DISK_SECT_SIZE} ))
+
+disk_prefix=${img_name}.prefix
+disk_main=${img_name}.main
+
+dd if=/dev/zero of=${disk_prefix} bs=${DISK_SECT_SIZE} \
+  count=${DISK_RESERVED_SECTORS}
+dd if=/dev/zero of=${disk_main} bs=${DISK_SECT_SIZE} \
+  count=$(( $sectors - ${DISK_RESERVED_SECTORS} ))
+
+# Format and mount the root file system
+mkfs.ext2 -F -L root ${disk_main}
+mkdir -p ${MOUNT_TMPDIR}
+sudo mount -o loop ${disk_main} ${MOUNT_TMPDIR}
+trap "sudo umount ${MOUNT_TMPDIR}" EXIT
+
+# Extract the root filesystem
+echo "Extracting root filesystem..."
+sudo tar -C ${MOUNT_TMPDIR} -xf ${BUILDROOT_OUTPUT}
+
+# Apply any patches
+echo "Applying patches/modifications"
+mydir=$(pwd)
+cd ${MOUNT_TMPDIR}
+sudo run-parts -v  ${mydir}/patches
+cd ${mydir}
+
+# Copy version and changelog
+sudo cp ${BUILD_DIR}/VERSION ${MOUNT_TMPDIR}/
+sudo cp ${mydir}/CHANGELOG ${MOUNT_TMPDIR}/
+# Also embed this into a hidden file that we can easily retrieve with
+# "cat <disk image> | strings | grep NESTED_VERSION"
+sudo cp ${BUILD_DIR}/VERSION_HIDDEN ${MOUNT_TMPDIR}/.VERSION.HIDDEN
+
+# Unmount root filesystem
+sudo umount ${MOUNT_TMPDIR}
+trap EXIT
+rmdir ${MOUNT_TMPDIR}
+
+# Now create our larger disk
+cat ${disk_prefix} ${disk_main} > ${img_name}
+rm -f ${disk_prefix} ${disk_main}
+
+# Create partition table on the disk
+sed -e 's/\s*\([\+0-9a-zA-Z]*\).*/\1/' << _EOF | fdisk -H ${DISK_HEADS} -S ${DISK_SECT_PER_TRACK} ${img_name}
+  o # clear the in memory partition table
+  n # new partition
+  p # primary partition
+  1 # partition number 1
+  ${DISK_RESERVED_SECTORS} # Start a few KB into the disk, leave room for GRUB
+    # Default - all the way through the end of the disk
+  a # make a partition bootable
+  1 # bootable partition is partition 1
+  p # print the in-memory partition table
+  w # write the partition table
+  q # and we're done
+_EOF
+
+disk_cylinders=$(fdisk -l -H ${DISK_HEADS} -S ${DISK_SECT_PER_TRACK} ${img_name} | \
+  grep cylinders | \
+  sed -e 's/.* \([0-9][0-9]*\) cylinders.*/\1/')
+
+echo "Disk has ${disk_cylinders} cylinders"
+
+# Install GRUB bootloader on the disk image
+${BUILDROOT_DIR}/output/host/sbin/grub --device-map=/dev/null <<_EOF
+device (hd0) ${img_name}
+geometry (hd0) ${disk_cylinders} ${DISK_HEADS} ${DISK_SECT_PER_TRACK}
+root (hd0,0)
+setup (hd0)
+quit
+_EOF
+
+echo
+echo
+echo
+echo "Your image should be ready in:"
+ls -l ${img_name}
diff --git a/resources/tools/disk-image-builder/nested/buildroot-config b/resources/tools/disk-image-builder/nested/buildroot-config
new file mode 100644 (file)
index 0000000..b909a39
--- /dev/null
@@ -0,0 +1,2685 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Buildroot 2016.02 Configuration
+#
+BR2_HAVE_DOT_CONFIG=y
+BR2_HOST_GCC_AT_LEAST_4_7=y
+BR2_HOST_GCC_AT_LEAST_4_8=y
+BR2_HOSTARCH_NEEDS_IA32_COMPILER=y
+
+#
+# Target options
+#
+BR2_ARCH_IS_64=y
+BR2_ARCH_HAS_MMU_MANDATORY=y
+# BR2_arcle is not set
+# BR2_arceb is not set
+# BR2_arm is not set
+# BR2_armeb is not set
+# BR2_aarch64 is not set
+# BR2_aarch64_be is not set
+# BR2_bfin is not set
+# BR2_i386 is not set
+# BR2_microblazeel is not set
+# BR2_microblazebe is not set
+# BR2_mips is not set
+# BR2_mipsel is not set
+# BR2_mips64 is not set
+# BR2_mips64el is not set
+# BR2_nios2 is not set
+# BR2_powerpc is not set
+# BR2_powerpc64 is not set
+# BR2_powerpc64le is not set
+# BR2_sh is not set
+# BR2_sparc is not set
+# BR2_sparc64 is not set
+BR2_x86_64=y
+# BR2_xtensa is not set
+BR2_ARCH="x86_64"
+BR2_ENDIAN="LITTLE"
+BR2_GCC_TARGET_ARCH="corei7"
+BR2_BINFMT_SUPPORTS_SHARED=y
+BR2_BINFMT_ELF=y
+BR2_X86_CPU_HAS_MMX=y
+BR2_X86_CPU_HAS_SSE=y
+BR2_X86_CPU_HAS_SSE2=y
+BR2_X86_CPU_HAS_SSE3=y
+BR2_X86_CPU_HAS_SSSE3=y
+BR2_X86_CPU_HAS_SSE4=y
+BR2_X86_CPU_HAS_SSE42=y
+# BR2_x86_nocona is not set
+# BR2_x86_core2 is not set
+BR2_x86_corei7=y
+# BR2_x86_corei7_avx is not set
+# BR2_x86_core_avx2 is not set
+# BR2_x86_atom is not set
+# BR2_x86_opteron is not set
+# BR2_x86_opteron_sse3 is not set
+# BR2_x86_barcelona is not set
+# BR2_x86_jaguar is not set
+# BR2_x86_steamroller is not set
+
+#
+# Build options
+#
+
+#
+# Commands
+#
+BR2_WGET="wget --passive-ftp -nd -t 3"
+BR2_SVN="svn"
+BR2_BZR="bzr"
+BR2_GIT="git"
+BR2_CVS="cvs"
+BR2_LOCALFILES="cp"
+BR2_SCP="scp"
+BR2_SSH="ssh"
+BR2_HG="hg"
+BR2_ZCAT="gzip -d -c"
+BR2_BZCAT="bzcat"
+BR2_XZCAT="xzcat"
+BR2_TAR_OPTIONS=""
+BR2_DEFCONFIG="$(CONFIG_DIR)/defconfig"
+BR2_DL_DIR="$(TOPDIR)/dl"
+BR2_HOST_DIR="$(BASE_DIR)/host"
+
+#
+# Mirrors and Download locations
+#
+BR2_PRIMARY_SITE=""
+BR2_BACKUP_SITE="http://sources.buildroot.net"
+BR2_KERNEL_MIRROR="https://www.kernel.org/pub"
+BR2_GNU_MIRROR="http://ftp.gnu.org/pub/gnu"
+BR2_LUAROCKS_MIRROR="http://rocks.moonscript.org"
+BR2_CPAN_MIRROR="http://cpan.metacpan.org"
+BR2_JLEVEL=0
+# BR2_CCACHE is not set
+# BR2_DEPRECATED is not set
+# BR2_ENABLE_DEBUG is not set
+BR2_STRIP_strip=y
+# BR2_STRIP_none is not set
+BR2_STRIP_EXCLUDE_FILES=""
+BR2_STRIP_EXCLUDE_DIRS=""
+# BR2_OPTIMIZE_0 is not set
+# BR2_OPTIMIZE_1 is not set
+# BR2_OPTIMIZE_2 is not set
+# BR2_OPTIMIZE_3 is not set
+BR2_OPTIMIZE_S=y
+
+#
+# Stack Smashing Protection needs a toolchain w/ SSP
+#
+# BR2_STATIC_LIBS is not set
+BR2_SHARED_LIBS=y
+# BR2_SHARED_STATIC_LIBS is not set
+BR2_PACKAGE_OVERRIDE_FILE="$(CONFIG_DIR)/local.mk"
+BR2_GLOBAL_PATCH_DIR=""
+
+#
+# Advanced
+#
+# BR2_COMPILER_PARANOID_UNSAFE_PATH is not set
+
+#
+# Toolchain
+#
+BR2_TOOLCHAIN=y
+BR2_TOOLCHAIN_USES_UCLIBC=y
+BR2_TOOLCHAIN_BUILDROOT=y
+# BR2_TOOLCHAIN_EXTERNAL is not set
+BR2_TOOLCHAIN_BUILDROOT_VENDOR="buildroot"
+
+#
+# Kernel Header Options
+#
+# BR2_KERNEL_HEADERS_AS_KERNEL is not set
+# BR2_KERNEL_HEADERS_3_2 is not set
+# BR2_KERNEL_HEADERS_3_4 is not set
+# BR2_KERNEL_HEADERS_3_10 is not set
+# BR2_KERNEL_HEADERS_3_12 is not set
+# BR2_KERNEL_HEADERS_3_14 is not set
+# BR2_KERNEL_HEADERS_3_18 is not set
+# BR2_KERNEL_HEADERS_4_1 is not set
+# BR2_KERNEL_HEADERS_4_3 is not set
+BR2_KERNEL_HEADERS_4_4=y
+# BR2_KERNEL_HEADERS_VERSION is not set
+BR2_DEFAULT_KERNEL_HEADERS="4.4.3"
+BR2_TOOLCHAIN_BUILDROOT_UCLIBC=y
+# BR2_TOOLCHAIN_BUILDROOT_GLIBC is not set
+# BR2_TOOLCHAIN_BUILDROOT_MUSL is not set
+BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
+BR2_PACKAGE_LINUX_HEADERS=y
+BR2_PACKAGE_UCLIBC=y
+
+#
+# uClibc Options
+#
+BR2_UCLIBC_CONFIG="package/uclibc/uClibc-ng.config"
+BR2_UCLIBC_CONFIG_FRAGMENT_FILES=""
+# BR2_TOOLCHAIN_BUILDROOT_INET_RPC is not set
+BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
+# BR2_TOOLCHAIN_BUILDROOT_LOCALE is not set
+# BR2_PTHREADS_NONE is not set
+BR2_PTHREADS_NATIVE=y
+# BR2_PTHREAD_DEBUG is not set
+# BR2_TOOLCHAIN_BUILDROOT_USE_SSP is not set
+BR2_UCLIBC_INSTALL_UTILS=y
+# BR2_UCLIBC_INSTALL_TEST_SUITE is not set
+BR2_UCLIBC_TARGET_ARCH="x86_64"
+
+#
+# Binutils Options
+#
+# BR2_BINUTILS_VERSION_2_23_X is not set
+BR2_BINUTILS_VERSION_2_24_X=y
+# BR2_BINUTILS_VERSION_2_25_X is not set
+BR2_BINUTILS_VERSION="2.24"
+BR2_BINUTILS_EXTRA_CONFIG_OPTIONS=""
+
+#
+# GCC Options
+#
+BR2_GCC_NEEDS_MPC=y
+BR2_GCC_SUPPORTS_GRAPHITE=y
+# BR2_GCC_VERSION_4_7_X is not set
+# BR2_GCC_VERSION_4_8_X is not set
+BR2_GCC_VERSION_4_9_X=y
+# BR2_GCC_VERSION_5_X is not set
+BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE=y
+BR2_GCC_VERSION="4.9.3"
+BR2_EXTRA_GCC_CONFIG_OPTIONS=""
+# BR2_TOOLCHAIN_BUILDROOT_CXX is not set
+# BR2_TOOLCHAIN_BUILDROOT_FORTRAN is not set
+BR2_GCC_ENABLE_TLS=y
+# BR2_GCC_ENABLE_LTO is not set
+# BR2_GCC_ENABLE_OPENMP is not set
+# BR2_GCC_ENABLE_GRAPHITE is not set
+# BR2_PACKAGE_HOST_GDB is not set
+BR2_USE_WCHAR=y
+BR2_TOOLCHAIN_HAS_THREADS=y
+BR2_TOOLCHAIN_HAS_THREADS_NPTL=y
+BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS=y
+# BR2_ENABLE_LOCALE_PURGE is not set
+BR2_NEEDS_GETTEXT=y
+BR2_USE_MMU=y
+BR2_TARGET_OPTIMIZATION=""
+BR2_TARGET_LDFLAGS=""
+# BR2_ECLIPSE_REGISTER is not set
+BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0=y
+BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1=y
+BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2=y
+BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3=y
+BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4=y
+BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5=y
+BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6=y
+BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7=y
+BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8=y
+BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9=y
+BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10=y
+BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11=y
+BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12=y
+BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13=y
+BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14=y
+BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15=y
+BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16=y
+BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17=y
+BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18=y
+BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19=y
+BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0=y
+BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1=y
+BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2=y
+BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3=y
+BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4=y
+BR2_TOOLCHAIN_HEADERS_AT_LEAST="4.4"
+BR2_TOOLCHAIN_GCC_AT_LEAST_4_3=y
+BR2_TOOLCHAIN_GCC_AT_LEAST_4_4=y
+BR2_TOOLCHAIN_GCC_AT_LEAST_4_5=y
+BR2_TOOLCHAIN_GCC_AT_LEAST_4_6=y
+BR2_TOOLCHAIN_GCC_AT_LEAST_4_7=y
+BR2_TOOLCHAIN_GCC_AT_LEAST_4_8=y
+BR2_TOOLCHAIN_GCC_AT_LEAST_4_9=y
+BR2_TOOLCHAIN_GCC_AT_LEAST="4.9"
+BR2_TOOLCHAIN_HAS_SYNC_1=y
+BR2_TOOLCHAIN_HAS_SYNC_2=y
+BR2_TOOLCHAIN_HAS_SYNC_4=y
+BR2_TOOLCHAIN_HAS_SYNC_8=y
+BR2_TOOLCHAIN_HAS_ATOMIC=y
+
+#
+# System configuration
+#
+BR2_TARGET_GENERIC_HOSTNAME="buildroot"
+BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot"
+BR2_TARGET_GENERIC_PASSWD_MD5=y
+# BR2_TARGET_GENERIC_PASSWD_SHA256 is not set
+# BR2_TARGET_GENERIC_PASSWD_SHA512 is not set
+BR2_TARGET_GENERIC_PASSWD_METHOD="md5"
+BR2_INIT_BUSYBOX=y
+# BR2_INIT_SYSV is not set
+
+#
+# systemd needs (e)glibc toolchain, headers >= 3.10
+#
+# BR2_INIT_NONE is not set
+# BR2_ROOTFS_DEVICE_CREATION_STATIC is not set
+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS=y
+# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV is not set
+# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV is not set
+BR2_ROOTFS_DEVICE_TABLE="system/device_table.txt"
+BR2_ROOTFS_SKELETON_DEFAULT=y
+# BR2_ROOTFS_SKELETON_CUSTOM is not set
+# BR2_ROOTFS_MERGED_USR is not set
+BR2_TARGET_ENABLE_ROOT_LOGIN=y
+BR2_TARGET_GENERIC_ROOT_PASSWD=""
+BR2_SYSTEM_BIN_SH_BUSYBOX=y
+
+#
+# bash, dash, zsh need BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
+#
+# BR2_SYSTEM_BIN_SH_NONE is not set
+BR2_SYSTEM_BIN_SH="busybox"
+BR2_TARGET_GENERIC_GETTY=y
+BR2_TARGET_GENERIC_GETTY_PORT="console"
+BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP=y
+# BR2_TARGET_GENERIC_GETTY_BAUDRATE_9600 is not set
+# BR2_TARGET_GENERIC_GETTY_BAUDRATE_19200 is not set
+# BR2_TARGET_GENERIC_GETTY_BAUDRATE_38400 is not set
+# BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600 is not set
+# BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200 is not set
+BR2_TARGET_GENERIC_GETTY_BAUDRATE="0"
+BR2_TARGET_GENERIC_GETTY_TERM="vt100"
+BR2_TARGET_GENERIC_GETTY_OPTIONS=""
+BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW=y
+BR2_SYSTEM_DHCP=""
+# BR2_TARGET_TZ_INFO is not set
+BR2_ROOTFS_USERS_TABLES=""
+BR2_ROOTFS_OVERLAY=""
+BR2_ROOTFS_POST_BUILD_SCRIPT=""
+BR2_ROOTFS_POST_IMAGE_SCRIPT=""
+
+#
+# Kernel
+#
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_LATEST_VERSION=y
+# BR2_LINUX_KERNEL_CUSTOM_VERSION is not set
+# BR2_LINUX_KERNEL_CUSTOM_TARBALL is not set
+# BR2_LINUX_KERNEL_CUSTOM_GIT is not set
+# BR2_LINUX_KERNEL_CUSTOM_HG is not set
+# BR2_LINUX_KERNEL_CUSTOM_LOCAL is not set
+BR2_LINUX_KERNEL_VERSION="4.4.3"
+BR2_LINUX_KERNEL_PATCH=""
+# BR2_LINUX_KERNEL_USE_DEFCONFIG is not set
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="kernel-defconfig"
+BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES=""
+BR2_LINUX_KERNEL_BZIMAGE=y
+# BR2_LINUX_KERNEL_VMLINUX is not set
+# BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM is not set
+BR2_LINUX_KERNEL_GZIP=y
+# BR2_LINUX_KERNEL_LZ4 is not set
+# BR2_LINUX_KERNEL_LZMA is not set
+# BR2_LINUX_KERNEL_LZO is not set
+# BR2_LINUX_KERNEL_XZ is not set
+# BR2_LINUX_KERNEL_DTS_SUPPORT is not set
+BR2_LINUX_KERNEL_INSTALL_TARGET=y
+
+#
+# Linux Kernel Extensions
+#
+# BR2_LINUX_KERNEL_EXT_XENOMAI is not set
+# BR2_LINUX_KERNEL_EXT_RTAI is not set
+# BR2_LINUX_KERNEL_EXT_FBTFT is not set
+
+#
+# Linux Kernel Tools
+#
+# BR2_LINUX_KERNEL_TOOL_CPUPOWER is not set
+# BR2_LINUX_KERNEL_TOOL_PERF is not set
+
+#
+# Target packages
+#
+BR2_PACKAGE_BUSYBOX=y
+BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox.config"
+BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES=""
+# BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is not set
+# BR2_PACKAGE_BUSYBOX_SELINUX is not set
+# BR2_PACKAGE_BUSYBOX_WATCHDOG is not set
+BR2_PACKAGE_SKELETON=y
+
+#
+# Audio and video applications
+#
+# BR2_PACKAGE_ALSA_UTILS is not set
+# BR2_PACKAGE_AUMIX is not set
+
+#
+# bellagio needs a toolchain w/ C++, threads, dynamic library
+#
+# BR2_PACKAGE_DVBLAST is not set
+# BR2_PACKAGE_DVDAUTHOR is not set
+
+#
+# dvdrw-tools needs a toolchain w/ threads, C++, wchar
+#
+
+#
+# espeak needs a toolchain w/ C++, wchar, threads, dynamic library
+#
+# BR2_PACKAGE_FAAD2 is not set
+# BR2_PACKAGE_FFMPEG is not set
+# BR2_PACKAGE_FLAC is not set
+# BR2_PACKAGE_FLITE is not set
+# BR2_PACKAGE_GSTREAMER is not set
+# BR2_PACKAGE_GSTREAMER1 is not set
+
+#
+# jack2 needs a toolchain w/ threads, C++, dynamic library
+#
+BR2_PACKAGE_KODI_ARCH_SUPPORTS=y
+
+#
+# kodi needs a toolchain w/ C++, threads, wchar, dynamic library
+#
+
+#
+# kodi needs an OpenGL or an openGL ES and EGL backend
+#
+# BR2_PACKAGE_LAME is not set
+# BR2_PACKAGE_MADPLAY is not set
+
+#
+# miraclecast needs systemd and a glibc toolchain w/ threads and wchar
+#
+
+#
+# mjpegtools needs a toolchain w/ C++, threads
+#
+
+#
+# modplugtools needs a toolchain w/ C++
+#
+
+#
+# mpd needs a toolchain w/ C++, threads, wchar, gcc >= 4.6
+#
+# BR2_PACKAGE_MPD_MPC is not set
+# BR2_PACKAGE_MPG123 is not set
+BR2_PACKAGE_MPLAYER_ARCH_SUPPORTS=y
+# BR2_PACKAGE_MPLAYER is not set
+# BR2_PACKAGE_MUSEPACK is not set
+# BR2_PACKAGE_NCMPC is not set
+# BR2_PACKAGE_OPUS_TOOLS is not set
+# BR2_PACKAGE_PULSEAUDIO is not set
+# BR2_PACKAGE_SOX is not set
+# BR2_PACKAGE_SQUEEZELITE is not set
+
+#
+# tovid needs a toolchain w/ threads, C++, wchar
+#
+
+#
+# tovid depends on python or python3
+#
+# BR2_PACKAGE_TSTOOLS is not set
+# BR2_PACKAGE_TWOLAME is not set
+
+#
+# upmpdcli needs a toolchain w/ C++, threads, gcc >= 4.6
+#
+
+#
+# v4l2grab needs a toolchain w/ threads, dynamic library, C++ and headers >= 3.0
+#
+
+#
+# vlc needs a toolchain w/ C++, dynamic library, wchar, threads, headers >= 3.7
+#
+# BR2_PACKAGE_VORBIS_TOOLS is not set
+# BR2_PACKAGE_WAVPACK is not set
+# BR2_PACKAGE_YAVTA is not set
+# BR2_PACKAGE_YMPD is not set
+
+#
+# Compressors and decompressors
+#
+# BR2_PACKAGE_BZIP2 is not set
+# BR2_PACKAGE_LZ4 is not set
+
+#
+# lzip needs a toolchain w/ C++
+#
+# BR2_PACKAGE_LZOP is not set
+
+#
+# unrar needs a toolchain w/ C++, wchar, threads
+#
+# BR2_PACKAGE_XZ is not set
+# BR2_PACKAGE_ZIP is not set
+
+#
+# Debugging, profiling and benchmark
+#
+
+#
+# blktrace needs a (e)glibc or musl toolchain
+#
+
+#
+# bonnie++ needs a toolchain w/ C++
+#
+# BR2_PACKAGE_CACHE_CALIBRATOR is not set
+# BR2_PACKAGE_DHRYSTONE is not set
+# BR2_PACKAGE_DMALLOC is not set
+# BR2_PACKAGE_DROPWATCH is not set
+# BR2_PACKAGE_DSTAT is not set
+
+#
+# duma needs a toolchain w/ C++, threads, dynamic library
+#
+# BR2_PACKAGE_FIO is not set
+
+#
+# gdb/gdbserver needs a toolchain w/ threads, threads debug
+#
+BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS=y
+
+#
+# google-breakpad requires an (e)glibc toolchain w/ C++ enabled
+#
+# BR2_PACKAGE_IOZONE is not set
+# BR2_PACKAGE_KEXEC is not set
+# BR2_PACKAGE_KTAP is not set
+# BR2_PACKAGE_LATENCYTOP is not set
+# BR2_PACKAGE_LMBENCH is not set
+# BR2_PACKAGE_LTP_TESTSUITE is not set
+# BR2_PACKAGE_LTRACE is not set
+# BR2_PACKAGE_LTTNG_BABELTRACE is not set
+# BR2_PACKAGE_LTTNG_MODULES is not set
+# BR2_PACKAGE_LTTNG_TOOLS is not set
+# BR2_PACKAGE_MCELOG is not set
+# BR2_PACKAGE_MEMSTAT is not set
+# BR2_PACKAGE_NETPERF is not set
+
+#
+# netsniff-ng needs an (e)glibc toolchain w/ threads, headers >= 3.0
+#
+
+#
+# oprofile needs a toolchain w/ C++, wchar
+#
+# BR2_PACKAGE_PAX_UTILS is not set
+# BR2_PACKAGE_PV is not set
+
+#
+# racehound needs a uClibc or (e)glibc toolchain w/ C++, wchar, dynamic library
+#
+# BR2_PACKAGE_RAMSMP is not set
+# BR2_PACKAGE_RAMSPEED is not set
+# BR2_PACKAGE_RT_TESTS is not set
+# BR2_PACKAGE_SPIDEV_TEST is not set
+# BR2_PACKAGE_STRACE is not set
+# BR2_PACKAGE_STRESS is not set
+
+#
+# stress-ng needs a glibc toolchain w/ dynamic library, headers >= 3.3
+#
+
+#
+# sysdig needs a toolchain w/ C++, gcc >= 4.7, dynamic library and a Linux kernel to be built
+#
+# BR2_PACKAGE_SYSPROF is not set
+# BR2_PACKAGE_TINYMEMBENCH is not set
+# BR2_PACKAGE_TRACE_CMD is not set
+# BR2_PACKAGE_TRINITY is not set
+# BR2_PACKAGE_VALGRIND is not set
+# BR2_PACKAGE_WHETSTONE is not set
+
+#
+# Development tools
+#
+# BR2_PACKAGE_BINUTILS is not set
+# BR2_PACKAGE_BSDIFF is not set
+# BR2_PACKAGE_CHECK is not set
+BR2_PACKAGE_CMAKE_ARCH_SUPPORTS=y
+
+#
+# ctest needs a toolchain w/ C++, wchar, dynamic library, gcc >= 4.7
+#
+
+#
+# cppunit needs a toolchain w/ C++, dynamic library
+#
+# BR2_PACKAGE_CVS is not set
+
+#
+# cxxtest needs a toolchain w/ C++ support
+#
+# BR2_PACKAGE_FLEX is not set
+BR2_PACKAGE_GETTEXT=y
+# BR2_PACKAGE_GIT is not set
+
+#
+# gperf needs a toolchain w/ C++
+#
+# BR2_PACKAGE_JQ is not set
+# BR2_PACKAGE_LIBTOOL is not set
+# BR2_PACKAGE_MAKE is not set
+# BR2_PACKAGE_PKGCONF is not set
+# BR2_PACKAGE_SSTRIP is not set
+# BR2_PACKAGE_SUBVERSION is not set
+# BR2_PACKAGE_TREE is not set
+# BR2_PACKAGE_YASM is not set
+
+#
+# Filesystem and flash utilities
+#
+
+#
+# autofs needs a toolchain w/ threads, RPC, dynamic library
+#
+# BR2_PACKAGE_BTRFS_PROGS is not set
+# BR2_PACKAGE_CIFS_UTILS is not set
+# BR2_PACKAGE_CPIO is not set
+# BR2_PACKAGE_CRAMFS is not set
+# BR2_PACKAGE_CURLFTPFS is not set
+# BR2_PACKAGE_DOSFSTOOLS is not set
+# BR2_PACKAGE_E2FSPROGS is not set
+# BR2_PACKAGE_E2TOOLS is not set
+# BR2_PACKAGE_ECRYPTFS_UTILS is not set
+# BR2_PACKAGE_EXFAT is not set
+# BR2_PACKAGE_EXFAT_UTILS is not set
+# BR2_PACKAGE_F2FS_TOOLS is not set
+# BR2_PACKAGE_FLASHBENCH is not set
+# BR2_PACKAGE_GENEXT2FS is not set
+# BR2_PACKAGE_GENPART is not set
+# BR2_PACKAGE_GENROMFS is not set
+# BR2_PACKAGE_MAKEDEVS is not set
+# BR2_PACKAGE_MMC_UTILS is not set
+# BR2_PACKAGE_MTD is not set
+# BR2_PACKAGE_MTOOLS is not set
+# BR2_PACKAGE_NFS_UTILS is not set
+# BR2_PACKAGE_NTFS_3G is not set
+# BR2_PACKAGE_SIMICSFS is not set
+# BR2_PACKAGE_SP_OOPS_EXTRACT is not set
+# BR2_PACKAGE_SQUASHFS is not set
+# BR2_PACKAGE_SSHFS is not set
+# BR2_PACKAGE_UNIONFS is not set
+# BR2_PACKAGE_XFSPROGS is not set
+
+#
+# Fonts, cursors, icons, sounds and themes
+#
+
+#
+# Cursors
+#
+# BR2_PACKAGE_COMIX_CURSORS is not set
+# BR2_PACKAGE_OBSIDIAN_CURSORS is not set
+
+#
+# Fonts
+#
+# BR2_PACKAGE_BITSTREAM_VERA is not set
+# BR2_PACKAGE_CANTARELL is not set
+# BR2_PACKAGE_DEJAVU is not set
+# BR2_PACKAGE_GHOSTSCRIPT_FONTS is not set
+# BR2_PACKAGE_INCONSOLATA is not set
+# BR2_PACKAGE_LIBERATION is not set
+
+#
+# Icons
+#
+# BR2_PACKAGE_GOOGLE_MATERIAL_DESIGN_ICONS is not set
+# BR2_PACKAGE_HICOLOR_ICON_THEME is not set
+
+#
+# Sounds
+#
+# BR2_PACKAGE_SOUND_THEME_BOREALIS is not set
+# BR2_PACKAGE_SOUND_THEME_FREEDESKTOP is not set
+
+#
+# Themes
+#
+
+#
+# Games
+#
+# BR2_PACKAGE_CHOCOLATE_DOOM is not set
+
+#
+# gnuchess needs a toolchain w/ C++, threads
+#
+# BR2_PACKAGE_LBREAKOUT2 is not set
+# BR2_PACKAGE_LTRIS is not set
+# BR2_PACKAGE_OPENTYRIAN is not set
+# BR2_PACKAGE_PRBOOM is not set
+# BR2_PACKAGE_SL is not set
+
+#
+# Graphic libraries and applications (graphic/text)
+#
+
+#
+# Graphic applications
+#
+
+#
+# expedite needs a toolchain w/ C++
+#
+# BR2_PACKAGE_FSWEBCAM is not set
+
+#
+# glmark2 needs an OpenGL or an openGL ES and EGL backend provided by mesa3d
+#
+
+#
+# glmark2 needs udev /dev management and a toolchain w/ C++, NPTL
+#
+# BR2_PACKAGE_GNUPLOT is not set
+# BR2_PACKAGE_JHEAD is not set
+# BR2_PACKAGE_RRDTOOL is not set
+
+#
+# Graphic libraries
+#
+
+#
+# cegui06 needs a toolchain w/ C++, threads, dynamic library
+#
+
+#
+# directfb needs a (e)glibc or uClibc toolchain w/ C++, threads, gcc >= 4.5
+#
+
+#
+# efl needs udev /dev management and a toolchain w/ C++, dynamic library, threads, wchar
+#
+
+#
+# efl needs lua 5.1
+#
+# BR2_PACKAGE_FBDUMP is not set
+# BR2_PACKAGE_FBGRAB is not set
+# BR2_PACKAGE_FB_TEST_APP is not set
+
+#
+# fbterm needs a toolchain w/ C++, wchar, locale
+#
+# BR2_PACKAGE_FBV is not set
+
+#
+# freerdp needs a toolchain w/ wchar, dynamic library, threads, C++
+#
+# BR2_PACKAGE_IMAGEMAGICK is not set
+# BR2_PACKAGE_LINUX_FUSION is not set
+
+#
+# mesa3d needs a toolchain w/ C++, NPTL, dynamic library
+#
+
+#
+# ocrad needs a toolchain w/ C++
+#
+# BR2_PACKAGE_PSPLASH is not set
+# BR2_PACKAGE_SDL is not set
+# BR2_PACKAGE_SDL2 is not set
+
+#
+# Other GUIs
+#
+
+#
+# qt needs a toolchain w/ C++, threads
+#
+BR2_PACKAGE_QT5_JSCORE_AVAILABLE=y
+
+#
+# Qt5 needs a toolchain w/ wchar, NPTL, C++, dynamic library
+#
+
+#
+# weston needs udev and a toolchain w/ locale, threads, dynamic library, headers >= 3.0
+#
+# BR2_PACKAGE_XORG7 is not set
+
+#
+# X applications
+#
+
+#
+# midori needs libgtk2 and a toolchain w/ C++, wchar, NPTL, gcc >= 4.8
+#
+
+#
+# pcmanfm needs X.org and a toolchain w/ wchar, threads, C++
+#
+
+#
+# X libraries and helper libraries
+#
+# BR2_PACKAGE_XKEYBOARD_CONFIG is not set
+
+#
+# X window managers
+#
+
+#
+# Hardware handling
+#
+
+#
+# Firmware
+#
+# BR2_PACKAGE_B43_FIRMWARE is not set
+# BR2_PACKAGE_LINUX_FIRMWARE is not set
+# BR2_PACKAGE_UX500_FIRMWARE is not set
+# BR2_PACKAGE_ZD1211_FIRMWARE is not set
+# BR2_PACKAGE_ACPID is not set
+# BR2_PACKAGE_AVRDUDE is not set
+
+#
+# bcache-tools needs udev /dev management and a toolchain w/ wchar
+#
+
+#
+# cc-tool needs a toolchain w/ C++, threads, wchar
+#
+# BR2_PACKAGE_CDRKIT is not set
+# BR2_PACKAGE_CRYPTSETUP is not set
+# BR2_PACKAGE_CWIID is not set
+# BR2_PACKAGE_DBUS is not set
+# BR2_PACKAGE_DMIDECODE is not set
+# BR2_PACKAGE_DMRAID is not set
+# BR2_PACKAGE_DTV_SCAN_TABLES is not set
+# BR2_PACKAGE_DVB_APPS is not set
+# BR2_PACKAGE_DVBSNOOP is not set
+# BR2_PACKAGE_EDID_DECODE is not set
+# BR2_PACKAGE_EEPROG is not set
+
+#
+# eudev needs eudev /dev management
+#
+# BR2_PACKAGE_EVEMU is not set
+# BR2_PACKAGE_EVTEST is not set
+# BR2_PACKAGE_FAN_CTRL is not set
+# BR2_PACKAGE_FCONFIG is not set
+# BR2_PACKAGE_FIS is not set
+# BR2_PACKAGE_FLASHROM is not set
+# BR2_PACKAGE_FMTOOLS is not set
+# BR2_PACKAGE_FXLOAD is not set
+# BR2_PACKAGE_GADGETFS_TEST is not set
+# BR2_PACKAGE_GPM is not set
+# BR2_PACKAGE_GPSD is not set
+
+#
+# gptfdisk needs a toolchain w/ wchar, C++
+#
+# BR2_PACKAGE_GVFS is not set
+# BR2_PACKAGE_HWDATA is not set
+# BR2_PACKAGE_HWLOC is not set
+# BR2_PACKAGE_I2C_TOOLS is not set
+# BR2_PACKAGE_INPUT_EVENT_DAEMON is not set
+# BR2_PACKAGE_INPUT_TOOLS is not set
+# BR2_PACKAGE_INTEL_MICROCODE is not set
+# BR2_PACKAGE_IOSTAT is not set
+# BR2_PACKAGE_IPMITOOL is not set
+# BR2_PACKAGE_IPMIUTIL is not set
+# BR2_PACKAGE_IQVLINUX is not set
+# BR2_PACKAGE_IRDA_UTILS is not set
+# BR2_PACKAGE_IUCODE_TOOL is not set
+# BR2_PACKAGE_KBD is not set
+# BR2_PACKAGE_LCDPROC is not set
+# BR2_PACKAGE_LINUX_BACKPORTS is not set
+# BR2_PACKAGE_LIRC_TOOLS is not set
+# BR2_PACKAGE_LM_SENSORS is not set
+
+#
+# lshw needs a toolchain w/ C++, wchar
+#
+# BR2_PACKAGE_LSUIO is not set
+# BR2_PACKAGE_LVM2 is not set
+# BR2_PACKAGE_MDADM is not set
+# BR2_PACKAGE_MEMTEST86 is not set
+# BR2_PACKAGE_MEMTESTER is not set
+# BR2_PACKAGE_MINICOM is not set
+# BR2_PACKAGE_NANOCOM is not set
+# BR2_PACKAGE_NEARD is not set
+
+#
+# nvidia-driver needs an (e)glibc toolchain
+#
+# BR2_PACKAGE_OFONO is not set
+
+#
+# ola needs a toolchain w/ C++, threads, wchar, dynamic library
+#
+# BR2_PACKAGE_OPEN2300 is not set
+# BR2_PACKAGE_OPENIPMI is not set
+# BR2_PACKAGE_OPENOCD is not set
+
+#
+# openpowerlink needs a toolchain w/ C++, threads
+#
+# BR2_PACKAGE_PARTED is not set
+# BR2_PACKAGE_PCIUTILS is not set
+# BR2_PACKAGE_PICOCOM is not set
+
+#
+# powertop needs a toolchain w/ C++, threads, wchar
+#
+# BR2_PACKAGE_PPS_TOOLS is not set
+# BR2_PACKAGE_READ_EDID is not set
+# BR2_PACKAGE_RFKILL is not set
+# BR2_PACKAGE_RNG_TOOLS is not set
+# BR2_PACKAGE_RTL8188EU is not set
+# BR2_PACKAGE_RTL8821AU is not set
+# BR2_PACKAGE_SANE_BACKENDS is not set
+# BR2_PACKAGE_SDPARM is not set
+# BR2_PACKAGE_SETSERIAL is not set
+# BR2_PACKAGE_SG3_UTILS is not set
+# BR2_PACKAGE_SIGROK_CLI is not set
+# BR2_PACKAGE_SISPMCTL is not set
+
+#
+# smartmontools needs a toolchain w/ C++
+#
+# BR2_PACKAGE_SMSTOOLS3 is not set
+# BR2_PACKAGE_SNOWBALL_HDMISERVICE is not set
+# BR2_PACKAGE_SPI_TOOLS is not set
+# BR2_PACKAGE_SREDIRD is not set
+# BR2_PACKAGE_STATSERIAL is not set
+# BR2_PACKAGE_STM32FLASH is not set
+# BR2_PACKAGE_SYSSTAT is not set
+
+#
+# targetcli-fb depends on Python
+#
+# BR2_PACKAGE_TI_UIM is not set
+# BR2_PACKAGE_TI_UTILS is not set
+# BR2_PACKAGE_TRIGGERHAPPY is not set
+# BR2_PACKAGE_UBOOT_TOOLS is not set
+# BR2_PACKAGE_UBUS is not set
+
+#
+# udisks needs udev /dev management
+#
+# BR2_PACKAGE_USB_MODESWITCH is not set
+# BR2_PACKAGE_USB_MODESWITCH_DATA is not set
+
+#
+# usbmount requires udev to be enabled
+#
+
+#
+# usbutils needs udev /dev management and toolchain w/ threads
+#
+# BR2_PACKAGE_W_SCAN is not set
+# BR2_PACKAGE_WIPE is not set
+# BR2_PACKAGE_XORRISO is not set
+
+#
+# Interpreter languages and scripting
+#
+# BR2_PACKAGE_ENSCRIPT is not set
+# BR2_PACKAGE_ERLANG is not set
+BR2_PACKAGE_GAUCHE_ARCH_SUPPORTS=y
+# BR2_PACKAGE_GAUCHE is not set
+# BR2_PACKAGE_GUILE is not set
+# BR2_PACKAGE_HASERL is not set
+# BR2_PACKAGE_JAMVM is not set
+# BR2_PACKAGE_JIMTCL is not set
+# BR2_PACKAGE_LUA is not set
+BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS=y
+# BR2_PACKAGE_LUAJIT is not set
+# BR2_PACKAGE_MICROPYTHON is not set
+# BR2_PACKAGE_MOARVM is not set
+BR2_PACKAGE_MONO_ARCH_SUPPORTS=y
+# BR2_PACKAGE_MONO is not set
+
+#
+# nodejs needs a toolchain w/ C++, dynamic library, threads, gcc >= 4.8, wchar
+#
+# BR2_PACKAGE_PERL is not set
+# BR2_PACKAGE_PHP is not set
+# BR2_PACKAGE_PYTHON is not set
+# BR2_PACKAGE_PYTHON3 is not set
+# BR2_PACKAGE_RUBY is not set
+# BR2_PACKAGE_TCL is not set
+
+#
+# Libraries
+#
+
+#
+# Audio/Sound
+#
+# BR2_PACKAGE_ALSA_LIB is not set
+
+#
+# audiofile needs a toolchain w/ C++
+#
+# BR2_PACKAGE_CELT051 is not set
+
+#
+# fdk-aac needs a toolchain w/ C++
+#
+# BR2_PACKAGE_LIBAO is not set
+
+#
+# asplib needs a toolchain w/ C++
+#
+# BR2_PACKAGE_LIBBROADVOICE is not set
+# BR2_PACKAGE_LIBCDAUDIO is not set
+# BR2_PACKAGE_LIBCDDB is not set
+# BR2_PACKAGE_LIBCDIO is not set
+# BR2_PACKAGE_LIBCODEC2 is not set
+# BR2_PACKAGE_LIBCUE is not set
+# BR2_PACKAGE_LIBCUEFILE is not set
+# BR2_PACKAGE_LIBG7221 is not set
+# BR2_PACKAGE_LIBID3TAG is not set
+# BR2_PACKAGE_LIBILBC is not set
+# BR2_PACKAGE_LIBLO is not set
+# BR2_PACKAGE_LIBMAD is not set
+
+#
+# libmodplug needs a toolchain w/ C++
+#
+# BR2_PACKAGE_LIBMPD is not set
+# BR2_PACKAGE_LIBMPDCLIENT is not set
+# BR2_PACKAGE_LIBREPLAYGAIN is not set
+# BR2_PACKAGE_LIBSAMPLERATE is not set
+
+#
+# libsidplay2 needs a toolchain w/ C++
+#
+# BR2_PACKAGE_LIBSILK is not set
+# BR2_PACKAGE_LIBSNDFILE is not set
+
+#
+# libsoundtouch needs a toolchain w/ C++
+#
+# BR2_PACKAGE_LIBSOXR is not set
+# BR2_PACKAGE_LIBVORBIS is not set
+
+#
+# mp4v2 needs a toolchain w/ C++
+#
+BR2_PACKAGE_OPENAL_ARCH_SUPPORTS=y
+
+#
+# openal needs a toolchain w/ NPTL, C++
+#
+
+#
+# opencore-amr needs a toolchain w/ C++
+#
+# BR2_PACKAGE_OPUS is not set
+# BR2_PACKAGE_OPUSFILE is not set
+# BR2_PACKAGE_PORTAUDIO is not set
+# BR2_PACKAGE_SBC is not set
+# BR2_PACKAGE_SPEEX is not set
+
+#
+# taglib needs a toolchain w/ C++, wchar
+#
+# BR2_PACKAGE_TINYALSA is not set
+# BR2_PACKAGE_TREMOR is not set
+# BR2_PACKAGE_VO_AACENC is not set
+
+#
+# webrtc-audio-processing needs a toolchain w/ C++, threads
+#
+
+#
+# Compression and decompression
+#
+# BR2_PACKAGE_LIBARCHIVE is not set
+
+#
+# libsquish needs a toolchain w/ C++, dynamic library
+#
+# BR2_PACKAGE_LIBZIP is not set
+# BR2_PACKAGE_LZO is not set
+# BR2_PACKAGE_MINIZIP is not set
+
+#
+# snappy needs a toolchain w/ C++
+#
+# BR2_PACKAGE_SZIP is not set
+BR2_PACKAGE_ZLIB=y
+
+#
+# Crypto
+#
+# BR2_PACKAGE_BEECRYPT is not set
+BR2_PACKAGE_BOTAN_ARCH_SUPPORTS=y
+
+#
+# botan needs a toolchain w/ C++, threads
+#
+# BR2_PACKAGE_CA_CERTIFICATES is not set
+# BR2_PACKAGE_CRYPTODEV is not set
+# BR2_PACKAGE_GCR is not set
+# BR2_PACKAGE_GNUTLS is not set
+# BR2_PACKAGE_LIBASSUAN is not set
+# BR2_PACKAGE_LIBGCRYPT is not set
+# BR2_PACKAGE_LIBGPG_ERROR is not set
+# BR2_PACKAGE_LIBGPGME is not set
+# BR2_PACKAGE_LIBKSBA is not set
+# BR2_PACKAGE_LIBMCRYPT is not set
+# BR2_PACKAGE_LIBMHASH is not set
+# BR2_PACKAGE_LIBNSS is not set
+# BR2_PACKAGE_LIBSECRET is not set
+# BR2_PACKAGE_LIBSHA1 is not set
+# BR2_PACKAGE_LIBSODIUM is not set
+# BR2_PACKAGE_LIBSSH is not set
+# BR2_PACKAGE_LIBSSH2 is not set
+# BR2_PACKAGE_LIBUECC is not set
+# BR2_PACKAGE_MBEDTLS is not set
+# BR2_PACKAGE_NETTLE is not set
+BR2_PACKAGE_OPENSSL=y
+# BR2_PACKAGE_OPENSSL_BIN is not set
+# BR2_PACKAGE_OPENSSL_ENGINES is not set
+# BR2_PACKAGE_POLARSSL is not set
+# BR2_PACKAGE_TROUSERS is not set
+
+#
+# Database
+#
+# BR2_PACKAGE_BERKELEYDB is not set
+# BR2_PACKAGE_GDBM is not set
+
+#
+# kompexsqlite needs a toolchain w/ C++, wchar, threads, dynamic library
+#
+
+#
+# leveldb needs a toolchain w/ C++, threads
+#
+BR2_PACKAGE_MONGODB_ARCH_SUPPORTS=y
+
+#
+# mongodb needs a (e)glibc toolchain w/ wchar, threads, C++, gcc >= 4.8
+#
+
+#
+# MySQL needs a toolchain w/ C++, threads
+#
+# BR2_PACKAGE_POSTGRESQL is not set
+# BR2_PACKAGE_REDIS is not set
+# BR2_PACKAGE_SQLCIPHER is not set
+# BR2_PACKAGE_SQLITE is not set
+# BR2_PACKAGE_UNIXODBC is not set
+
+#
+# Filesystem
+#
+# BR2_PACKAGE_GAMIN is not set
+# BR2_PACKAGE_LIBCONFIG is not set
+# BR2_PACKAGE_LIBCONFUSE is not set
+# BR2_PACKAGE_LIBFUSE is not set
+# BR2_PACKAGE_LIBLOCKFILE is not set
+# BR2_PACKAGE_LIBNFS is not set
+# BR2_PACKAGE_LIBSYSFS is not set
+# BR2_PACKAGE_LOCKDEV is not set
+
+#
+# Graphics
+#
+
+#
+# assimp needs a toolchain w/ C++
+#
+# BR2_PACKAGE_ATK is not set
+
+#
+# atkmm needs a toolchain w/ C++, wchar, threads, gcc >= 4.8
+#
+
+#
+# bullet needs a toolchain w/ C++
+#
+# BR2_PACKAGE_CAIRO is not set
+
+#
+# cairomm needs a toolchain w/ C++, wchar, threads, gcc >= 4.8
+#
+
+#
+# exiv2 needs a toolchain w/ C++, wchar, dynamic library
+#
+# BR2_PACKAGE_FONTCONFIG is not set
+# BR2_PACKAGE_FREETYPE is not set
+# BR2_PACKAGE_GD is not set
+# BR2_PACKAGE_GDK_PIXBUF is not set
+# BR2_PACKAGE_GIFLIB is not set
+
+#
+# graphite2 needs a toolchain w/ C++, dynamic library
+#
+
+#
+# gtkmm3 needs a toolchain w/ C++, wchar, threads, gcc >= 4.8
+#
+
+#
+# harfbuzz needs a toolchain w/ C++
+#
+# BR2_PACKAGE_IJS is not set
+# BR2_PACKAGE_IMLIB2 is not set
+# BR2_PACKAGE_JASPER is not set
+# BR2_PACKAGE_JPEG is not set
+# BR2_PACKAGE_LCMS2 is not set
+# BR2_PACKAGE_LIBART is not set
+# BR2_PACKAGE_LIBDMTX is not set
+# BR2_PACKAGE_LIBDRM is not set
+# BR2_PACKAGE_LIBEXIF is not set
+
+#
+# libfm needs X.org and a toolchain w/ wchar, threads, C++
+#
+# BR2_PACKAGE_LIBFM_EXTRA is not set
+
+#
+# libfreeglut depends on X.org and needs an OpenGL backend
+#
+
+#
+# libfreeimage needs a toolchain w/ C++, dynamic library, wchar
+#
+# BR2_PACKAGE_LIBGEOTIFF is not set
+
+#
+# libglew depends on X.org and needs an OpenGL backend
+#
+
+#
+# libglfw depends on X.org and needs an OpenGL backend
+#
+
+#
+# libglu needs an OpenGL backend
+#
+
+#
+# libgtk3 needs a toolchain w/ wchar, threads, C++
+#
+# BR2_PACKAGE_LIBMNG is not set
+# BR2_PACKAGE_LIBPNG is not set
+# BR2_PACKAGE_LIBQRENCODE is not set
+
+#
+# libraw needs a toolchain w/ C++
+#
+
+#
+# librsvg needs a toolchain w/ wchar, threads, C++
+#
+
+#
+# libsoil needs an OpenGL backend and a toolchain w/ dynamic library
+#
+# BR2_PACKAGE_LIBSVG is not set
+# BR2_PACKAGE_LIBSVG_CAIRO is not set
+# BR2_PACKAGE_LIBSVGTINY is not set
+# BR2_PACKAGE_LIBVA is not set
+# BR2_PACKAGE_LIBVA_INTEL_DRIVER is not set
+
+#
+# libvips needs a toolchain w/ wchar, threads, C++
+#
+# BR2_PACKAGE_MENU_CACHE is not set
+
+#
+# opencv needs a toolchain w/ C++, NPTL, wchar
+#
+
+#
+# opencv3 needs a toolchain w/ C++, NPTL, wchar, dynamic library
+#
+# BR2_PACKAGE_OPENJPEG is not set
+
+#
+# pango needs a toolchain w/ wchar, threads, C++
+#
+
+#
+# pangomm needs a toolchain w/ C++, wchar, threads, gcc >= 4.8
+#
+BR2_PACKAGE_PIXMAN=y
+
+#
+# poppler needs a toolchain w/ C++, threads
+#
+# BR2_PACKAGE_TIFF is not set
+# BR2_PACKAGE_WAYLAND is not set
+BR2_PACKAGE_WEBKITGTK24_ARCH_SUPPORTS=y
+
+#
+# webkitgtk24 needs libgtk2 and a toolchain w/ C++, wchar, NPTL, gcc >=4.8
+#
+# BR2_PACKAGE_WEBP is not set
+
+#
+# zbar needs a toolchain w/ threads, dynamic library, C++ and headers >= 3.0
+#
+
+#
+# zxing-cpp needs a toolchain w/ C++, dynamic library
+#
+
+#
+# Hardware handling
+#
+# BR2_PACKAGE_ACSCCID is not set
+# BR2_PACKAGE_C_PERIPHERY is not set
+# BR2_PACKAGE_CCID is not set
+# BR2_PACKAGE_DTC is not set
+# BR2_PACKAGE_GNU_EFI is not set
+
+#
+# hidapi needs udev /dev management and a toolchain w/ threads
+#
+
+#
+# lcdapi needs a toolchain w/ C++, threads
+#
+BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS=y
+# BR2_PACKAGE_LIBAIO is not set
+
+#
+# libatasmart requires udev to be enabled
+#
+
+#
+# libcec needs a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 4.7
+#
+# BR2_PACKAGE_LIBFREEFARE is not set
+# BR2_PACKAGE_LIBFTDI is not set
+# BR2_PACKAGE_LIBFTDI1 is not set
+
+#
+# libgudev needs udev /dev handling and a toolchain w/ wchar, threads
+#
+# BR2_PACKAGE_LIBHID is not set
+# BR2_PACKAGE_LIBIIO is not set
+
+#
+# libinput needs udev /dev management and a toolchain w/ locale
+#
+# BR2_PACKAGE_LIBIQRF is not set
+# BR2_PACKAGE_LIBLLCP is not set
+
+#
+# libmbim needs udev /dev management and a toolchain w/ wchar, threads
+#
+# BR2_PACKAGE_LIBNFC is not set
+# BR2_PACKAGE_LIBPCIACCESS is not set
+# BR2_PACKAGE_LIBPHIDGET is not set
+# BR2_PACKAGE_LIBQMI is not set
+# BR2_PACKAGE_LIBRAW1394 is not set
+# BR2_PACKAGE_LIBRTLSDR is not set
+
+#
+# libserial needs a toolchain w/ C++, threads, wchar
+#
+# BR2_PACKAGE_LIBSERIALPORT is not set
+# BR2_PACKAGE_LIBSIGROK is not set
+# BR2_PACKAGE_LIBSIGROKDECODE is not set
+# BR2_PACKAGE_LIBSOC is not set
+# BR2_PACKAGE_LIBUSB is not set
+
+#
+# libv4l needs a toolchain w/ threads, dynamic library, C++ and headers >= 3.0
+#
+# BR2_PACKAGE_LIBXKBCOMMON is not set
+# BR2_PACKAGE_MRAA is not set
+# BR2_PACKAGE_MTDEV is not set
+# BR2_PACKAGE_NEARDAL is not set
+# BR2_PACKAGE_PCSC_LITE is not set
+# BR2_PACKAGE_TSLIB is not set
+
+#
+# urg needs a toolchain w/ C++
+#
+
+#
+# Javascript
+#
+# BR2_PACKAGE_ANGULARJS is not set
+# BR2_PACKAGE_BOOTSTRAP is not set
+# BR2_PACKAGE_EXPLORERCANVAS is not set
+# BR2_PACKAGE_FLOT is not set
+# BR2_PACKAGE_JQUERY is not set
+# BR2_PACKAGE_JSMIN is not set
+# BR2_PACKAGE_JSON_JAVASCRIPT is not set
+
+#
+# JSON/XML
+#
+
+#
+# benejson needs a toolchain w/ C++
+#
+# BR2_PACKAGE_CJSON is not set
+# BR2_PACKAGE_EXPAT is not set
+# BR2_PACKAGE_EZXML is not set
+# BR2_PACKAGE_JANSSON is not set
+# BR2_PACKAGE_JSON_C is not set
+# BR2_PACKAGE_JSON_GLIB is not set
+
+#
+# jsoncpp needs a toolchain w/ C++, gcc >= 4.7
+#
+
+#
+# libjson needs a toolchain w/ C++
+#
+# BR2_PACKAGE_LIBROXML is not set
+# BR2_PACKAGE_LIBUCL is not set
+# BR2_PACKAGE_LIBXML2 is not set
+
+#
+# libxml++ needs a toolchain w/ C++, wchar, threads, gcc >= 4.8
+#
+# BR2_PACKAGE_LIBXMLRPC is not set
+# BR2_PACKAGE_LIBXSLT is not set
+# BR2_PACKAGE_LIBYAML is not set
+# BR2_PACKAGE_MXML is not set
+# BR2_PACKAGE_RAPIDJSON is not set
+# BR2_PACKAGE_RAPIDXML is not set
+
+#
+# tinyxml needs a toolchain w/ C++
+#
+
+#
+# tinyxml2 needs a toolchain w/ C++
+#
+
+#
+# xerces-c++ needs a toolchain w/ C++, wchar
+#
+# BR2_PACKAGE_YAJL is not set
+
+#
+# yaml-cpp needs a toolchain w/ C++, threads, wchar
+#
+
+#
+# Logging
+#
+# BR2_PACKAGE_EVENTLOG is not set
+
+#
+# glog needs a toolchain w/ C++, threads, dynamic library
+#
+# BR2_PACKAGE_LIBLOG4C_LOCALTIME is not set
+# BR2_PACKAGE_LIBLOGGING is not set
+
+#
+# log4cplus needs a toolchain w/ C++, wchar, threads
+#
+
+#
+# log4cxx needs a toolchain w/ C++, threads, dynamic library
+#
+# BR2_PACKAGE_ZLOG is not set
+
+#
+# Multimedia
+#
+# BR2_PACKAGE_BITSTREAM is not set
+# BR2_PACKAGE_LIBASS is not set
+# BR2_PACKAGE_LIBBLURAY is not set
+# BR2_PACKAGE_LIBDCADEC is not set
+# BR2_PACKAGE_LIBDVBCSA is not set
+# BR2_PACKAGE_LIBDVBPSI is not set
+
+#
+# libdvbsi++ needs a toolchain w/ C++, wchar, threads
+#
+# BR2_PACKAGE_LIBDVDNAV is not set
+# BR2_PACKAGE_LIBDVDREAD is not set
+
+#
+# libebml needs a toolchain w/ C++, wchar
+#
+# BR2_PACKAGE_LIBHDHOMERUN is not set
+
+#
+# libmatroska needs a toolchain w/ C++, wchar
+#
+# BR2_PACKAGE_LIBMMS is not set
+# BR2_PACKAGE_LIBMPEG2 is not set
+# BR2_PACKAGE_LIBOGG is not set
+BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y
+
+#
+# libopenh264 needs a toolchain w/ C++, dynamic library, threads
+#
+# BR2_PACKAGE_LIBPLAYER is not set
+# BR2_PACKAGE_LIBTHEORA is not set
+# BR2_PACKAGE_LIBVPX is not set
+
+#
+# libyuv needs a toolchain w/ C++, dynamic library
+#
+
+#
+# live555 needs a toolchain w/ C++
+#
+
+#
+# mediastreamer needs a toolchain w/ threads, C++
+#
+# BR2_PACKAGE_X264 is not set
+
+#
+# x265 needs a toolchain w/ C++, threads, dynamic library
+#
+
+#
+# Networking
+#
+
+#
+# agent++ needs a toolchain w/ threads, C++, dynamic library
+#
+# BR2_PACKAGE_C_ARES is not set
+BR2_PACKAGE_CANFESTIVAL_ARCH_SUPPORTS=y
+# BR2_PACKAGE_CANFESTIVAL is not set
+# BR2_PACKAGE_CGIC is not set
+
+#
+# cppzmq needs a toolchain w/ C++, wchar, threads
+#
+
+#
+# czmq needs a toolchain w/ C++, wchar, threads
+#
+
+#
+# filemq needs a toolchain w/ C++, wchar, threads
+#
+# BR2_PACKAGE_FLICKCURL is not set
+# BR2_PACKAGE_FREERADIUS_CLIENT is not set
+# BR2_PACKAGE_GEOIP is not set
+# BR2_PACKAGE_GLIB_NETWORKING is not set
+# BR2_PACKAGE_GSSDP is not set
+# BR2_PACKAGE_GUPNP is not set
+# BR2_PACKAGE_GUPNP_AV is not set
+
+#
+# ibrcommon needs a toolchain w/ C++, threads
+#
+
+#
+# ibrdtn needs a toolchain w/ C++, threads
+#
+# BR2_PACKAGE_LIBCGI is not set
+
+#
+# libcgicc needs a toolchain w/ C++
+#
+# BR2_PACKAGE_LIBCURL is not set
+# BR2_PACKAGE_LIBDNET is not set
+# BR2_PACKAGE_LIBEXOSIP2 is not set
+# BR2_PACKAGE_LIBFCGI is not set
+# BR2_PACKAGE_LIBGSASL is not set
+# BR2_PACKAGE_LIBHTTPPARSER is not set
+# BR2_PACKAGE_LIBIDN is not set
+# BR2_PACKAGE_LIBISCSI is not set
+# BR2_PACKAGE_LIBLDNS is not set
+# BR2_PACKAGE_LIBMBUS is not set
+
+#
+# libmemcached needs a toolchain w/ C++, threads
+#
+# BR2_PACKAGE_LIBMICROHTTPD is not set
+# BR2_PACKAGE_LIBMNL is not set
+# BR2_PACKAGE_LIBMODBUS is not set
+# BR2_PACKAGE_LIBNDP is not set
+# BR2_PACKAGE_LIBNET is not set
+# BR2_PACKAGE_LIBNETFILTER_ACCT is not set
+# BR2_PACKAGE_LIBNETFILTER_CONNTRACK is not set
+# BR2_PACKAGE_LIBNETFILTER_CTHELPER is not set
+# BR2_PACKAGE_LIBNETFILTER_CTTIMEOUT is not set
+# BR2_PACKAGE_LIBNETFILTER_LOG is not set
+# BR2_PACKAGE_LIBNETFILTER_QUEUE is not set
+# BR2_PACKAGE_LIBNFNETLINK is not set
+# BR2_PACKAGE_LIBNFTNL is not set
+# BR2_PACKAGE_LIBNICE is not set
+# BR2_PACKAGE_LIBNL is not set
+# BR2_PACKAGE_LIBOAUTH is not set
+# BR2_PACKAGE_LIBOPING is not set
+# BR2_PACKAGE_LIBOSIP2 is not set
+# BR2_PACKAGE_LIBPCAP is not set
+# BR2_PACKAGE_LIBRSYNC is not set
+# BR2_PACKAGE_LIBSHAIRPLAY is not set
+# BR2_PACKAGE_LIBSHOUT is not set
+# BR2_PACKAGE_LIBSOCKETCAN is not set
+# BR2_PACKAGE_LIBSOUP is not set
+# BR2_PACKAGE_LIBSRTP is not set
+# BR2_PACKAGE_LIBSTROPHE is not set
+# BR2_PACKAGE_LIBTIRPC is not set
+
+#
+# libtorrent needs a toolchain w/ C++, threads
+#
+# BR2_PACKAGE_LIBUPNP is not set
+
+#
+# libupnpp needs a toolchain w/ C++, threads, gcc >= 4.6
+#
+# BR2_PACKAGE_LIBURIPARSER is not set
+# BR2_PACKAGE_LIBVNCSERVER is not set
+# BR2_PACKAGE_LIBWEBSOCK is not set
+# BR2_PACKAGE_LIBWEBSOCKETS is not set
+# BR2_PACKAGE_MONGOOSE is not set
+# BR2_PACKAGE_NEON is not set
+
+#
+# nss-pam-ldapd needs an (e)glibc toolchain
+#
+
+#
+# omniORB needs a toolchain w/ C++, threads
+#
+# BR2_PACKAGE_OPENLDAP is not set
+# BR2_PACKAGE_OPENPGM is not set
+# BR2_PACKAGE_ORTP is not set
+# BR2_PACKAGE_QDECODER is not set
+# BR2_PACKAGE_QPID_PROTON is not set
+# BR2_PACKAGE_RABBITMQ_C is not set
+# BR2_PACKAGE_RTMPDUMP is not set
+# BR2_PACKAGE_SLIRP is not set
+
+#
+# snmp++ needs a toolchain w/ threads, C++, dynamic library
+#
+# BR2_PACKAGE_SOFIA_SIP is not set
+
+#
+# thrift needs a toolchain w/ C++, wchar, threads
+#
+# BR2_PACKAGE_USBREDIR is not set
+
+#
+# wvstreams needs a (e)glibc or uClibc toolchain w/ C++, dynamic library
+#
+
+#
+# zeromq needs a toolchain w/ C++, wchar, threads
+#
+
+#
+# zmqpp needs a toolchain w/ C++, wchar, threads, gcc >= 4.6
+#
+
+#
+# zyre needs a toolchain w/ C++, wchar, threads
+#
+
+#
+# Other
+#
+# BR2_PACKAGE_APR is not set
+# BR2_PACKAGE_APR_UTIL is not set
+# BR2_PACKAGE_ARGP_STANDALONE is not set
+
+#
+# armadillo needs a toolchain w/ C++
+#
+
+#
+# atf needs a toolchain w/ C++
+#
+# BR2_PACKAGE_BDWGC is not set
+
+#
+# boost needs a toolchain w/ C++, threads, wchar
+#
+BR2_PACKAGE_BOOST_ARCH_SUPPORTS=y
+# BR2_PACKAGE_CLAPACK is not set
+
+#
+# cppcms needs a toolchain w/ C++, NPTL, wchar, dynamic library
+#
+
+#
+# dawgdic needs a toolchain w/ C++, gcc >= 4.6
+#
+# BR2_PACKAGE_DING_LIBS is not set
+
+#
+# eigen needs a toolchain w/ C++
+#
+# BR2_PACKAGE_ELFUTILS is not set
+# BR2_PACKAGE_FFTW is not set
+
+#
+# flann needs a toolchain w/ C++, dynamic library
+#
+
+#
+# gflags needs a toolchain w/ C++
+#
+
+#
+# glibmm needs a toolchain w/ C++, wchar, threads, gcc >= 4.8
+#
+
+#
+# glm needs a toolchain w/ C++
+#
+
+#
+# gmock needs a toolchain w/ C++, wchar, threads
+#
+# BR2_PACKAGE_GMP is not set
+# BR2_PACKAGE_GSL is not set
+
+#
+# gtest needs a toolchain w/ C++, wchar, threads
+#
+# BR2_PACKAGE_LIBARGTABLE2 is not set
+BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS=y
+# BR2_PACKAGE_LIBATOMIC_OPS is not set
+BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS=y
+
+#
+# libbsd needs an (e)glibc toolchain w/ threads
+#
+# BR2_PACKAGE_LIBCAP is not set
+# BR2_PACKAGE_LIBCAP_NG is not set
+
+#
+# libcgroup needs an (e)glibc toolchain w/ C++
+#
+# BR2_PACKAGE_LIBCROCO is not set
+
+#
+# libcrossguid needs a toolchain w/ C++, wchar, gcc >= 4.7
+#
+# BR2_PACKAGE_LIBDAEMON is not set
+# BR2_PACKAGE_LIBEE is not set
+# BR2_PACKAGE_LIBEV is not set
+# BR2_PACKAGE_LIBEVDEV is not set
+# BR2_PACKAGE_LIBEVENT is not set
+BR2_PACKAGE_LIBFFI=y
+BR2_PACKAGE_LIBGLIB2=y
+
+#
+# libical needs a toolchain w/ C++, dynamic library, wchar
+#
+
+#
+# liblinear needs a toolchain w/ C++
+#
+BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT=y
+# BR2_PACKAGE_LIBNSPR is not set
+# BR2_PACKAGE_LIBPFM4 is not set
+
+#
+# libplist needs a toolchain w/ C++
+#
+# BR2_PACKAGE_LIBPTHREAD_STUBS is not set
+# BR2_PACKAGE_LIBPTHSEM is not set
+# BR2_PACKAGE_LIBSECCOMP is not set
+
+#
+# libsigc++ needs a toolchain w/ C++, gcc >= 4.7
+#
+# BR2_PACKAGE_LIBSIGSEGV is not set
+# BR2_PACKAGE_LIBTASN1 is not set
+# BR2_PACKAGE_LIBTPL is not set
+# BR2_PACKAGE_LIBUBOX is not set
+# BR2_PACKAGE_LIBUCI is not set
+BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS=y
+# BR2_PACKAGE_LIBUNWIND is not set
+BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS=y
+# BR2_PACKAGE_LIBURCU is not set
+# BR2_PACKAGE_LIBUV is not set
+# BR2_PACKAGE_LIGHTNING is not set
+
+#
+# linux-pam needs a uClibc or (e)glibc toolchain w/ wchar, locale, dynamic library
+#
+
+#
+# liquid-dsp requires a (e)glibc/musl toolchain w/ dynamic library
+#
+# BR2_PACKAGE_LTTNG_LIBUST is not set
+# BR2_PACKAGE_MPC is not set
+# BR2_PACKAGE_MPDECIMAL is not set
+# BR2_PACKAGE_MPFR is not set
+
+#
+# msgpack needs a toolchain w/ C++
+#
+# BR2_PACKAGE_MTDEV2TUIO is not set
+# BR2_PACKAGE_ORC is not set
+# BR2_PACKAGE_P11_KIT is not set
+
+#
+# poco needs a toolchain w/ wchar, threads, C++, dynamic library
+#
+BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y
+
+#
+# protobuf needs a toolchain w/ C++, threads, dynamic library
+#
+
+#
+# protobuf-c needs a toolchain w/ C++, threads
+#
+
+#
+# qhull needs a toolchain w/ C++, dynamic library, gcc >= 4.4
+#
+# BR2_PACKAGE_QLIBC is not set
+
+#
+# Security
+#
+# BR2_PACKAGE_LIBSELINUX is not set
+# BR2_PACKAGE_LIBSEMANAGE is not set
+# BR2_PACKAGE_LIBSEPOL is not set
+
+#
+# Text and terminal handling
+#
+
+#
+# enchant needs a toolchain w/ C++, threads, wchar
+#
+
+#
+# icu needs a toolchain w/ C++, wchar, threads
+#
+# BR2_PACKAGE_LIBCLI is not set
+# BR2_PACKAGE_LIBEDIT is not set
+# BR2_PACKAGE_LIBENCA is not set
+# BR2_PACKAGE_LIBESTR is not set
+# BR2_PACKAGE_LIBFRIBIDI is not set
+BR2_PACKAGE_LIBICONV=y
+# BR2_PACKAGE_LIBUNISTRING is not set
+# BR2_PACKAGE_LINENOISE is not set
+# BR2_PACKAGE_NCURSES is not set
+# BR2_PACKAGE_NEWT is not set
+# BR2_PACKAGE_PCRE is not set
+# BR2_PACKAGE_POPT is not set
+# BR2_PACKAGE_READLINE is not set
+# BR2_PACKAGE_SLANG is not set
+
+#
+# tclap needs a toolchain w/ C++
+#
+# BR2_PACKAGE_USTR is not set
+
+#
+# Mail
+#
+# BR2_PACKAGE_DOVECOT is not set
+# BR2_PACKAGE_EXIM is not set
+# BR2_PACKAGE_FETCHMAIL is not set
+# BR2_PACKAGE_HEIRLOOM_MAILX is not set
+# BR2_PACKAGE_LIBESMTP is not set
+# BR2_PACKAGE_MSMTP is not set
+# BR2_PACKAGE_MUTT is not set
+
+#
+# Miscellaneous
+#
+# BR2_PACKAGE_AESPIPE is not set
+# BR2_PACKAGE_BC is not set
+# BR2_PACKAGE_CLAMAV is not set
+# BR2_PACKAGE_COLLECTD is not set
+# BR2_PACKAGE_EMPTY is not set
+
+#
+# gnuradio needs a toolchain w/ C++, NPTL, wchar, dynamic library
+#
+# BR2_PACKAGE_GOOGLEFONTDIRECTORY is not set
+# BR2_PACKAGE_HAVEGED is not set
+# BR2_PACKAGE_MCRYPT is not set
+# BR2_PACKAGE_MOBILE_BROADBAND_PROVIDER_INFO is not set
+BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET=y
+BR2_PACKAGE_QEMU=y
+
+#
+# Emulators selection
+#
+BR2_PACKAGE_QEMU_CUSTOM_TARGETS="x86_64-softmmu"
+BR2_PACKAGE_QEMU_HAS_EMULS=y
+
+#
+# Frontends
+#
+# BR2_PACKAGE_QEMU_SDL is not set
+
+#
+# Misc. features
+#
+# BR2_PACKAGE_QEMU_FDT is not set
+
+#
+# qpdf needs a toolchain w/ C++
+#
+# BR2_PACKAGE_SHARED_MIME_INFO is not set
+# BR2_PACKAGE_SNOWBALL_INIT is not set
+# BR2_PACKAGE_XUTIL_UTIL_MACROS is not set
+
+#
+# Networking applications
+#
+# BR2_PACKAGE_AICCU is not set
+# BR2_PACKAGE_AIRCRACK_NG is not set
+# BR2_PACKAGE_APACHE is not set
+# BR2_PACKAGE_ARGUS is not set
+# BR2_PACKAGE_ARPTABLES is not set
+# BR2_PACKAGE_ATFTP is not set
+# BR2_PACKAGE_AUTOSSH is not set
+# BR2_PACKAGE_AVAHI is not set
+# BR2_PACKAGE_AXEL is not set
+# BR2_PACKAGE_BANDWIDTHD is not set
+# BR2_PACKAGE_BATCTL is not set
+
+#
+# bcusdk needs a toolchain w/ C++
+#
+# BR2_PACKAGE_BIND is not set
+# BR2_PACKAGE_BLUEZ_UTILS is not set
+
+#
+# bluez5-utils needs a glibc or musl toolchain w/ wchar, threads, headers >= 3.4, dynamic library
+#
+# BR2_PACKAGE_BMON is not set
+# BR2_PACKAGE_BOA is not set
+BR2_PACKAGE_BRIDGE_UTILS=y
+# BR2_PACKAGE_BWM_NG is not set
+# BR2_PACKAGE_C_ICAP is not set
+# BR2_PACKAGE_CAN_UTILS is not set
+# BR2_PACKAGE_CHRONY is not set
+# BR2_PACKAGE_CIVETWEB is not set
+# BR2_PACKAGE_CONNMAN is not set
+# BR2_PACKAGE_CONNTRACK_TOOLS is not set
+# BR2_PACKAGE_CRDA is not set
+
+#
+# ctorrent needs a toolchain w/ C++
+#
+
+#
+# cups needs a toolchain w/ C++
+#
+# BR2_PACKAGE_DHCPCD is not set
+# BR2_PACKAGE_DHCPDUMP is not set
+# BR2_PACKAGE_DNSMASQ is not set
+# BR2_PACKAGE_DRBD_UTILS is not set
+# BR2_PACKAGE_DROPBEAR is not set
+# BR2_PACKAGE_EBTABLES is not set
+
+#
+# ejabberd needs erlang
+#
+# BR2_PACKAGE_ETHTOOL is not set
+# BR2_PACKAGE_FAIFA is not set
+# BR2_PACKAGE_FASTD is not set
+# BR2_PACKAGE_FCGIWRAP is not set
+# BR2_PACKAGE_FPING is not set
+# BR2_PACKAGE_GESFTPSERVER is not set
+
+#
+# hans needs a toolchain w/ C++
+#
+# BR2_PACKAGE_HIAWATHA is not set
+# BR2_PACKAGE_HOSTAPD is not set
+# BR2_PACKAGE_HTTPING is not set
+
+#
+# ibrdtn-tools needs a toolchain w/ C++, threads
+#
+
+#
+# ibrdtnd needs a toolchain w/ C++, threads
+#
+# BR2_PACKAGE_IFTOP is not set
+# BR2_PACKAGE_IGH_ETHERCAT is not set
+# BR2_PACKAGE_IGMPPROXY is not set
+# BR2_PACKAGE_INADYN is not set
+# BR2_PACKAGE_IODINE is not set
+
+#
+# iperf needs a toolchain w/ C++
+#
+# BR2_PACKAGE_IPERF3 is not set
+BR2_PACKAGE_IPROUTE2=y
+# BR2_PACKAGE_IPSEC_TOOLS is not set
+# BR2_PACKAGE_IPSET is not set
+# BR2_PACKAGE_IPTABLES is not set
+# BR2_PACKAGE_IPTRAF_NG is not set
+# BR2_PACKAGE_IPUTILS is not set
+# BR2_PACKAGE_IRSSI is not set
+# BR2_PACKAGE_IW is not set
+# BR2_PACKAGE_JANUS_GATEWAY is not set
+
+#
+# kismet needs a toolchain w/ threads, C++, dynamic library
+#
+# BR2_PACKAGE_KNOCK is not set
+# BR2_PACKAGE_LEAFNODE2 is not set
+
+#
+# lftp requires a toolchain w/ C++, wchar
+#
+# BR2_PACKAGE_LIGHTTPD is not set
+
+#
+# linknx needs a toolchain w/ C++
+#
+# BR2_PACKAGE_LINKS is not set
+
+#
+# linphone needs a toolchain w/ threads, C++
+#
+# BR2_PACKAGE_LINUX_ZIGBEE is not set
+# BR2_PACKAGE_LLDPD is not set
+# BR2_PACKAGE_LRZSZ is not set
+# BR2_PACKAGE_MACCHANGER is not set
+# BR2_PACKAGE_MEMCACHED is not set
+# BR2_PACKAGE_MII_DIAG is not set
+# BR2_PACKAGE_MINIDLNA is not set
+# BR2_PACKAGE_MJPG_STREAMER is not set
+
+#
+# modemmanager needs udev /dev management and a toolchain w/ wchar, threads
+#
+BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y
+
+#
+# mongrel2 needs a uClibc or glibc toolchain w/ C++, threads, wchar, dynamic library
+#
+# BR2_PACKAGE_MONKEY is not set
+
+#
+# mosh needs a toolchain w/ C++, threads, dynamic library
+#
+# BR2_PACKAGE_MOSQUITTO is not set
+# BR2_PACKAGE_MROUTED is not set
+# BR2_PACKAGE_MTR is not set
+# BR2_PACKAGE_NBD is not set
+# BR2_PACKAGE_NCFTP is not set
+# BR2_PACKAGE_NDISC6 is not set
+# BR2_PACKAGE_NETATALK is not set
+# BR2_PACKAGE_NETPLUG is not set
+# BR2_PACKAGE_NETSNMP is not set
+# BR2_PACKAGE_NETSTAT_NAT is not set
+
+#
+# NetworkManager needs udev /dev management and a (e)glibc toolchain w/ headers >= 3.7
+#
+# BR2_PACKAGE_NFACCT is not set
+# BR2_PACKAGE_NFTABLES is not set
+# BR2_PACKAGE_NGINX is not set
+# BR2_PACKAGE_NGIRCD is not set
+# BR2_PACKAGE_NGREP is not set
+
+#
+# nmap needs a toolchain w/ C++, threads
+#
+# BR2_PACKAGE_NOIP is not set
+# BR2_PACKAGE_NTP is not set
+# BR2_PACKAGE_NUTTCP is not set
+# BR2_PACKAGE_ODHCP6C is not set
+# BR2_PACKAGE_ODHCPLOC is not set
+# BR2_PACKAGE_OLSR is not set
+# BR2_PACKAGE_OPEN_PLC_UTILS is not set
+# BR2_PACKAGE_OPENNTPD is not set
+# BR2_PACKAGE_OPENOBEX is not set
+BR2_PACKAGE_OPENSSH=y
+# BR2_PACKAGE_OPENSWAN is not set
+# BR2_PACKAGE_OPENVPN is not set
+# BR2_PACKAGE_P910ND is not set
+# BR2_PACKAGE_PHIDGETWEBSERVICE is not set
+
+#
+# portmap needs a toolchain w/ RPC
+#
+# BR2_PACKAGE_PPPD is not set
+# BR2_PACKAGE_PPTP_LINUX is not set
+# BR2_PACKAGE_PROFTPD is not set
+# BR2_PACKAGE_PROXYCHAINS_NG is not set
+# BR2_PACKAGE_PTPD is not set
+# BR2_PACKAGE_PTPD2 is not set
+# BR2_PACKAGE_PURE_FTPD is not set
+# BR2_PACKAGE_QUAGGA is not set
+# BR2_PACKAGE_RADVD is not set
+# BR2_PACKAGE_RPCBIND is not set
+# BR2_PACKAGE_RSH_REDONE is not set
+# BR2_PACKAGE_RSYNC is not set
+
+#
+# rtorrent needs a toolchain w/ C++, threads, wchar
+#
+# BR2_PACKAGE_RTPTOOLS is not set
+
+#
+# samba4 needs a toolchain w/ RPC, wchar, dynamic library, threads
+#
+
+#
+# sconeserver needs a toolchain w/ C++, NPTL
+#
+# BR2_PACKAGE_SER2NET is not set
+# BR2_PACKAGE_SHAIRPORT_SYNC is not set
+# BR2_PACKAGE_SMCROUTE is not set
+# BR2_PACKAGE_SOCAT is not set
+# BR2_PACKAGE_SOCKETCAND is not set
+# BR2_PACKAGE_SOFTETHER is not set
+# BR2_PACKAGE_SPAWN_FCGI is not set
+
+#
+# spice server depends on python (for pyparsing)
+#
+# BR2_PACKAGE_SPICE_PROTOCOL is not set
+
+#
+# squid needs a toolchain w/ C++, headers >= 3.0
+#
+# BR2_PACKAGE_SSHPASS is not set
+# BR2_PACKAGE_STRONGSWAN is not set
+# BR2_PACKAGE_STUNNEL is not set
+# BR2_PACKAGE_TCPDUMP is not set
+# BR2_PACKAGE_TCPING is not set
+# BR2_PACKAGE_TCPREPLAY is not set
+# BR2_PACKAGE_THTTPD is not set
+# BR2_PACKAGE_TINC is not set
+# BR2_PACKAGE_TINYHTTPD is not set
+# BR2_PACKAGE_TN5250 is not set
+# BR2_PACKAGE_TOR is not set
+# BR2_PACKAGE_TRANSMISSION is not set
+# BR2_PACKAGE_TVHEADEND is not set
+# BR2_PACKAGE_UDPCAST is not set
+# BR2_PACKAGE_ULOGD is not set
+# BR2_PACKAGE_USHARE is not set
+# BR2_PACKAGE_USSP_PUSH is not set
+# BR2_PACKAGE_VDE2 is not set
+# BR2_PACKAGE_VNSTAT is not set
+# BR2_PACKAGE_VPNC is not set
+# BR2_PACKAGE_VSFTPD is not set
+# BR2_PACKAGE_VTUN is not set
+# BR2_PACKAGE_WIRELESS_REGDB is not set
+# BR2_PACKAGE_WIRELESS_TOOLS is not set
+# BR2_PACKAGE_WIRESHARK is not set
+# BR2_PACKAGE_WPA_SUPPLICANT is not set
+
+#
+# wvdial needs a (e)glibc or uClibc toolchain w/ C++, dynamic library
+#
+# BR2_PACKAGE_XINETD is not set
+# BR2_PACKAGE_XL2TP is not set
+# BR2_PACKAGE_XTABLES_ADDONS is not set
+
+#
+# znc needs a toolchain w/ C++, dynamic library, gcc >= 4.7
+#
+
+#
+# Package managers
+#
+
+#
+# -------------------------------------------------------
+#
+
+#
+# Please note:                                           
+#
+
+#
+# - Buildroot does *not* generate binary packages,       
+#
+
+#
+# - Buildroot does *not* install any package database.   
+#
+
+#
+# *                                                      
+#
+
+#
+# It is up to you to provide those by yourself if you    
+#
+
+#
+# want to use any of those package managers.             
+#
+
+#
+# *                                                      
+#
+
+#
+# See the manual:                                        
+#
+
+#
+# http://buildroot.org/manual.html#faq-no-binary-packages
+#
+
+#
+# -------------------------------------------------------
+#
+# BR2_PACKAGE_IPKG is not set
+# BR2_PACKAGE_OPKG is not set
+
+#
+# Real-Time
+#
+# BR2_PACKAGE_XENOMAI is not set
+
+#
+# Security
+#
+
+#
+# setools needs a toolchain w/ threads, C++, wchar, dynamic library
+#
+
+#
+# Shell and utilities
+#
+
+#
+# Shells
+#
+
+#
+# Utilities
+#
+# BR2_PACKAGE_AT is not set
+# BR2_PACKAGE_CCRYPT is not set
+# BR2_PACKAGE_DIALOG is not set
+# BR2_PACKAGE_DTACH is not set
+# BR2_PACKAGE_FILE is not set
+# BR2_PACKAGE_GNUPG is not set
+# BR2_PACKAGE_GNUPG2 is not set
+# BR2_PACKAGE_INOTIFY_TOOLS is not set
+# BR2_PACKAGE_LOCKFILE_PROGS is not set
+# BR2_PACKAGE_LOGROTATE is not set
+# BR2_PACKAGE_LOGSURFER is not set
+# BR2_PACKAGE_PINENTRY is not set
+# BR2_PACKAGE_RANGER is not set
+# BR2_PACKAGE_SCREEN is not set
+BR2_PACKAGE_SUDO=y
+# BR2_PACKAGE_TMUX is not set
+# BR2_PACKAGE_XMLSTARLET is not set
+# BR2_PACKAGE_XXHASH is not set
+
+#
+# System tools
+#
+# BR2_PACKAGE_ACL is not set
+# BR2_PACKAGE_ATTR is not set
+BR2_PACKAGE_AUDIT_ARCH_SUPPORTS=y
+# BR2_PACKAGE_AUDIT is not set
+# BR2_PACKAGE_CPULOAD is not set
+# BR2_PACKAGE_EMLOG is not set
+# BR2_PACKAGE_FTOP is not set
+# BR2_PACKAGE_GETENT is not set
+# BR2_PACKAGE_HTOP is not set
+BR2_PACKAGE_INITSCRIPTS=y
+
+#
+# iotop depends on python or python3
+#
+# BR2_PACKAGE_IPRUTILS is not set
+# BR2_PACKAGE_IRQBALANCE is not set
+# BR2_PACKAGE_KEYUTILS is not set
+# BR2_PACKAGE_KMOD is not set
+
+#
+# kvmtool needs a (e)glibc or musl toolchain
+#
+# BR2_PACKAGE_LXC is not set
+# BR2_PACKAGE_MONIT is not set
+# BR2_PACKAGE_NCDU is not set
+# BR2_PACKAGE_NUMACTL is not set
+
+#
+# nut needs a toolchain w/ C++
+#
+
+#
+# openvmtools needs an (e)glibc or musl toolchain w/ wchar, threads, RPC, locale
+#
+# BR2_PACKAGE_POLKIT is not set
+# BR2_PACKAGE_PWGEN is not set
+# BR2_PACKAGE_QUOTA is not set
+# BR2_PACKAGE_SCRYPT is not set
+# BR2_PACKAGE_SMACK is not set
+
+#
+# supervisor needs the python interpreter
+#
+# BR2_PACKAGE_SWUPDATE is not set
+BR2_PACKAGE_SYSTEMD_ARCH_SUPPORTS=y
+# BR2_PACKAGE_TPM_TOOLS is not set
+
+#
+# unscd needs an (e)glibc toolchain
+#
+# BR2_PACKAGE_UTIL_LINUX is not set
+
+#
+# Text editors and viewers
+#
+# BR2_PACKAGE_ED is not set
+# BR2_PACKAGE_JOE is not set
+# BR2_PACKAGE_MC is not set
+# BR2_PACKAGE_NANO is not set
+# BR2_PACKAGE_UEMACS is not set
+
+#
+# Filesystem images
+#
+# BR2_TARGET_ROOTFS_AXFS is not set
+# BR2_TARGET_ROOTFS_CLOOP is not set
+BR2_TARGET_ROOTFS_CPIO=y
+BR2_TARGET_ROOTFS_CPIO_NONE=y
+# BR2_TARGET_ROOTFS_CPIO_GZIP is not set
+# BR2_TARGET_ROOTFS_CPIO_BZIP2 is not set
+# BR2_TARGET_ROOTFS_CPIO_LZMA is not set
+# BR2_TARGET_ROOTFS_CPIO_LZO is not set
+# BR2_TARGET_ROOTFS_CPIO_XZ is not set
+# BR2_TARGET_ROOTFS_CPIO_UIMAGE is not set
+# BR2_TARGET_ROOTFS_CRAMFS is not set
+# BR2_TARGET_ROOTFS_EXT2 is not set
+# BR2_TARGET_ROOTFS_INITRAMFS is not set
+BR2_TARGET_ROOTFS_ISO9660=y
+BR2_TARGET_ROOTFS_ISO9660_GRUB=y
+BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU="fs/iso9660/menu.lst"
+BR2_TARGET_ROOTFS_ISO9660_INITRD=y
+# BR2_TARGET_ROOTFS_JFFS2 is not set
+# BR2_TARGET_ROOTFS_ROMFS is not set
+# BR2_TARGET_ROOTFS_SQUASHFS is not set
+BR2_TARGET_ROOTFS_TAR=y
+BR2_TARGET_ROOTFS_TAR_NONE=y
+# BR2_TARGET_ROOTFS_TAR_GZIP is not set
+# BR2_TARGET_ROOTFS_TAR_BZIP2 is not set
+# BR2_TARGET_ROOTFS_TAR_LZMA is not set
+# BR2_TARGET_ROOTFS_TAR_LZO is not set
+# BR2_TARGET_ROOTFS_TAR_XZ is not set
+BR2_TARGET_ROOTFS_TAR_OPTIONS=""
+# BR2_TARGET_ROOTFS_UBIFS is not set
+# BR2_TARGET_ROOTFS_YAFFS2 is not set
+
+#
+# Bootloaders
+#
+# BR2_TARGET_BAREBOX is not set
+BR2_TARGET_GRUB=y
+# BR2_TARGET_GRUB_SPLASH is not set
+# BR2_TARGET_GRUB_DISKLESS is not set
+
+#
+# filesystem drivers
+#
+BR2_TARGET_GRUB_FS_EXT2=y
+BR2_TARGET_GRUB_FS_FAT=y
+BR2_TARGET_GRUB_FS_ISO9660=y
+# BR2_TARGET_GRUB_FS_JFS is not set
+# BR2_TARGET_GRUB_FS_REISERFS is not set
+# BR2_TARGET_GRUB_FS_XFS is not set
+
+#
+# network drivers
+#
+# BR2_TARGET_GRUB_3c595 is not set
+# BR2_TARGET_GRUB_3c90x is not set
+# BR2_TARGET_GRUB_davicom is not set
+# BR2_TARGET_GRUB_e1000 is not set
+# BR2_TARGET_GRUB_eepro100 is not set
+# BR2_TARGET_GRUB_epic100 is not set
+# BR2_TARGET_GRUB_forcedeth is not set
+# BR2_TARGET_GRUB_natsemi is not set
+# BR2_TARGET_GRUB_ns83820 is not set
+# BR2_TARGET_GRUB_ns8390 is not set
+# BR2_TARGET_GRUB_pcnet32 is not set
+# BR2_TARGET_GRUB_pnic is not set
+# BR2_TARGET_GRUB_rtl8139 is not set
+# BR2_TARGET_GRUB_r8169 is not set
+# BR2_TARGET_GRUB_sis900 is not set
+# BR2_TARGET_GRUB_tg3 is not set
+# BR2_TARGET_GRUB_tulip is not set
+# BR2_TARGET_GRUB_tlan is not set
+# BR2_TARGET_GRUB_undi is not set
+# BR2_TARGET_GRUB_via_rhine is not set
+# BR2_TARGET_GRUB_w89c840 is not set
+# BR2_TARGET_GRUB2 is not set
+# BR2_TARGET_GUMMIBOOT is not set
+# BR2_TARGET_SYSLINUX is not set
+# BR2_TARGET_UBOOT is not set
+
+#
+# Host utilities
+#
+# BR2_PACKAGE_HOST_AESPIPE is not set
+# BR2_PACKAGE_HOST_CHECKPOLICY is not set
+# BR2_PACKAGE_HOST_CRAMFS is not set
+# BR2_PACKAGE_HOST_DFU_UTIL is not set
+# BR2_PACKAGE_HOST_DOS2UNIX is not set
+# BR2_PACKAGE_HOST_DOSFSTOOLS is not set
+# BR2_PACKAGE_HOST_DTC is not set
+# BR2_PACKAGE_HOST_E2FSPROGS is not set
+# BR2_PACKAGE_HOST_E2TOOLS is not set
+# BR2_PACKAGE_HOST_FAKETIME is not set
+# BR2_PACKAGE_HOST_GENEXT2FS is not set
+# BR2_PACKAGE_HOST_GENIMAGE is not set
+# BR2_PACKAGE_HOST_GENPART is not set
+# BR2_PACKAGE_HOST_GPTFDISK is not set
+# BR2_PACKAGE_HOST_JQ is not set
+# BR2_PACKAGE_HOST_LPC3250LOADER is not set
+# BR2_PACKAGE_HOST_MKE2IMG is not set
+# BR2_PACKAGE_HOST_MTD is not set
+# BR2_PACKAGE_HOST_MTOOLS is not set
+# BR2_PACKAGE_HOST_OPENOCD is not set
+# BR2_PACKAGE_HOST_PARTED is not set
+# BR2_PACKAGE_HOST_PATCHELF is not set
+# BR2_PACKAGE_HOST_PWGEN is not set
+# BR2_PACKAGE_HOST_QEMU is not set
+# BR2_PACKAGE_HOST_SAM_BA is not set
+# BR2_PACKAGE_HOST_SQUASHFS is not set
+# BR2_PACKAGE_HOST_UBOOT_TOOLS is not set
+# BR2_PACKAGE_HOST_UTIL_LINUX is not set
+# BR2_PACKAGE_HOST_VBOOT_UTILS is not set
+
+#
+# Legacy config options
+#
+
+#
+# Legacy options removed in 2016.02
+#
+# BR2_PACKAGE_DOVECOT_BZIP2 is not set
+# BR2_PACKAGE_DOVECOT_ZLIB is not set
+# BR2_PACKAGE_E2FSPROGS_FINDFS is not set
+# BR2_PACKAGE_OPENPOWERLINK_DEBUG_LEVEL is not set
+# BR2_PACKAGE_OPENPOWERLINK_KERNEL_MODULE is not set
+# BR2_PACKAGE_OPENPOWERLINK_LIBPCAP is not set
+# BR2_LINUX_KERNEL_SAME_AS_HEADERS is not set
+# BR2_PACKAGE_CUPS_PDFTOPS is not set
+# BR2_KERNEL_HEADERS_3_16 is not set
+# BR2_PACKAGE_PYTHON_PYXML is not set
+# BR2_ENABLE_SSP is not set
+# BR2_PACKAGE_DIRECTFB_CLE266 is not set
+# BR2_PACKAGE_DIRECTFB_UNICHROME is not set
+# BR2_PACKAGE_LIBELEMENTARY is not set
+# BR2_PACKAGE_LIBEINA is not set
+# BR2_PACKAGE_LIBEET is not set
+# BR2_PACKAGE_LIBEVAS is not set
+# BR2_PACKAGE_LIBECORE is not set
+# BR2_PACKAGE_LIBEDBUS is not set
+# BR2_PACKAGE_LIBEFREET is not set
+# BR2_PACKAGE_LIBEIO is not set
+# BR2_PACKAGE_LIBEMBRYO is not set
+# BR2_PACKAGE_LIBEDJE is not set
+# BR2_PACKAGE_LIBETHUMB is not set
+# BR2_PACKAGE_INFOZIP is not set
+# BR2_BR2_PACKAGE_NODEJS_0_10_X is not set
+# BR2_BR2_PACKAGE_NODEJS_0_12_X is not set
+# BR2_BR2_PACKAGE_NODEJS_4_X is not set
+
+#
+# Legacy options removed in 2015.11
+#
+# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_REAL is not set
+# BR2_PACKAGE_MEDIA_CTL is not set
+# BR2_PACKAGE_SCHIFRA is not set
+# BR2_PACKAGE_ZXING is not set
+# BR2_PACKAGE_BLACKBOX is not set
+# BR2_KERNEL_HEADERS_3_0 is not set
+# BR2_KERNEL_HEADERS_3_11 is not set
+# BR2_KERNEL_HEADERS_3_13 is not set
+# BR2_KERNEL_HEADERS_3_15 is not set
+# BR2_PACKAGE_DIRECTFB_EXAMPLES_ANDI is not set
+# BR2_PACKAGE_DIRECTFB_EXAMPLES_BLTLOAD is not set
+# BR2_PACKAGE_DIRECTFB_EXAMPLES_CPULOAD is not set
+# BR2_PACKAGE_DIRECTFB_EXAMPLES_DATABUFFER is not set
+# BR2_PACKAGE_DIRECTFB_EXAMPLES_DIOLOAD is not set
+# BR2_PACKAGE_DIRECTFB_EXAMPLES_DOK is not set
+# BR2_PACKAGE_DIRECTFB_EXAMPLES_DRIVERTEST is not set
+# BR2_PACKAGE_DIRECTFB_EXAMPLES_FIRE is not set
+# BR2_PACKAGE_DIRECTFB_EXAMPLES_FLIP is not set
+# BR2_PACKAGE_DIRECTFB_EXAMPLES_FONTS is not set
+# BR2_PACKAGE_DIRECTFB_EXAMPLES_INPUT is not set
+# BR2_PACKAGE_DIRECTFB_EXAMPLES_JOYSTICK is not set
+# BR2_PACKAGE_DIRECTFB_EXAMPLES_KNUCKLES is not set
+# BR2_PACKAGE_DIRECTFB_EXAMPLES_LAYER is not set
+# BR2_PACKAGE_DIRECTFB_EXAMPLES_MATRIX is not set
+# BR2_PACKAGE_DIRECTFB_EXAMPLES_MATRIX_WATER is not set
+# BR2_PACKAGE_DIRECTFB_EXAMPLES_NEO is not set
+# BR2_PACKAGE_DIRECTFB_EXAMPLES_NETLOAD is not set
+# BR2_PACKAGE_DIRECTFB_EXAMPLES_PALETTE is not set
+# BR2_PACKAGE_DIRECTFB_EXAMPLES_PARTICLE is not set
+# BR2_PACKAGE_DIRECTFB_EXAMPLES_PORTER is not set
+# BR2_PACKAGE_DIRECTFB_EXAMPLES_STRESS is not set
+# BR2_PACKAGE_DIRECTFB_EXAMPLES_TEXTURE is not set
+# BR2_PACKAGE_DIRECTFB_EXAMPLES_VIDEO is not set
+# BR2_PACKAGE_DIRECTFB_EXAMPLES_VIDEO_PARTICLE is not set
+# BR2_PACKAGE_DIRECTFB_EXAMPLES_WINDOW is not set
+# BR2_PACKAGE_KOBS_NG is not set
+# BR2_PACKAGE_SAWMAN is not set
+# BR2_PACKAGE_DIVINE is not set
+
+#
+# Legacy options removed in 2015.08
+#
+# BR2_PACKAGE_KODI_PVR_ADDONS is not set
+# BR2_BINUTILS_VERSION_2_23_2 is not set
+# BR2_BINUTILS_VERSION_2_24 is not set
+# BR2_BINUTILS_VERSION_2_25 is not set
+# BR2_PACKAGE_PERF is not set
+# BR2_BINUTILS_VERSION_2_22 is not set
+# BR2_PACKAGE_GPU_VIV_BIN_MX6Q is not set
+# BR2_TARGET_UBOOT_NETWORK is not set
+
+#
+# Legacy options removed in 2015.05
+#
+# BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_512_16K is not set
+# BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_2K_128K is not set
+# BR2_PACKAGE_MONO_20 is not set
+# BR2_PACKAGE_MONO_40 is not set
+# BR2_PACKAGE_MONO_45 is not set
+# BR2_CIVETWEB_WITH_LUA is not set
+# BR2_PACKAGE_TIFF_TIFF2PDF is not set
+# BR2_PACKAGE_TIFF_TIFFCP is not set
+# BR2_LINUX_KERNEL_EXT_RTAI_PATCH is not set
+# BR2_TARGET_GENERIC_PASSWD_DES is not set
+# BR2_PACKAGE_GTK2_THEME_HICOLOR is not set
+# BR2_PACKAGE_VALGRIND_PTRCHECK is not set
+
+#
+# Legacy options removed in 2015.02
+#
+# BR2_PACKAGE_LIBGC is not set
+# BR2_PACKAGE_WDCTL is not set
+# BR2_PACKAGE_UTIL_LINUX_ARCH is not set
+# BR2_PACKAGE_UTIL_LINUX_DDATE is not set
+# BR2_PACKAGE_RPM_BZIP2_PAYLOADS is not set
+# BR2_PACKAGE_RPM_XZ_PAYLOADS is not set
+# BR2_PACKAGE_M4 is not set
+# BR2_PACKAGE_FLEX_BINARY is not set
+# BR2_PACKAGE_BISON is not set
+# BR2_PACKAGE_GOB2 is not set
+# BR2_PACKAGE_DISTCC is not set
+# BR2_PACKAGE_HASERL_VERSION_0_8_X is not set
+# BR2_PACKAGE_STRONGSWAN_TOOLS is not set
+# BR2_PACKAGE_XBMC_ADDON_XVDR is not set
+# BR2_PACKAGE_XBMC_PVR_ADDONS is not set
+# BR2_PACKAGE_XBMC is not set
+# BR2_PACKAGE_XBMC_ALSA_LIB is not set
+# BR2_PACKAGE_XBMC_AVAHI is not set
+# BR2_PACKAGE_XBMC_DBUS is not set
+# BR2_PACKAGE_XBMC_LIBBLURAY is not set
+# BR2_PACKAGE_XBMC_GOOM is not set
+# BR2_PACKAGE_XBMC_RSXS is not set
+# BR2_PACKAGE_XBMC_LIBCEC is not set
+# BR2_PACKAGE_XBMC_LIBMICROHTTPD is not set
+# BR2_PACKAGE_XBMC_LIBNFS is not set
+# BR2_PACKAGE_XBMC_RTMPDUMP is not set
+# BR2_PACKAGE_XBMC_LIBSHAIRPLAY is not set
+# BR2_PACKAGE_XBMC_LIBSMBCLIENT is not set
+# BR2_PACKAGE_XBMC_LIBTHEORA is not set
+# BR2_PACKAGE_XBMC_LIBUSB is not set
+# BR2_PACKAGE_XBMC_LIBVA is not set
+# BR2_PACKAGE_XBMC_WAVPACK is not set
+# BR2_PREFER_STATIC_LIB is not set
+
+#
+# Legacy options removed in 2014.11
+#
+# BR2_x86_generic is not set
+# BR2_GCC_VERSION_4_4_X is not set
+# BR2_sparc_sparchfleon is not set
+# BR2_sparc_sparchfleonv8 is not set
+# BR2_sparc_sparcsfleon is not set
+# BR2_sparc_sparcsfleonv8 is not set
+# BR2_PACKAGE_LINUX_FIRMWARE_XC5000 is not set
+# BR2_PACKAGE_LINUX_FIRMWARE_CXGB4 is not set
+# BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160_7260_7 is not set
+# BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160_7260_8 is not set
+
+#
+# Legacy options removed in 2014.08
+#
+# BR2_PACKAGE_LIBELF is not set
+# BR2_KERNEL_HEADERS_3_8 is not set
+# BR2_PACKAGE_GETTEXT_TOOLS is not set
+# BR2_PACKAGE_PROCPS is not set
+# BR2_BINUTILS_VERSION_2_20_1 is not set
+# BR2_BINUTILS_VERSION_2_21 is not set
+# BR2_BINUTILS_VERSION_2_23_1 is not set
+# BR2_UCLIBC_VERSION_0_9_32 is not set
+# BR2_GCC_VERSION_4_3_X is not set
+# BR2_GCC_VERSION_4_6_X is not set
+# BR2_GDB_VERSION_7_4 is not set
+# BR2_GDB_VERSION_7_5 is not set
+# BR2_BUSYBOX_VERSION_1_19_X is not set
+# BR2_BUSYBOX_VERSION_1_20_X is not set
+# BR2_BUSYBOX_VERSION_1_21_X is not set
+# BR2_PACKAGE_LIBV4L_DECODE_TM6000 is not set
+# BR2_PACKAGE_LIBV4L_IR_KEYTABLE is not set
+# BR2_PACKAGE_LIBV4L_V4L2_COMPLIANCE is not set
+# BR2_PACKAGE_LIBV4L_V4L2_CTL is not set
+# BR2_PACKAGE_LIBV4L_V4L2_DBG is not set
+
+#
+# Legacy options removed in 2014.05
+#
+# BR2_PACKAGE_EVTEST_CAPTURE is not set
+# BR2_KERNEL_HEADERS_3_6 is not set
+# BR2_KERNEL_HEADERS_3_7 is not set
+# BR2_PACKAGE_VALA is not set
+BR2_PACKAGE_TZDATA_ZONELIST=""
+# BR2_PACKAGE_LUA_INTERPRETER_EDITING_NONE is not set
+# BR2_PACKAGE_LUA_INTERPRETER_READLINE is not set
+# BR2_PACKAGE_LUA_INTERPRETER_LINENOISE is not set
+# BR2_PACKAGE_DVB_APPS_UTILS is not set
+# BR2_KERNEL_HEADERS_SNAP is not set
+# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV is not set
+# BR2_PACKAGE_UDEV is not set
+# BR2_PACKAGE_UDEV_RULES_GEN is not set
+# BR2_PACKAGE_UDEV_ALL_EXTRAS is not set
+
+#
+# Legacy options removed in 2014.02
+#
+# BR2_sh2 is not set
+# BR2_sh3 is not set
+# BR2_sh3eb is not set
+# BR2_KERNEL_HEADERS_3_1 is not set
+# BR2_KERNEL_HEADERS_3_3 is not set
+# BR2_KERNEL_HEADERS_3_5 is not set
+# BR2_GDB_VERSION_7_2 is not set
+# BR2_GDB_VERSION_7_3 is not set
+# BR2_PACKAGE_CCACHE is not set
+# BR2_HAVE_DOCUMENTATION is not set
+# BR2_PACKAGE_AUTOMAKE is not set
+# BR2_PACKAGE_AUTOCONF is not set
+# BR2_PACKAGE_XSTROKE is not set
+# BR2_PACKAGE_LZMA is not set
+# BR2_PACKAGE_TTCP is not set
+# BR2_PACKAGE_LIBNFC_LLCP is not set
+# BR2_PACKAGE_MYSQL_CLIENT is not set
+# BR2_PACKAGE_SQUASHFS3 is not set
+# BR2_TARGET_ROOTFS_SQUASHFS3 is not set
+# BR2_PACKAGE_NETKITBASE is not set
+# BR2_PACKAGE_NETKITTELNET is not set
+# BR2_PACKAGE_LUASQL is not set
+# BR2_PACKAGE_LUACJSON is not set
+
+#
+# Legacy options removed in 2013.11
+#
+# BR2_PACKAGE_LVM2_DMSETUP_ONLY is not set
+# BR2_PACKAGE_QT_JAVASCRIPTCORE is not set
+# BR2_PACKAGE_MODULE_INIT_TOOLS is not set
+BR2_TARGET_UBOOT_CUSTOM_GIT_REPO_URL=""
+BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION=""
+BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL=""
+BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION=""
+
+#
+# Legacy options removed in 2013.08
+#
+# BR2_ARM_OABI is not set
+# BR2_PACKAGE_DOSFSTOOLS_DOSFSCK is not set
+# BR2_PACKAGE_DOSFSTOOLS_DOSFSLABEL is not set
+# BR2_PACKAGE_DOSFSTOOLS_MKDOSFS is not set
+# BR2_ELF2FLT is not set
+# BR2_VFP_FLOAT is not set
+# BR2_PACKAGE_GCC_TARGET is not set
+# BR2_HAVE_DEVFILES is not set
+
+#
+# Legacy options removed in 2013.05
+#
+# BR2_PACKAGE_LINUX_FIRMWARE_RTL_8192 is not set
+# BR2_PACKAGE_LINUX_FIRMWARE_RTL_8712 is not set
+
+#
+# Legacy options removed in 2013.02
+#
+# BR2_sa110 is not set
+# BR2_sa1100 is not set
+# BR2_PACKAGE_GDISK is not set
+# BR2_PACKAGE_GDISK_GDISK is not set
+# BR2_PACKAGE_GDISK_SGDISK is not set
+# BR2_PACKAGE_GDB_HOST is not set
+# BR2_PACKAGE_DIRECTB_DITHER_RGB16 is not set
+# BR2_PACKAGE_DIRECTB_TESTS is not set
+
+#
+# Legacy options removed in 2012.11
+#
+# BR2_PACKAGE_CUSTOMIZE is not set
+# BR2_PACKAGE_XSERVER_xorg is not set
+# BR2_PACKAGE_XSERVER_tinyx is not set
+# BR2_PACKAGE_PTHREAD_STUBS is not set
+
+#
+# Legacy options removed in 2012.08
+#
+# BR2_PACKAGE_GETTEXT_STATIC is not set
+# BR2_PACKAGE_LIBINTL is not set
+# BR2_PACKAGE_INPUT_TOOLS_EVTEST is not set
+# BR2_BFIN_FDPIC is not set
+# BR2_BFIN_FLAT is not set
diff --git a/resources/tools/disk-image-builder/nested/clean.sh b/resources/tools/disk-image-builder/nested/clean.sh
new file mode 100755 (executable)
index 0000000..a8912b9
--- /dev/null
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+# Copyright (c) 2016 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+BUILD_DIR="$(dirname $0)/build"
+
+make -C ${BUILD_DIR}/buildroot*/ clean
+rm -f ${BUILD_DIR}/*.img
diff --git a/resources/tools/disk-image-builder/nested/deepclean.sh b/resources/tools/disk-image-builder/nested/deepclean.sh
new file mode 100755 (executable)
index 0000000..66c14aa
--- /dev/null
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+# Copyright (c) 2016 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+BUILD_DIR="$(dirname $0)/build"
+rm -fr ${BUILD_DIR}/*
diff --git a/resources/tools/disk-image-builder/nested/kernel-defconfig b/resources/tools/disk-image-builder/nested/kernel-defconfig
new file mode 100644 (file)
index 0000000..7fd03d3
--- /dev/null
@@ -0,0 +1,317 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_SYSVIPC=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+CONFIG_FHANDLE=y
+CONFIG_AUDIT=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_LOG_BUF_SHIFT=18
+CONFIG_CGROUPS=y
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CPUSETS=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_RESOURCE_COUNTERS=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_COMPAT_BRK is not set
+CONFIG_PROFILING=y
+CONFIG_KPROBES=y
+CONFIG_JUMP_LABEL=y
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_PARTITION_ADVANCED=y
+CONFIG_OSF_PARTITION=y
+CONFIG_AMIGA_PARTITION=y
+CONFIG_MAC_PARTITION=y
+CONFIG_BSD_DISKLABEL=y
+CONFIG_MINIX_SUBPARTITION=y
+CONFIG_SOLARIS_X86_PARTITION=y
+CONFIG_UNIXWARE_DISKLABEL=y
+CONFIG_SGI_PARTITION=y
+CONFIG_SUN_PARTITION=y
+CONFIG_KARMA_PARTITION=y
+CONFIG_EFI_PARTITION=y
+CONFIG_SMP=y
+CONFIG_CALGARY_IOMMU=y
+CONFIG_NR_CPUS=64
+CONFIG_SCHED_SMT=y
+CONFIG_PREEMPT_VOLUNTARY=y
+CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
+CONFIG_X86_MCE=y
+CONFIG_MICROCODE=y
+CONFIG_MICROCODE_AMD=y
+CONFIG_X86_MSR=y
+CONFIG_X86_CPUID=y
+CONFIG_NUMA=y
+CONFIG_X86_CHECK_BIOS_CORRUPTION=y
+# CONFIG_MTRR_SANITIZER is not set
+CONFIG_EFI=y
+CONFIG_HZ_1000=y
+CONFIG_KEXEC=y
+CONFIG_CRASH_DUMP=y
+# CONFIG_COMPAT_VDSO is not set
+CONFIG_HIBERNATION=y
+CONFIG_PM_DEBUG=y
+CONFIG_PM_TRACE_RTC=y
+CONFIG_ACPI_DOCK=y
+CONFIG_CPU_FREQ=y
+# CONFIG_CPU_FREQ_STAT is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_X86_ACPI_CPUFREQ=y
+CONFIG_PCI_MMCONFIG=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_PCCARD=y
+CONFIG_YENTA=y
+CONFIG_HOTPLUG_PCI=y
+CONFIG_BINFMT_MISC=y
+CONFIG_IA32_EMULATION=y
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_XFRM_USER=y
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+CONFIG_IP_PNP_RARP=y
+CONFIG_IP_MROUTE=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+CONFIG_SYN_COOKIES=y
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_BEET is not set
+# CONFIG_INET_DIAG is not set
+CONFIG_TCP_CONG_ADVANCED=y
+# CONFIG_TCP_CONG_BIC is not set
+# CONFIG_TCP_CONG_WESTWOOD is not set
+# CONFIG_TCP_CONG_HTCP is not set
+CONFIG_TCP_MD5SIG=y
+CONFIG_IPV6=y
+CONFIG_INET6_AH=y
+CONFIG_INET6_ESP=y
+CONFIG_NETLABEL=y
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_ADVANCED is not set
+CONFIG_NF_CONNTRACK=y
+CONFIG_NF_CONNTRACK_FTP=y
+CONFIG_NF_CONNTRACK_IRC=y
+CONFIG_NF_CONNTRACK_SIP=y
+CONFIG_NF_CT_NETLINK=y
+CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
+CONFIG_NETFILTER_XT_TARGET_NFLOG=y
+CONFIG_NETFILTER_XT_TARGET_SECMARK=y
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
+CONFIG_NETFILTER_XT_MATCH_POLICY=y
+CONFIG_NETFILTER_XT_MATCH_STATE=y
+CONFIG_NF_CONNTRACK_IPV4=y
+CONFIG_IP_NF_IPTABLES=y
+CONFIG_IP_NF_FILTER=y
+CONFIG_IP_NF_TARGET_REJECT=y
+CONFIG_IP_NF_TARGET_ULOG=y
+CONFIG_NF_NAT=y
+CONFIG_IP_NF_TARGET_MASQUERADE=y
+CONFIG_IP_NF_MANGLE=y
+CONFIG_NF_CONNTRACK_IPV6=y
+CONFIG_IP6_NF_IPTABLES=y
+CONFIG_IP6_NF_MATCH_IPV6HEADER=y
+CONFIG_IP6_NF_FILTER=y
+CONFIG_IP6_NF_TARGET_REJECT=y
+CONFIG_IP6_NF_MANGLE=y
+CONFIG_NET_SCHED=y
+CONFIG_NET_EMATCH=y
+CONFIG_NET_CLS_ACT=y
+CONFIG_HAMRADIO=y
+CONFIG_CFG80211=y
+CONFIG_MAC80211=y
+CONFIG_MAC80211_LEDS=y
+CONFIG_RFKILL=y
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_DEBUG_DEVRES=y
+CONFIG_CONNECTOR=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_BLK_DEV_SR=y
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=y
+CONFIG_SCSI_CONSTANTS=y
+CONFIG_SCSI_SPI_ATTRS=y
+# CONFIG_SCSI_LOWLEVEL is not set
+CONFIG_ATA=y
+CONFIG_SATA_AHCI=y
+CONFIG_ATA_PIIX=y
+CONFIG_PATA_AMD=y
+CONFIG_PATA_OLDPIIX=y
+CONFIG_PATA_SCH=y
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=y
+CONFIG_BLK_DEV_DM=y
+CONFIG_DM_MIRROR=y
+CONFIG_DM_ZERO=y
+CONFIG_MACINTOSH_DRIVERS=y
+CONFIG_MAC_EMUMOUSEBTN=y
+CONFIG_NETDEVICES=y
+CONFIG_NETCONSOLE=y
+CONFIG_TIGON3=y
+CONFIG_NET_TULIP=y
+CONFIG_E100=y
+CONFIG_E1000=y
+CONFIG_SKY2=y
+CONFIG_FORCEDETH=y
+CONFIG_8139TOO=y
+CONFIG_FDDI=y
+CONFIG_INPUT_POLLDEV=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_INPUT_TABLET=y
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_INPUT_MISC=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_SERIAL_NONSTANDARD=y
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_MANY_PORTS=y
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_8250_DETECT_IRQ=y
+CONFIG_SERIAL_8250_RSA=y
+CONFIG_HW_RANDOM=y
+# CONFIG_HW_RANDOM_INTEL is not set
+# CONFIG_HW_RANDOM_AMD is not set
+CONFIG_NVRAM=y
+CONFIG_HPET=y
+# CONFIG_HPET_MMAP is not set
+CONFIG_I2C_I801=y
+CONFIG_WATCHDOG=y
+CONFIG_AGP=y
+CONFIG_AGP_AMD64=y
+CONFIG_AGP_INTEL=y
+CONFIG_DRM=y
+CONFIG_DRM_I915=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+CONFIG_FB_EFI=y
+# CONFIG_LCD_CLASS_DEVICE is not set
+CONFIG_VGACON_SOFT_SCROLLBACK=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_SOUND=y
+CONFIG_SND=y
+CONFIG_SND_SEQUENCER=y
+CONFIG_SND_SEQ_DUMMY=y
+CONFIG_SND_MIXER_OSS=y
+CONFIG_SND_PCM_OSS=y
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_HRTIMER=y
+CONFIG_SND_HDA_INTEL=y
+CONFIG_SND_HDA_HWDEP=y
+CONFIG_HIDRAW=y
+CONFIG_HID_GYRATION=y
+CONFIG_LOGITECH_FF=y
+CONFIG_HID_NTRIG=y
+CONFIG_HID_PANTHERLORD=y
+CONFIG_PANTHERLORD_FF=y
+CONFIG_HID_PETALYNX=y
+CONFIG_HID_SAMSUNG=y
+CONFIG_HID_SONY=y
+CONFIG_HID_SUNPLUS=y
+CONFIG_HID_TOPSEED=y
+CONFIG_HID_PID=y
+CONFIG_USB_HIDDEV=y
+CONFIG_USB=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+CONFIG_USB_MON=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_UHCI_HCD=y
+CONFIG_USB_PRINTER=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_LIBUSUAL=y
+CONFIG_EDAC=y
+CONFIG_RTC_CLASS=y
+# CONFIG_RTC_HCTOSYS is not set
+CONFIG_DMADEVICES=y
+CONFIG_EEEPC_LAPTOP=y
+CONFIG_AMD_IOMMU=y
+CONFIG_AMD_IOMMU_STATS=y
+CONFIG_INTEL_IOMMU=y
+# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
+CONFIG_EFI_VARS=y
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+CONFIG_QFMT_V2=y
+CONFIG_AUTOFS4_FS=y
+CONFIG_ISO9660_FS=y
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_HUGETLBFS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=y
+CONFIG_ROOT_NFS=y
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_UTF8=y
+CONFIG_PRINTK_TIME=y
+# CONFIG_ENABLE_WARN_DEPRECATED is not set
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_UNUSED_SYMBOLS is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_SCHED_DEBUG is not set
+CONFIG_SCHEDSTATS=y
+CONFIG_TIMER_STATS=y
+CONFIG_DEBUG_STACK_USAGE=y
+CONFIG_BLK_DEV_IO_TRACE=y
+CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
+CONFIG_EARLY_PRINTK_DBGP=y
+CONFIG_DEBUG_STACKOVERFLOW=y
+# CONFIG_DEBUG_RODATA_TEST is not set
+CONFIG_DEBUG_BOOT_PARAMS=y
+CONFIG_OPTIMIZE_INLINING=y
+CONFIG_KEYS_DEBUG_PROC_KEYS=y
+CONFIG_SECURITY=y
+CONFIG_SECURITY_NETWORK=y
+CONFIG_SECURITY_SELINUX=y
+CONFIG_SECURITY_SELINUX_BOOTPARAM=y
+CONFIG_SECURITY_SELINUX_DISABLE=y
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_VIRTIO_PCI=y
+CONFIG_VIRTIO_BALLOON=y
+CONFIG_VIRTIO_BLK=y
+CONFIG_VIRTIO_NET=y
+CONFIG_VIRTIO=y
+CONFIG_VIRTIO_RING=y
+CONFIG_BRIDGE=y
+CONFIG_IP_FORWARD=y
diff --git a/resources/tools/disk-image-builder/nested/patches/01-serial-console b/resources/tools/disk-image-builder/nested/patches/01-serial-console
new file mode 100755 (executable)
index 0000000..99b6f7f
--- /dev/null
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+patch boot/grub/menu.lst <<"_EOF"
+2c2,4
+< timeout              10
+---
+> timeout              1
+> serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1
+> terminal --timeout=0 serial console
+15c17
+<      kernel /boot/bzImage rw root=/dev/sda1
+---
+>      kernel /boot/bzImage rw root=/dev/sda1 console=ttyS0,115200n8
+_EOF
+
+patch etc/inittab <<"_EOF"
+27c27,29
+< console::respawn:/sbin/getty -L  console 0 vt100 # GENERIC_SERIAL
+---
+> console::respawn:/sbin/getty -L console 0 vt100 # GENERIC_SERIAL
+> # ttyS1 to be used by qemu-ga
+> ttyS2::respawn:/sbin/getty -L ttyS2 0 vt100 # Additional serial
+_EOF
diff --git a/resources/tools/disk-image-builder/nested/patches/02-users b/resources/tools/disk-image-builder/nested/patches/02-users
new file mode 100755 (executable)
index 0000000..9b7db09
--- /dev/null
@@ -0,0 +1,37 @@
+#!/bin/sh -e
+
+patch etc/sudoers <<"_EOF"
+97a98,100
+> 
+> csit ALL=(root) NOPASSWD:ALL
+> cisco ALL=(root) NOPASSWD:ALL
+_EOF
+
+patch etc/passwd <<"_EOF"
+10a11,12
+> csit:x:1001:1001:CSIT user:/tmp:/bin/sh
+> cisco:x:1002:1002:Cisco user:/tmp:/bin/sh
+_EOF
+
+patch etc/shadow <<"_EOF"
+1c1
+< root::10933:0:99999:7:::
+---
+> root:5pcUkhKEiBBfw:16892:0:99999:7:::
+10a11,12
+> csit:5pcUkhKEiBBfw:16892:0:99999:7:::
+> cisco:5piAVSAyGsbaI:16892:0:99999:7:::
+_EOF
+
+patch etc/group <<"_EOF"
+27a28,29
+> csit:x:1001:
+> cisco:x:1002:
+_EOF
+
+patch etc/ssh/sshd_config <<"_EOF"
+44c44
+< #PermitRootLogin prohibit-password
+---
+> PermitRootLogin yes
+_EOF
diff --git a/resources/tools/disk-image-builder/nested/patches/03-network b/resources/tools/disk-image-builder/nested/patches/03-network
new file mode 100755 (executable)
index 0000000..ca5c4f9
--- /dev/null
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+patch boot/grub/menu.lst <<"_EOF"
+17c17
+<      kernel /boot/bzImage rw root=/dev/sda1 console=ttyS0,115200n8
+---
+>      kernel /boot/bzImage rw root=/dev/sda1 ipv6.disable=1 console=ttyS0,115200n8
+_EOF
+
+patch etc/network/interfaces <<"_EOF"
+4a5,7
+> 
+> auto mgmt0
+> iface mgmt0 inet dhcp
+_EOF
+
+patch etc/init.d/S40network <<"_EOF"
+11a12,29
+> 
+>      # Rename interfaces. The e1000 interface is managment.
+>      NUM_VIRTIO=0
+>      NUM_MGMT=0
+>      for dev in /sys/class/net/eth*
+>      do
+>        devname=`basename $dev`
+>        driver=`readlink ${dev}/device/driver`
+>        if test "${driver#*virtio}" != "$driver"
+>        then
+>          ip link set dev $devname name virtio${NUM_VIRTIO}
+>          NUM_VIRTIO=$(($NUM_VIRTIO+1))
+>        else
+>          ip link set dev $devname name mgmt${NUM_MGMT}
+>          NUM_MGMT=$((NUM_MGMT+1))
+>        fi
+>      done
+> 
+_EOF
diff --git a/resources/tools/disk-image-builder/nested/patches/04-qemu-ga b/resources/tools/disk-image-builder/nested/patches/04-qemu-ga
new file mode 100755 (executable)
index 0000000..2897260
--- /dev/null
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+cat - > etc/init.d/S45qemu-ga <<"_EOF"
+#!/bin/sh
+#
+# Start QEMU guest agent
+#
+QEMU_GA_MODE="isa-serial"
+QEMU_GA_DEV="/dev/ttyS1"
+
+case "$1" in
+  start)
+       echo "Starting qemu guest agent..."
+       /usr/bin/qemu-ga -m $QEMU_GA_MODE -p $QEMU_GA_DEV -d
+       ;;
+  stop)
+       echo "Stopping quemu guest agent..."
+       killall qemu-ga
+       ;;
+  restart|reload)
+       "$0" stop
+       "$0" start
+       ;;
+  *)
+       echo "Usage: $0 {start|stop|restart}"
+       exit 1
+esac
+
+exit $?
+_EOF
+
+chown root.root etc/init.d/S45qemu-ga
+chmod 755 etc/init.d/S45qemu-ga
diff --git a/resources/tools/disk-image-builder/nested/patches/05-ssh-hostkeys b/resources/tools/disk-image-builder/nested/patches/05-ssh-hostkeys
new file mode 100755 (executable)
index 0000000..de8be15
--- /dev/null
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+# Generate host keys here. This will speed up first boot time ever so slightly.
+# It does however mean that keys are not unique across installations -- which
+# shouldn't be an issue for our use case though.
+
+sudo mkdir -m 0775 -p etc/ssh
+for a in rsa ecdsa ed25519 dsa
+do
+  sudo ssh-keygen -f etc/ssh/ssh_host_${a}_key -N "" -t ${a}
+done
diff --git a/resources/tools/disk-image-builder/nested/requirements.sh b/resources/tools/disk-image-builder/nested/requirements.sh
new file mode 100644 (file)
index 0000000..80a76fc
--- /dev/null
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+# Copyright (c) 2016 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+sudo apt-get install -y gcc-multilib
diff --git a/resources/tools/disk-image-builder/ubuntu/.gitignore b/resources/tools/disk-image-builder/ubuntu/.gitignore
new file mode 100644 (file)
index 0000000..a007fea
--- /dev/null
@@ -0,0 +1 @@
+build/*
diff --git a/resources/tools/disk-image-builder/ubuntu/CHANGELOG b/resources/tools/disk-image-builder/ubuntu/CHANGELOG
new file mode 100644 (file)
index 0000000..8eb1c51
--- /dev/null
@@ -0,0 +1,3 @@
+## [1.0] - 2016-05-20
+
+Initial release
diff --git a/resources/tools/disk-image-builder/ubuntu/build-listmaker.sh b/resources/tools/disk-image-builder/ubuntu/build-listmaker.sh
new file mode 100755 (executable)
index 0000000..59b44e5
--- /dev/null
@@ -0,0 +1,65 @@
+#!/bin/sh
+
+# Copyright (c) 2016 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+
+# This builds the "listmaker" image. This is essentially a one-time
+# action and most likely applicable to CSIT test lab only.
+
+cd $(dirname $0)
+BUILD_DIR="$(pwd)/build"
+PACKER_DIR="${BUILD_DIR}/packer"
+OUT_DIR="${BUILD_DIR}/output/listmaker"
+
+RELEASE_NAME="csit-ubuntu-14.04.4-listmaker"
+PACKER_TEMPLATE="listmaker/ubuntu-14.04.4.json"
+
+VIRL_IMAGE_SUBTYPE=server
+VIRL_IMAGE_NAME="${RELEASE_NAME}"
+VIRL_IMAGE_FILE="${OUT_DIR}/packer-${RELEASE_NAME}"
+
+# export PACKER_LOG="1"
+
+# This script requires that the following two environment variables be defined-
+#
+# $VIRL_USER
+# $VIRL_PASSWORD
+
+if [ "$VIRL_USER" = "" ] || [ "$VIRL_PASSWORD" = "" ]
+then
+  echo '$VIRL_USER and $VIRL_PASSWORD environment variables must be defined'
+  exit 1
+fi
+
+###
+### Download and extract packer, if not already installed
+###
+os=$(uname -s)
+if [ "$os" = "Darwin" ]
+then
+  packer_url="https://releases.hashicorp.com/packer/0.10.1/packer_0.10.1_darwin_amd64.zip"
+elif [ "$os" = "Linux" ]
+then
+  packer_url="https://releases.hashicorp.com/packer/0.10.1/packer_0.10.1_linux_amd64.zip"
+fi
+
+mkdir -p $BUILD_DIR
+wget -P ${PACKER_DIR} -N ${packer_url}
+
+unzip -n ${PACKER_DIR}/packer*zip -d ${PACKER_DIR}
+
+###
+### Build the actual image as per packer script. Packer post-processor will
+### upload it to VIRL.
+###
+${BUILD_DIR}/packer/packer build -var "release=${RELEASE_NAME}" \
+  -var "outputdir=${OUT_DIR}" -force -machine-readable ${PACKER_TEMPLATE}
diff --git a/resources/tools/disk-image-builder/ubuntu/build.sh b/resources/tools/disk-image-builder/ubuntu/build.sh
new file mode 100755 (executable)
index 0000000..c94f445
--- /dev/null
@@ -0,0 +1,276 @@
+#!/bin/bash -e
+
+# Copyright (c) 2016 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Purpose of this script is to build a VirtualBox or QCOW2 disk image
+# for use with CSIT testing.
+#
+# As input parameters, the script takes:
+#
+# - A base Linux distribution (currently, only "ubuntu-14.04.4" is
+#   supported),
+# - A release timestamp in the format "YYYY-MM-DD" eg. "2016-05-21".
+#   This timestamp MUST reference to a list of packages (APT, PIP)
+#   that was previously generated by the "listmaker" VM and script.
+# - A path to the nested VM image.
+#
+# The bullk of the work is done by packer,
+# while this script does some of the pre- and post-processing.
+# Steps executed are:
+#
+# 1.) Determine if building a QCOW or VirtualBox image. Currently,
+#     we build a QCOW image if VIRL_* environment variables are
+#     present (and we therefore assume we are building for VIRL),
+#     or VirtualBox otherwise.
+#
+# 2.) Download packer, if not already installed.
+#
+# 3.) Download APT and PIP packages as required for the image.
+#     We're downloading them here, rather than letting the VM
+#     download them off the public internet, for two reasons:
+#     a.) This allows us to keep and cache packets between runs
+#         and download them only once,
+#     b.) This means only the build host needs a working proxy
+#         configuration and we do not need to worry about setting
+#         a proxy inside the VM.
+#
+# 4.) Link the nested VM image into the main VM's temp directory
+#
+# 5.) Create Version and Changelog files
+#
+# 6.) Run Packer. Packer, in turn, will:
+#     6.1.) Download the Operating System ISO image,
+#     6.2.) Start a VM using the selected hypervisor (VirtualBox or Qemu),
+#     6.3.) Boot the VM using the ISO image and send initial keystrokes
+#           to initiate installation using a Preseed or Kickstart file,
+#     6.4.) Drive the installation using until the point the VM is reachable
+#           over SSH,
+#     6.5.) Copy the temporary directory populated in steps 3-5 above to the VM,
+#     6.6.) Run a script on the VM that performs post-installation:
+#           6.6.1.) Install selected .deb packages
+#           6.6.2.) Install PIP packages as per requirements.txt file
+#           6.6.3.) Install nested VM image and VERSION/CHANGELOG files
+#     6.7.) Run a script on VM that creates a Vagrant user (VirtualBox only)
+#     6.8.) Run a script on VM that performs clean-up:
+#           6.8.1.) Remove any temporary files created,
+#           6.8.2.) Remove SSH host-keys
+#           6.8.3.) Remove root user password
+#           6.8.4.) Shut down the VM
+#     6.9.) [TODO]: Upload the image to VIRL (QCOW only), -or-
+#           Convert the image into a Vagrant box (VirtualBox only), and
+#           [TODO/FIX]: Upload the Vagrant box to Atlas (VirtualBox only)
+#
+# 7.) Clean up
+
+###
+### 0. Set constants and verify parameters.
+###
+cd $(dirname $0)
+BUILD_DIR="$(pwd)/build"
+PACKER_DIR="${BUILD_DIR}/packer"
+
+APT_CACHE_DIR="${BUILD_DIR}/cache/apt"
+PIP_CACHE_DIR="${BUILD_DIR}/cache/pip"
+
+PACKER_TEMPLATE="ubuntu-14.04.4.json"
+LISTS_DIR="$(dirname $0)/lists"
+
+function syntax {
+  echo 'Syntax: $0 <Operating System> <Release> <Nested VM image>'
+  echo
+  echo '<Operating System>: Base distro, eg. ubuntu-14.04.4'
+  echo '<Release>:          Release timestamp, eg. 2016-05-21'
+  echo '<Nested VM image>:  Path to nested VM image'
+
+  exit 1
+}
+
+## Parse command line options
+
+OS=$1
+RELDATE=$2
+NESTED_IMG=$3
+
+if [ "$3" = "" ]
+then
+  syntax
+fi
+
+## Identify version by looking at topmost version statement in CHANGELOG
+
+VERSION=$(cat $(dirname $0)/CHANGELOG  | grep '^## ' | head -1 | \
+  sed -e 's/.*\[\(.*\)\].*/\1/')
+if [ "${VERSION}" = "" ]
+then
+  echo "Unable to determine build version from CHANGELOG file. Make sure"
+  echo "that there is an entry for the most recent version in CHANGELOG,"
+  echo "and that the entry is formated like"
+  echo
+  echo "## [1.0] - 2016-05-20"
+  exit 1
+fi
+RELEASE="csit-${OS}_${RELDATE}_${VERSION}"
+
+OUTPUT_DIR="${BUILD_DIR}/output/${RELEASE}"
+LIST="${LISTS_DIR}/${OS}_${RELDATE}_${VERSION}"
+
+if [ ! -d "${LIST}" ]
+then
+  echo "${LIST} not found"
+  syntax
+  exit 1
+fi
+if [ ! -f $NESTED_IMG ]
+then
+  echo "Nested image $NESTED_IMG not found"
+  syntax
+  exit 1
+fi
+
+ATLAS_RELDATE=${RELDATE//-}
+ATLAS_VERSION="${ATLAS_RELDATE}.${VERSION}"
+
+# Find an MD5 checksum utility
+
+MD5UTIL=$(which md5sum) || MD5UTIL=$(which md5)
+if [ $? -ne 0 ]
+then
+  echo "No MD5 utility found."
+  echo "Please make sure you either have \"md5sum\" or \"md5\" installed."
+  exit 1
+fi
+
+###
+### 1. Determine build target.
+###
+if [ "$VIRL_USER" = "" ] || [ "$VIRL_PASSWORD" = "" ]
+then
+  OUTPUT_PROVIDER="virtualbox"
+else
+  OUTPUT_PROVIDER="qemu"
+fi
+
+echo "Building version $VERSION for ${OUTPUT_PROVIDER}"
+echo "Release ${RELEASE}"
+echo "Using Nested VM image: ${NESTED_IMG}"
+echo
+
+
+###
+### 2. Download and extract packer, if not already installed
+###
+packer_os=$(uname -s)
+if [ "$packer_os" = "Darwin" ]
+then
+  packer_url="https://releases.hashicorp.com/packer/0.10.1/packer_0.10.1_darwin_amd64.zip"
+elif [ "$packer_os" = "Linux" ]
+then
+  packer_url="https://releases.hashicorp.com/packer/0.10.1/packer_0.10.1_linux_amd64.zip"
+fi
+
+mkdir -p $BUILD_DIR
+wget -P ${PACKER_DIR} -N ${packer_url}
+
+unzip -n ${PACKER_DIR}/packer*zip -d ${PACKER_DIR}
+
+###
+### 3. Download APT and PIP packages, and cache them
+###    Verify checksum of downloaded APT packages.
+###    Link required packages into a temp directory for the VM image.
+###
+
+## APT
+
+rm -fr ${OUTPUT_DIR}
+mkdir -p ${OUTPUT_DIR}/temp/deb
+mkdir -p ${APT_CACHE_DIR}
+
+APT_FILE="${LIST}/apt-packages.txt"
+while read url name size checksum
+do
+  # Download if not already present
+  if [ ! -f ${APT_CACHE_DIR}/$name ]
+  then
+    wget -P ${APT_CACHE_DIR} -O ${APT_CACHE_DIR}/$name ${url//\'}
+  fi
+
+  # Verify checksum (always -- regardless of whether the package was
+  # just downloaded, or already tehere
+  actual_md5sum=$(${MD5UTIL} < ${APT_CACHE_DIR}/$name)
+  if [ ! "${actual_md5sum:0:32}" = "${checksum:7}" ]
+  then
+    echo File $name checksum failure."
+    echo "Got ${actual_md5sum:0:31} expected ${checksum:7}.
+    rm -f ${APT_CACHE_DIR}/$name
+    exit 1
+  fi
+
+  # Link package into VM temp directory
+  ln ${APT_CACHE_DIR}/$name ${OUTPUT_DIR}/temp/deb/${name}
+done < $APT_FILE
+
+## PIP
+
+mkdir -p ${PIP_CACHE_DIR}
+
+# Let PIP do the work of downloading and verifying packages
+pip install --download ${PIP_CACHE_DIR} -r ${LIST}/pip-requirements.txt
+
+# Link packages and requirements file into VM's temp directory
+mkdir -p ${OUTPUT_DIR}/temp/pip
+ln ${PIP_CACHE_DIR}/* ${OUTPUT_DIR}/temp/pip/
+ln ${LIST}/pip-requirements.txt ${OUTPUT_DIR}/temp/requirements.txt
+
+###
+### 4. Link the nested VM image
+###
+rm -fr ${OUTPUT_DIR}/temp/nested-vm
+mkdir ${OUTPUT_DIR}/temp/nested-vm
+ln $NESTED_IMG ${OUTPUT_DIR}/temp/nested-vm/
+
+###
+### 5. Create Version and Changelog files
+###
+
+echo ${RELEASE} > ${OUTPUT_DIR}/temp/VERSION
+ln CHANGELOG ${OUTPUT_DIR}/temp/CHANGELOG
+
+###
+### 6. Run packer
+###
+export PACKER_LOG=1
+export PACKER_LOG_PATH=${OUTPUT_DIR}/packer.log
+${PACKER_DIR}/packer build -var "release=${RELEASE}" \
+ -only ${RELEASE}-${OUTPUT_PROVIDER} \
+ -var "output_dir=${OUTPUT_DIR}/packer" \
+ -var "temp_dir=${OUTPUT_DIR}/temp" \
+ -var "atlas_version=${ATLAS_VERSION}" \
+ -force \
+ -machine-readable ${PACKER_TEMPLATE}
+
+# TODO: Need to figure out "packer push" later. Currently keeps failing.
+# ${PACKER_DIR}/packer push -name ckoester/test123 -var "release=${RELEASE}" \
+#   -var "output_dir=${OUTPUT_DIR}/packer" \
+#   -var "temp_dir=${OUTPUT_DIR}/temp" \
+#   ${PACKER_TEMPLATE}
+
+###
+### 7. Clean up
+###
+rm -fr ${OUTPUT_DIR}/temp
+
+echo "Done."
+echo "Artifacts:"
+echo
+ls -lR ${OUTPUT_DIR}
diff --git a/resources/tools/disk-image-builder/ubuntu/clean.sh b/resources/tools/disk-image-builder/ubuntu/clean.sh
new file mode 100644 (file)
index 0000000..e1dbae4
--- /dev/null
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+# Copyright (c) 2016 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Script to clean up all build artifact, but keep cached files
+
+rm -fr $(dirname $0)/build/output/*
diff --git a/resources/tools/disk-image-builder/ubuntu/deepclean.sh b/resources/tools/disk-image-builder/ubuntu/deepclean.sh
new file mode 100755 (executable)
index 0000000..50eccc3
--- /dev/null
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+# Copyright (c) 2016 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Script to clean up build artifacts and cached files.
+
+rm -fr $(dirname $0)/build/*
+rm -fr $(dirname $0)/lists/*
diff --git a/resources/tools/disk-image-builder/ubuntu/html/preseed.cfg b/resources/tools/disk-image-builder/ubuntu/html/preseed.cfg
new file mode 100644 (file)
index 0000000..280757a
--- /dev/null
@@ -0,0 +1,503 @@
+#### Contents of the preconfiguration file (for trusty)
+### Localization
+# Preseeding only locale sets language, country and locale.
+d-i debian-installer/locale string en_US
+
+# The values can also be preseeded individually for greater flexibility.
+#d-i debian-installer/language string en
+#d-i debian-installer/country string NL
+#d-i debian-installer/locale string en_GB.UTF-8
+# Optionally specify additional locales to be generated.
+#d-i localechooser/supported-locales multiselect en_US.UTF-8, nl_NL.UTF-8
+
+# Keyboard selection.
+# Disable automatic (interactive) keymap detection.
+d-i console-setup/ask_detect boolean false
+d-i keyboard-configuration/xkb-keymap select us
+# To select a variant of the selected layout:
+#d-i keyboard-configuration/xkb-keymap select us(dvorak)
+# d-i keyboard-configuration/toggle select No toggling
+
+### Network configuration
+# Disable network configuration entirely. This is useful for cdrom
+# installations on non-networked devices where the network questions,
+# warning and long timeouts are a nuisance.
+#d-i netcfg/enable boolean false
+
+# netcfg will choose an interface that has link if possible. This makes it
+# skip displaying a list if there is more than one interface.
+d-i netcfg/choose_interface select auto
+
+# To pick a particular interface instead:
+#d-i netcfg/choose_interface select eth1
+
+# To set a different link detection timeout (default is 3 seconds).
+# Values are interpreted as seconds.
+#d-i netcfg/link_wait_timeout string 10
+
+# If you have a slow dhcp server and the installer times out waiting for
+# it, this might be useful.
+#d-i netcfg/dhcp_timeout string 60
+#d-i netcfg/dhcpv6_timeout string 60
+
+# If you prefer to configure the network manually, uncomment this line and
+# the static network configuration below.
+#d-i netcfg/disable_autoconfig boolean true
+
+# If you want the preconfiguration file to work on systems both with and
+# without a dhcp server, uncomment these lines and the static network
+# configuration below.
+#d-i netcfg/dhcp_failed note
+#d-i netcfg/dhcp_options select Configure network manually
+
+# Static network configuration.
+#
+# IPv4 example
+#d-i netcfg/get_ipaddress string 192.168.1.42
+#d-i netcfg/get_netmask string 255.255.255.0
+#d-i netcfg/get_gateway string 192.168.1.1
+#d-i netcfg/get_nameservers string 192.168.1.1
+#d-i netcfg/confirm_static boolean true
+#
+# IPv6 example
+#d-i netcfg/get_ipaddress string fc00::2
+#d-i netcfg/get_netmask string ffff:ffff:ffff:ffff::
+#d-i netcfg/get_gateway string fc00::1
+#d-i netcfg/get_nameservers string fc00::1
+#d-i netcfg/confirm_static boolean true
+
+# Any hostname and domain names assigned from dhcp take precedence over
+# values set here. However, setting the values still prevents the questions
+# from being shown, even if values come from dhcp.
+d-i netcfg/get_hostname string unassigned-hostname
+d-i netcfg/get_domain string unassigned-domain
+
+# If you want to force a hostname, regardless of what either the DHCP
+# server returns or what the reverse DNS entry for the IP is, uncomment
+# and adjust the following line.
+#d-i netcfg/hostname string somehost
+
+# Disable that annoying WEP key dialog.
+d-i netcfg/wireless_wep string
+# The wacky dhcp hostname that some ISPs use as a password of sorts.
+#d-i netcfg/dhcp_hostname string radish
+
+# If non-free firmware is needed for the network or other hardware, you can
+# configure the installer to always try to load it, without prompting. Or
+# change to false to disable asking.
+#d-i hw-detect/load_firmware boolean true
+
+### Network console
+# Use the following settings if you wish to make use of the network-console
+# component for remote installation over SSH. This only makes sense if you
+# intend to perform the remainder of the installation manually.
+#d-i anna/choose_modules string network-console
+#d-i network-console/authorized_keys_url string http://10.0.0.1/openssh-key
+#d-i network-console/password password r00tme
+#d-i network-console/password-again password r00tme
+# Use this instead if you prefer to use key-based authentication
+#d-i network-console/authorized_keys_url http://host/authorized_keys
+
+### Mirror settings
+# If you select ftp, the mirror/country string does not need to be set.
+#d-i mirror/protocol string ftp
+#d-i mirror/country string manual
+#d-i mirror/http/hostname string archive.ubuntu.com
+#d-i mirror/http/directory string /ubuntu
+#d-i mirror/http/proxy string
+
+# Alternatively: by default, the installer uses CC.archive.ubuntu.com where
+# CC is the ISO-3166-2 code for the selected country. You can preseed this
+# so that it does so without asking.
+#d-i mirror/http/mirror select CC.archive.ubuntu.com
+
+# Suite to install.
+#d-i mirror/suite string trusty
+# Suite to use for loading installer components (optional).
+#d-i mirror/udeb/suite string trusty
+# Components to use for loading installer components (optional).
+#d-i mirror/udeb/components multiselect main, restricted
+
+### Account setup
+# Skip creation of a root account (normal user account will be able to
+# use sudo). The default is false; preseed this to true if you want to set
+# a root password.
+d-i passwd/root-login boolean true
+# Alternatively, to skip creation of a normal user account.
+d-i passwd/make-user boolean false
+
+# Root password, either in clear text
+d-i passwd/root-password password csit
+d-i passwd/root-password-again password csit
+# or encrypted using a crypt(3)  hash.
+#d-i passwd/root-password-crypted password [crypt(3) hash]
+
+# To create a normal user account.
+#d-i passwd/user-fullname string Ubuntu User
+#d-i passwd/username string ubuntu
+# Normal user's password, either in clear text
+#d-i passwd/user-password password insecure
+#d-i passwd/user-password-again password insecure
+# or encrypted using a crypt(3) hash.
+#d-i passwd/user-password-crypted password [crypt(3) hash]
+# Create the first user with the specified UID instead of the default.
+#d-i passwd/user-uid string 1010
+# The installer will warn about weak passwords. If you are sure you know
+# what you're doing and want to override it, uncomment this.
+#d-i user-setup/allow-password-weak boolean true
+#d-i passwd/user-fullname string Packer - Temp User
+#d-i passwd/username string packer
+#d-i passwd/user-password password packer
+#d-i passwd/user-password-again password packer
+d-i user-setup/allow-password-weak boolean true
+
+# The user account will be added to some standard initial groups. To
+# override that, use this.
+#d-i passwd/user-default-groups string audio cdrom video
+
+# Set to true if you want to encrypt the first user's home directory.
+d-i user-setup/encrypt-home boolean false
+
+### Clock and time zone setup
+# Controls whether or not the hardware clock is set to UTC.
+d-i clock-setup/utc boolean true
+
+# You may set this to any valid setting for $TZ; see the contents of
+# /usr/share/zoneinfo/ for valid values.
+d-i time/zone string US/Eastern
+
+# Controls whether to use NTP to set the clock during the install
+d-i clock-setup/ntp boolean false
+# NTP server to use. The default is almost always fine here.
+#d-i clock-setup/ntp-server string ntp.example.com
+
+### Partitioning
+## Partitioning example
+# If the system has free space you can choose to only partition that space.
+# This is only honoured if partman-auto/method (below) is not set.
+# Alternatives: custom, some_device, some_device_crypto, some_device_lvm.
+#d-i partman-auto/init_automatically_partition select biggest_free
+
+# Alternatively, you may specify a disk to partition. If the system has only
+# one disk the installer will default to using that, but otherwise the device
+# name must be given in traditional, non-devfs format (so e.g. /dev/sda
+# and not e.g. /dev/discs/disc0/disc).
+# For example, to use the first SCSI/SATA hard disk:
+#d-i partman-auto/disk string /dev/sda
+# In addition, you'll need to specify the method to use.
+# The presently available methods are:
+# - regular: use the usual partition types for your architecture
+# - lvm:     use LVM to partition the disk
+# - crypto:  use LVM within an encrypted partition
+#d-i partman-auto/method string lvm
+d-i partman-auto/method string regular
+
+# If one of the disks that are going to be automatically partitioned
+# contains an old LVM configuration, the user will normally receive a
+# warning. This can be preseeded away...
+#d-i partman-lvm/device_remove_lvm boolean true
+# The same applies to pre-existing software RAID array:
+#d-i partman-md/device_remove_md boolean true
+# And the same goes for the confirmation to write the lvm partitions.
+#d-i partman-lvm/confirm boolean true
+#d-i partman-lvm/confirm_nooverwrite boolean true
+
+# For LVM partitioning, you can select how much of the volume group to use
+# for logical volumes.
+#d-i partman-auto-lvm/guided_size string max
+#d-i partman-auto-lvm/guided_size string 10GB
+#d-i partman-auto-lvm/guided_size string 50%
+
+# You can choose one of the three predefined partitioning recipes:
+# - atomic: all files in one partition
+# - home:   separate /home partition
+# - multi:  separate /home, /var, and /tmp partitions
+#d-i partman-auto/choose_recipe select atomic
+
+# Or provide a recipe of your own...
+# If you have a way to get a recipe file into the d-i environment, you can
+# just point at it.
+#d-i partman-auto/expert_recipe_file string /hd-media/recipe
+
+d-i partman-basicfilesystems/no_swap boolean false
+d-i partman-auto/expert_recipe string myroot :: 1000 50 -1 ext4 \
+     $primary{ } $bootable{ } method{ format }                  \
+     format{ } use_filesystem{ } filesystem{ ext4 }             \
+     mountpoint{ / }                                            \
+    .
+d-i partman-auto/choose_recipe select myroot
+
+# If not, you can put an entire recipe into the preconfiguration file in one
+# (logical) line. This example creates a small /boot partition, suitable
+# swap, and uses the rest of the space for the root partition:
+#d-i partman-auto/expert_recipe string                         \
+#      boot-root ::                                            \
+#              40 50 100 ext3                                  \
+#                      $primary{ } $bootable{ }                \
+#                      method{ format } format{ }              \
+#                      use_filesystem{ } filesystem{ ext3 }    \
+#                      mountpoint{ /boot }                     \
+#              .                                               \
+#              500 10000 1000000000 ext3                       \
+#                      method{ format } format{ }              \
+#                      use_filesystem{ } filesystem{ ext3 }    \
+#                      mountpoint{ / }                         \
+#              .                                               \
+#              64 512 300% linux-swap                          \
+#                      method{ swap } format{ }                \
+#              .
+
+# If you just want to change the default filesystem from ext3 to something
+# else, you can do that without providing a full recipe.
+#d-i partman/default_filesystem string ext4
+
+# The full recipe format is documented in the file partman-auto-recipe.txt
+# included in the 'debian-installer' package or available from D-I source
+# repository. This also documents how to specify settings such as file
+# system labels, volume group names and which physical devices to include
+# in a volume group.
+
+# This makes partman automatically partition without confirmation, provided
+# that you told it what to do using one of the methods above.
+d-i partman-partitioning/confirm_write_new_label boolean true
+d-i partman/choose_partition select finish
+d-i partman/confirm boolean true
+d-i partman/confirm_nooverwrite boolean true
+
+## Partitioning using RAID
+# The method should be set to "raid".
+#d-i partman-auto/method string raid
+# Specify the disks to be partitioned. They will all get the same layout,
+# so this will only work if the disks are the same size.
+#d-i partman-auto/disk string /dev/sda /dev/sdb
+
+# Next you need to specify the physical partitions that will be used. 
+#d-i partman-auto/expert_recipe string \
+#      multiraid ::                                         \
+#              1000 5000 4000 raid                          \
+#                      $primary{ } method{ raid }           \
+#              .                                            \
+#              64 512 300% raid                             \
+#                      method{ raid }                       \
+#              .                                            \
+#              500 10000 1000000000 raid                    \
+#                      method{ raid }                       \
+#              .
+
+# Last you need to specify how the previously defined partitions will be
+# used in the RAID setup. Remember to use the correct partition numbers
+# for logical partitions. RAID levels 0, 1, 5, 6 and 10 are supported;
+# devices are separated using "#".
+# Parameters are:
+# <raidtype> <devcount> <sparecount> <fstype> <mountpoint> \
+#          <devices> <sparedevices>
+
+#d-i partman-auto-raid/recipe string \
+#    1 2 0 ext3 /                    \
+#          /dev/sda1#/dev/sdb1       \
+#    .                               \
+#    1 2 0 swap -                    \
+#          /dev/sda5#/dev/sdb5       \
+#    .                               \
+#    0 2 0 ext3 /home                \
+#          /dev/sda6#/dev/sdb6       \
+#    .
+
+# For additional information see the file partman-auto-raid-recipe.txt
+# included in the 'debian-installer' package or available from D-I source
+# repository.
+
+# This makes partman automatically partition without confirmation.
+d-i partman-md/confirm boolean true
+d-i partman-partitioning/confirm_write_new_label boolean true
+d-i partman/choose_partition select finish
+d-i partman/confirm boolean true
+d-i partman/confirm_nooverwrite boolean true
+
+## Controlling how partitions are mounted
+# The default is to mount by UUID, but you can also choose "traditional" to
+# use traditional device names, or "label" to try filesystem labels before
+# falling back to UUIDs.
+#d-i partman/mount_style select uuid
+d-i partman/mount_style select traditional
+
+### Base system installation
+# Configure a path to the preconfigured base filesystem. This can be used to
+# specify a path for the installer to retrieve the filesystem image that will
+# be deployed to disk and used as a base system for the installation.
+#d-i live-installer/net-image string /install/filesystem.squashfs
+# Configure APT to not install recommended packages by default. Use of this
+# option can result in an incomplete system and should only be used by very
+# experienced users.
+#d-i base-installer/install-recommends boolean false
+
+# The kernel image (meta) package to be installed; "none" can be used if no
+# kernel is to be installed.
+#d-i base-installer/kernel/image string linux-generic
+
+### Apt setup
+# You can choose to install restricted and universe software, or to install
+# software from the backports repository.
+#d-i apt-setup/restricted boolean true
+#d-i apt-setup/universe boolean true
+#d-i apt-setup/backports boolean true
+# Uncomment this if you don't want to use a network mirror.
+d-i apt-setup/use_mirror boolean false
+d-i apt-setup/services-select-ubuntu multiselect ""
+
+# Select which update services to use; define the mirrors to be used.
+# Values shown below are the normal defaults.
+#d-i apt-setup/services-select multiselect security
+#d-i apt-setup/security_host string security.ubuntu.com
+#d-i apt-setup/security_path string /ubuntu
+
+# Additional repositories, local[0-9] available
+#d-i apt-setup/local0/repository string \
+#       http://local.server/ubuntu trusty main
+#d-i apt-setup/local0/comment string local server
+# Enable deb-src lines
+#d-i apt-setup/local0/source boolean true
+# URL to the public key of the local repository; you must provide a key or
+# apt will complain about the unauthenticated repository and so the
+# sources.list line will be left commented out
+#d-i apt-setup/local0/key string http://local.server/key
+
+# By default the installer requires that repositories be authenticated
+# using a known gpg key. This setting can be used to disable that
+# authentication. Warning: Insecure, not recommended.
+#d-i debian-installer/allow_unauthenticated boolean true
+
+# Uncomment this to add multiarch configuration for i386
+#d-i apt-setup/multiarch string i386
+
+
+### Package selection
+#tasksel tasksel/first multiselect ubuntu-desktop
+#tasksel tasksel/first multiselect lamp-server, print-server
+#tasksel tasksel/first multiselect kubuntu-desktop
+tasksel tasksel/first multiselect server
+tasksel tasksel/first multiselect ssh-server
+
+# Individual additional packages to install
+#d-i pkgsel/include string openssh-server build-essential
+d-i pkgsel/include string openssh-server
+# Whether to upgrade packages after debootstrap.
+# Allowed values: none, safe-upgrade, full-upgrade
+d-i pkgsel/upgrade select none
+
+# Language pack selection
+#d-i pkgsel/language-packs multiselect de, en, zh
+
+# Policy for applying updates. May be "none" (no automatic updates),
+# "unattended-upgrades" (install security updates automatically), or
+# "landscape" (manage system with Landscape).
+d-i pkgsel/update-policy select none
+
+# Some versions of the installer can report back on what software you have
+# installed, and what software you use. The default is not to report back,
+# but sending reports helps the project determine what software is most
+# popular and include it on CDs.
+#popularity-contest popularity-contest/participate boolean false
+
+# By default, the system's locate database will be updated after the
+# installer has finished installing most packages. This may take a while, so
+# if you don't want it, you can set this to "false" to turn it off.
+d-i pkgsel/updatedb boolean false
+
+### Boot loader installation
+# Grub is the default boot loader (for x86). If you want lilo installed
+# instead, uncomment this:
+#d-i grub-installer/skip boolean true
+# To also skip installing lilo, and install no bootloader, uncomment this
+# too:
+#d-i lilo-installer/skip boolean true
+
+
+# This is fairly safe to set, it makes grub install automatically to the MBR
+# if no other operating system is detected on the machine.
+d-i grub-installer/only_debian boolean true
+
+# This one makes grub-installer install to the MBR if it also finds some other
+# OS, which is less safe as it might not be able to boot that other OS.
+d-i grub-installer/with_other_os boolean true
+
+# Due notably to potential USB sticks, the location of the MBR can not be
+# determined safely in general, so this needs to be specified:
+#d-i grub-installer/bootdev  string /dev/sda
+# To install to the first device (assuming it is not a USB stick):
+#d-i grub-installer/bootdev  string default
+
+# Alternatively, if you want to install to a location other than the mbr,
+# uncomment and edit these lines:
+#d-i grub-installer/only_debian boolean false
+#d-i grub-installer/with_other_os boolean false
+#d-i grub-installer/bootdev  string (hd0,1)
+# To install grub to multiple disks:
+#d-i grub-installer/bootdev  string (hd0,1) (hd1,1) (hd2,1)
+
+# Optional password for grub, either in clear text
+#d-i grub-installer/password password r00tme
+#d-i grub-installer/password-again password r00tme
+# or encrypted using an MD5 hash, see grub-md5-crypt(8).
+#d-i grub-installer/password-crypted password [MD5 hash]
+
+# Use the following option to add additional boot parameters for the
+# installed system (if supported by the bootloader installer).
+# Note: options passed to the installer will be added automatically.
+#d-i debian-installer/add-kernel-opts string nousb
+
+### Finishing up the installation
+# During installations from serial console, the regular virtual consoles
+# (VT1-VT6) are normally disabled in /etc/inittab. Uncomment the next
+# line to prevent this.
+#d-i finish-install/keep-consoles boolean true
+
+# Avoid that last message about the install being complete.
+d-i finish-install/reboot_in_progress note
+
+# This will prevent the installer from ejecting the CD during the reboot,
+# which is useful in some situations.
+#d-i cdrom-detect/eject boolean false
+
+# This is how to make the installer shutdown when finished, but not
+# reboot into the installed system.
+#d-i debian-installer/exit/halt boolean true
+# This will power off the machine instead of just halting it.
+#d-i debian-installer/exit/poweroff boolean true
+
+### Preseeding other packages
+# Depending on what software you choose to install, or if things go wrong
+# during the installation process, it's possible that other questions may
+# be asked. You can preseed those too, of course. To get a list of every
+# possible question that could be asked during an install, do an
+# installation, and then run these commands:
+#   debconf-get-selections --installer > file
+#   debconf-get-selections >> file
+
+
+#### Advanced options
+### Running custom commands during the installation
+# d-i preseeding is inherently not secure. Nothing in the installer checks
+# for attempts at buffer overflows or other exploits of the values of a
+# preconfiguration file like this one. Only use preconfiguration files from
+# trusted locations! To drive that home, and because it's generally useful,
+# here's a way to run any shell command you'd like inside the installer,
+# automatically.
+
+# This first command is run as early as possible, just after
+# preseeding is read.
+#d-i preseed/early_command string anna-install some-udeb
+# This command is run immediately before the partitioner starts. It may be
+# useful to apply dynamic partitioner preseeding that depends on the state
+# of the disks (which may not be visible when preseed/early_command runs).
+#d-i partman/early_command \
+#       string debconf-set partman-auto/disk "$(list-devices disk | head -n1)"
+# This command is run just before the install finishes, but when there is
+# still a usable /target directory. You can chroot to /target and use it
+# directly, or use the apt-install and in-target commands to easily install
+# packages and run commands in the target system.
+#d-i preseed/late_command string apt-install zsh; in-target chsh -s /bin/zsh
+
+d-i preseed/late_command string \
+    in-target sed -i /etc/ssh/sshd_config -e 's/[# ]*PermitRootLogin.*/PermitRootLogin yes/' ;
diff --git a/resources/tools/disk-image-builder/ubuntu/listmaker/ubuntu-14.04.4.json b/resources/tools/disk-image-builder/ubuntu/listmaker/ubuntu-14.04.4.json
new file mode 100644 (file)
index 0000000..f4c1a70
--- /dev/null
@@ -0,0 +1,57 @@
+{
+  "_c": "Ubuntu 14.04.4 ISO URL at the time of creation of this file (05/2016)",
+  "_c": "was http://releases.ubuntu.com/14.04/ubuntu-14.04.4-server-amd64.iso .",
+  "_c": "",
+  "_c": "If and when 14.04.4 becomes superseded, this URL will likely change",
+  "_c": "to:",
+  "_c": "http://old-releases.ubuntu.com/releases/14.04.4/ubuntu-14.04.4-server-amd64.iso",
+  "variables": {
+    "release": null,
+    "outputdir": null,
+    "virl_user": "{{env `VIRL_USER`}}",
+    "virl_password": "{{env `VIRL_PASSWORD`}}"
+  },
+  "builders": [
+    {
+      "name": "{{user `release`}}",
+      "type": "qemu",
+      "iso_url": "http://releases.ubuntu.com/14.04/ubuntu-14.04.4-server-amd64.iso",
+      "iso_checksum": "2ac1f3e0de626e54d05065d6f549fa3a",
+      "iso_checksum_type": "md5",
+      "ssh_username": "root",
+      "ssh_password": "csit",
+      "shutdown_command": "echo 'packer' | shutdown -P now",
+      "disk_size": "4096",
+      "http_directory": "html",
+      "iso_target_path" : "build/ubuntu-14.04.4-server-amd64.iso",
+      "output_directory": "{{user `outputdir`}}",
+      "headless": "true",
+      "boot_command":
+        [
+          "<esc><esc><enter><wait>",
+          "/install/vmlinuz noapic ",
+          "preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/preseed.cfg ",
+          "debian-installer=en_US auto locale=en_US kbd-chooser/method=us ",
+          "hostname=csit ",
+          "fb=false debconf/frontend=noninteractive ",
+          "keyboard-configuration/modelcode=SKIP keyboard-configuration/layout=USA ",
+          "keyboard-configuration/variant=USA console-setup/ask_detect=false ",
+          "initrd=/install/initrd.gz -- <enter>"
+        ]
+    }
+  ],
+  "post-processors": [
+    {
+      "type": "shell-local",
+      "script": "scripts-local/upload-image-to-virl.sh",
+      "keep_input_artifact": true,
+      "environment_vars":
+        [
+          "VIRL_USER={{user `virl_user`}}",
+          "VIRL_PASSWORD={{user `virl_password`}}",
+          "VIRL_IMAGE_SUBTYPE=server",
+          "VIRL_IMAGE_NAME={{user `release`}}"
+        ]
+     }
+  ]
+}
diff --git a/resources/tools/disk-image-builder/ubuntu/listmaker/virl-listmaker.yaml b/resources/tools/disk-image-builder/ubuntu/listmaker/virl-listmaker.yaml
new file mode 100644 (file)
index 0000000..6301901
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<topology xmlns="http://www.cisco.com/VIRL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="0.9" xsi:schemaLocation="http://www.cisco.com/VIRL https://raw.github.com/CiscoVIRL/schema/v0.9/virl.xsd">
+    <extensions>
+        <entry key="management_network" type="String">flat</entry>
+    </extensions>
+    <node name="listmaker" type="SIMPLE" subtype="server" location="570,238" vmImage="server-csit-ubuntu-14.04.4-listmaker">
+        <extensions>
+            <entry key="config" type="String">UNUSED</entry>
+            <entry key="Auto-generate config" type="Boolean">false</entry>
+        </extensions>
+    </node>
+</topology>
diff --git a/resources/tools/disk-image-builder/ubuntu/lists/ubuntu-14.04.4_2016-05-25_1.0/apt-packages.txt b/resources/tools/disk-image-builder/ubuntu/lists/ubuntu-14.04.4_2016-05-25_1.0/apt-packages.txt
new file mode 100644 (file)
index 0000000..1edf040
--- /dev/null
@@ -0,0 +1,195 @@
+'http://ppa.launchpad.net/syseleven-platform/virtualization/ubuntu/pool/main/libs/libseccomp/libseccomp2_2.1.1-1+syseleven1_amd64.deb' libseccomp2_2.1.1-1+syseleven1_amd64.deb 26344 MD5Sum:3ceb99432357bce67ba151a859aa60da
+'http://ppa.launchpad.net/syseleven-platform/virtualization/ubuntu/pool/main/q/qemu/qemu-system-common_2.2.1+dfsg-0+syseleven4_amd64.deb' qemu-system-common_1%3a2.2.1+dfsg-0+syseleven4_amd64.deb 294740 MD5Sum:ebf2345f6496e4da73098d7f516bbf8b
+'http://ppa.launchpad.net/syseleven-platform/virtualization/ubuntu/pool/main/q/qemu/qemu-system-x86_2.2.1+dfsg-0+syseleven4_amd64.deb' qemu-system-x86_1%3a2.2.1+dfsg-0+syseleven4_amd64.deb 2181682 MD5Sum:6b43a70d002ba1a46f9b8e12e591c849
+'http://ppa.launchpad.net/syseleven-platform/virtualization/ubuntu/pool/main/q/qemu/qemu-utils_2.2.1+dfsg-0+syseleven4_amd64.deb' qemu-utils_1%3a2.2.1+dfsg-0+syseleven4_amd64.deb 518404 MD5Sum:20bc3e2ff37af86bd8e61c96e6569672
+'http://ppa.launchpad.net/syseleven-platform/virtualization/ubuntu/pool/main/s/seabios/seabios_1.7.5-1+syseleven1_all.deb' seabios_1.7.5-1+syseleven1_all.deb 111880 MD5Sum:0cd53324914bb2e198cefef23c4771a0
+'http://ppa.launchpad.net/syseleven-platform/virtualization/ubuntu/pool/main/s/spice/libspice-server1_0.12.5-1+syseleven1_amd64.deb' libspice-server1_0.12.5-1+syseleven1_amd64.deb 326044 MD5Sum:7574c7ba91816a2739e8489148c016bb
+'http://us.archive.ubuntu.com/ubuntu/pool/main/a/acl/acl_2.2.52-1_amd64.deb' acl_2.2.52-1_amd64.deb 43790 MD5Sum:ac8db6aa2095dfd83758db34cf31285a
+'http://us.archive.ubuntu.com/ubuntu/pool/main/a/alsa-lib/libasound2_1.0.27.2-3ubuntu7_amd64.deb' libasound2_1.0.27.2-3ubuntu7_amd64.deb 327374 MD5Sum:68d7619e0a70770c5feef628f8296409
+'http://us.archive.ubuntu.com/ubuntu/pool/main/a/alsa-lib/libasound2-data_1.0.27.2-3ubuntu7_all.deb' libasound2-data_1.0.27.2-3ubuntu7_all.deb 26264 MD5Sum:1b78d6d03ed4303e843ba2c5bae3bc53
+'http://us.archive.ubuntu.com/ubuntu/pool/main/a/apt/apt_1.0.1ubuntu2.14_amd64.deb' apt_1.0.1ubuntu2.14_amd64.deb 954540 MD5Sum:8615062e5fa0e1c9140bc99443f93e57
+'http://us.archive.ubuntu.com/ubuntu/pool/main/a/apt/apt-transport-https_1.0.1ubuntu2.14_amd64.deb' apt-transport-https_1.0.1ubuntu2.14_amd64.deb 25042 MD5Sum:de9d0feaaf95f9203a4e6050fcc838a1
+'http://us.archive.ubuntu.com/ubuntu/pool/main/a/apt/apt-utils_1.0.1ubuntu2.14_amd64.deb' apt-utils_1.0.1ubuntu2.14_amd64.deb 171560 MD5Sum:9a67fdeca283e5fe14374becd459eacc
+'http://us.archive.ubuntu.com/ubuntu/pool/main/a/apt/libapt-inst1.5_1.0.1ubuntu2.14_amd64.deb' libapt-inst1.5_1.0.1ubuntu2.14_amd64.deb 58610 MD5Sum:65bd48b1df912735bd0f370ee7d85fac
+'http://us.archive.ubuntu.com/ubuntu/pool/main/a/apt/libapt-pkg4.12_1.0.1ubuntu2.14_amd64.deb' libapt-pkg4.12_1.0.1ubuntu2.14_amd64.deb 637710 MD5Sum:76ed008847b63af01ff64d217487f7de
+'http://us.archive.ubuntu.com/ubuntu/pool/main/b/bash-completion/bash-completion_2.1-4ubuntu0.2_all.deb' bash-completion_1%3a2.1-4ubuntu0.2_all.deb 153330 MD5Sum:3283490e6717d124ea90a34ba2a2877c
+'http://us.archive.ubuntu.com/ubuntu/pool/main/b/bind9/bind9-host_9.9.5.dfsg-3ubuntu0.8_amd64.deb' bind9-host_1%3a9.9.5.dfsg-3ubuntu0.8_amd64.deb 46348 MD5Sum:8b2eba4caeb6d1b92f846643190bd567
+'http://us.archive.ubuntu.com/ubuntu/pool/main/b/bind9/dnsutils_9.9.5.dfsg-3ubuntu0.8_amd64.deb' dnsutils_1%3a9.9.5.dfsg-3ubuntu0.8_amd64.deb 96896 MD5Sum:dc2d10121066a8e712d1f5b65e1ce123
+'http://us.archive.ubuntu.com/ubuntu/pool/main/b/bind9/libbind9-90_9.9.5.dfsg-3ubuntu0.8_amd64.deb' libbind9-90_1%3a9.9.5.dfsg-3ubuntu0.8_amd64.deb 21986 MD5Sum:7a85ffc7bbc3d0ac6da50af50a2604d0
+'http://us.archive.ubuntu.com/ubuntu/pool/main/b/bind9/libdns100_9.9.5.dfsg-3ubuntu0.8_amd64.deb' libdns100_1%3a9.9.5.dfsg-3ubuntu0.8_amd64.deb 644504 MD5Sum:4c70332edace7476da544f43fd86d978
+'http://us.archive.ubuntu.com/ubuntu/pool/main/b/bind9/libisc95_9.9.5.dfsg-3ubuntu0.8_amd64.deb' libisc95_1%3a9.9.5.dfsg-3ubuntu0.8_amd64.deb 147480 MD5Sum:f73fb67219f986ae5a246c14f3afc517
+'http://us.archive.ubuntu.com/ubuntu/pool/main/b/bind9/libisccc90_9.9.5.dfsg-3ubuntu0.8_amd64.deb' libisccc90_1%3a9.9.5.dfsg-3ubuntu0.8_amd64.deb 15678 MD5Sum:d06d6eebd4d82d3c6115e6beb1b426f8
+'http://us.archive.ubuntu.com/ubuntu/pool/main/b/bind9/libisccfg90_9.9.5.dfsg-3ubuntu0.8_amd64.deb' libisccfg90_1%3a9.9.5.dfsg-3ubuntu0.8_amd64.deb 36162 MD5Sum:0c74c73549711aa0e376f626697d16a3
+'http://us.archive.ubuntu.com/ubuntu/pool/main/b/bind9/liblwres90_9.9.5.dfsg-3ubuntu0.8_amd64.deb' liblwres90_1%3a9.9.5.dfsg-3ubuntu0.8_amd64.deb 32760 MD5Sum:4f3188de2e89efbf62d8128c0319f089
+'http://us.archive.ubuntu.com/ubuntu/pool/main/b/binutils/binutils_2.24-5ubuntu14.1_amd64.deb' binutils_2.24-5ubuntu14.1_amd64.deb 2080900 MD5Sum:85dd95077b946a274f9814639eba4d06
+'http://us.archive.ubuntu.com/ubuntu/pool/main/b/biosdevname/biosdevname_0.4.1-0ubuntu6.3_amd64.deb' biosdevname_0.4.1-0ubuntu6.3_amd64.deb 20284 MD5Sum:bc837d60b1c558c6424309a446420b0d
+'http://us.archive.ubuntu.com/ubuntu/pool/main/b/bluez/libbluetooth3_4.101-0ubuntu13.1_amd64.deb' libbluetooth3_4.101-0ubuntu13.1_amd64.deb 53478 MD5Sum:0577a4e8b377f3751b018494096df9e4
+'http://us.archive.ubuntu.com/ubuntu/pool/main/b/boost1.54/libboost-system1.54.0_1.54.0-4ubuntu3.1_amd64.deb' libboost-system1.54.0_1.54.0-4ubuntu3.1_amd64.deb 10128 MD5Sum:2a5872be9fcc3cc0a51d9ec0d42c41a7
+'http://us.archive.ubuntu.com/ubuntu/pool/main/b/boost1.54/libboost-thread1.54.0_1.54.0-4ubuntu3.1_amd64.deb' libboost-thread1.54.0_1.54.0-4ubuntu3.1_amd64.deb 26542 MD5Sum:2e7b4afdd0d85037864a2c3e3ef19999
+'http://us.archive.ubuntu.com/ubuntu/pool/main/b/brltty/libbrlapi0.6_5.0-2ubuntu2_amd64.deb' libbrlapi0.6_5.0-2ubuntu2_amd64.deb 20910 MD5Sum:d0072983318e559dc57fea88c494ed33
+'http://us.archive.ubuntu.com/ubuntu/pool/main/b/build-essential/build-essential_11.6ubuntu6_amd64.deb' build-essential_11.6ubuntu6_amd64.deb 4838 MD5Sum:6fa3d082885a7440d512236685cd24fd
+'http://us.archive.ubuntu.com/ubuntu/pool/main/c/ca-certificates/ca-certificates_20160104ubuntu0.14.04.1_all.deb' ca-certificates_20160104ubuntu0.14.04.1_all.deb 189806 MD5Sum:e594e76f225119f35f4bc3266d7ef758
+'http://us.archive.ubuntu.com/ubuntu/pool/main/c/ceph/librados2_0.80.11-0ubuntu1.14.04.1_amd64.deb' librados2_0.80.11-0ubuntu1.14.04.1_amd64.deb 1430556 MD5Sum:88d1b2079b7bd1a9a2d99e05fc88bf02
+'http://us.archive.ubuntu.com/ubuntu/pool/main/c/ceph/librbd1_0.80.11-0ubuntu1.14.04.1_amd64.deb' librbd1_0.80.11-0ubuntu1.14.04.1_amd64.deb 322958 MD5Sum:684055975b3f6d7f9cbf42afc720989d
+'http://us.archive.ubuntu.com/ubuntu/pool/main/c/cheetah/python-cheetah_2.4.4-3.fakesyncbuild1_amd64.deb' python-cheetah_2.4.4-3.fakesyncbuild1_amd64.deb 143868 MD5Sum:800d75a71e9022b10c40f6019d7fa69d
+'http://us.archive.ubuntu.com/ubuntu/pool/main/c/cloog/libcloog-isl4_0.18.2-1_amd64.deb' libcloog-isl4_0.18.2-1_amd64.deb 57502 MD5Sum:da71de63b0e24eb02afb817c0b285d6a
+'http://us.archive.ubuntu.com/ubuntu/pool/main/c/cloud-init/cloud-init_0.7.5-0ubuntu1.18_all.deb' cloud-init_0.7.5-0ubuntu1.18_all.deb 197824 MD5Sum:c6f1e7b92391c6acb9300f8fef580e04
+'http://us.archive.ubuntu.com/ubuntu/pool/main/c/cloud-utils/cloud-guest-utils_0.27-0ubuntu9.2_all.deb' cloud-guest-utils_0.27-0ubuntu9.2_all.deb 13782 MD5Sum:dbdad01ef9b50575b3bbbdc8257c620a
+'http://us.archive.ubuntu.com/ubuntu/pool/main/c/configobj/python-configobj_4.7.2+ds-5build1_all.deb' python-configobj_4.7.2+ds-5build1_all.deb 174154 MD5Sum:e22c1f8dfb0ca0d36441c3166639beaa
+'http://us.archive.ubuntu.com/ubuntu/pool/main/c/coreutils/coreutils_8.21-1ubuntu5.4_amd64.deb' coreutils_8.21-1ubuntu5.4_amd64.deb 1090622 MD5Sum:10a2318be86f38a6ed113e16aabaa76b
+'http://us.archive.ubuntu.com/ubuntu/pool/main/c/cpio/cpio_2.11+dfsg-1ubuntu1.2_amd64.deb' cpio_2.11+dfsg-1ubuntu1.2_amd64.deb 73806 MD5Sum:8c382d99c773b3af31664e587b84a6b9
+'http://us.archive.ubuntu.com/ubuntu/pool/main/c/cpu-checker/cpu-checker_0.7-0ubuntu4_amd64.deb' cpu-checker_0.7-0ubuntu4_amd64.deb 6834 MD5Sum:4369a69e41e5b78ab7a4623405455443
+'http://us.archive.ubuntu.com/ubuntu/pool/main/d/device-tree-compiler/libfdt1_1.4.0+dfsg-1_amd64.deb' libfdt1_1.4.0+dfsg-1_amd64.deb 15678 MD5Sum:5dd80e05348eec241f62ff8dd7d2e8f2
+'http://us.archive.ubuntu.com/ubuntu/pool/main/d/dkms/dkms_2.2.0.3-1.1ubuntu5.14.04.5_all.deb' dkms_2.2.0.3-1.1ubuntu5.14.04.5_all.deb 65394 MD5Sum:2d543ccc913282f2958fe61690a92931
+'http://us.archive.ubuntu.com/ubuntu/pool/main/d/dpkg/dpkg_1.17.5ubuntu5.6_amd64.deb' dpkg_1.17.5ubuntu5.6_amd64.deb 1956090 MD5Sum:4c89af9b3a8f6c35db830a22186cc39c
+'http://us.archive.ubuntu.com/ubuntu/pool/main/d/dpkg/dpkg-dev_1.17.5ubuntu5.6_all.deb' dpkg-dev_1.17.5ubuntu5.6_all.deb 726174 MD5Sum:76e57d5b9b4610c1b7b4e7669c2077ac
+'http://us.archive.ubuntu.com/ubuntu/pool/main/d/dpkg/libdpkg-perl_1.17.5ubuntu5.6_all.deb' libdpkg-perl_1.17.5ubuntu5.6_all.deb 178978 MD5Sum:667eca12ba2191e59a494dc6f52188e9
+'http://us.archive.ubuntu.com/ubuntu/pool/main/e/eglibc/libc6-dev_2.19-0ubuntu6.7_amd64.deb' libc6-dev_2.19-0ubuntu6.7_amd64.deb 1910076 MD5Sum:55d1bb2350277e65ce6d0d1532cd982d
+'http://us.archive.ubuntu.com/ubuntu/pool/main/e/eglibc/libc-dev-bin_2.19-0ubuntu6.7_amd64.deb' libc-dev-bin_2.19-0ubuntu6.7_amd64.deb 68998 MD5Sum:e72990dc9716b956b9012d526b7e60ff
+'http://us.archive.ubuntu.com/ubuntu/pool/main/e/expat/libexpat1_2.1.0-4ubuntu1.2_amd64.deb' libexpat1_2.1.0-4ubuntu1.2_amd64.deb 71092 MD5Sum:a7ba68312efc279f2d5199afadc4adbe
+'http://us.archive.ubuntu.com/ubuntu/pool/main/e/expat/libexpat1-dev_2.1.0-4ubuntu1.2_amd64.deb' libexpat1-dev_2.1.0-4ubuntu1.2_amd64.deb 115458 MD5Sum:0a1295e87f3b7efb4c66f53de3336848
+'http://us.archive.ubuntu.com/ubuntu/pool/main/f/fakeroot/fakeroot_1.20-3ubuntu2_amd64.deb' fakeroot_1.20-3ubuntu2_amd64.deb 55026 MD5Sum:fad29881d632a463f5235f399fa65a14
+'http://us.archive.ubuntu.com/ubuntu/pool/main/f/fakeroot/libfakeroot_1.20-3ubuntu2_amd64.deb' libfakeroot_1.20-3ubuntu2_amd64.deb 25392 MD5Sum:856c7401d7d5a63ea231f706c18d9261
+'http://us.archive.ubuntu.com/ubuntu/pool/main/f/flac/libflac8_1.3.0-2ubuntu0.14.04.1_amd64.deb' libflac8_1.3.0-2ubuntu0.14.04.1_amd64.deb 80170 MD5Sum:bbd48c917a12d425f0e14873575bc64c
+'http://us.archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.8/cpp-4.8_4.8.4-2ubuntu1~14.04.3_amd64.deb' cpp-4.8_4.8.4-2ubuntu1~14.04.3_amd64.deb 4595210 MD5Sum:c87a404428865790862aeb6195811066
+'http://us.archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.8/g++-4.8_4.8.4-2ubuntu1~14.04.3_amd64.deb' g++-4.8_4.8.4-2ubuntu1~14.04.3_amd64.deb 18134574 MD5Sum:ffc4c3bc3fe036fd18e79399caea1586
+'http://us.archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.8/gcc-4.8_4.8.4-2ubuntu1~14.04.3_amd64.deb' gcc-4.8_4.8.4-2ubuntu1~14.04.3_amd64.deb 5046702 MD5Sum:c53635e53f577687409b4c3c93f4da80
+'http://us.archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.8/gcc-4.8-base_4.8.4-2ubuntu1~14.04.3_amd64.deb' gcc-4.8-base_4.8.4-2ubuntu1~14.04.3_amd64.deb 16192 MD5Sum:691b4cb367c62b79511541a3cee41fda
+'http://us.archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.8/libasan0_4.8.4-2ubuntu1~14.04.3_amd64.deb' libasan0_4.8.4-2ubuntu1~14.04.3_amd64.deb 63060 MD5Sum:ff04bb046aeec86af2bb90c5d90a166c
+'http://us.archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.8/libatomic1_4.8.4-2ubuntu1~14.04.3_amd64.deb' libatomic1_4.8.4-2ubuntu1~14.04.3_amd64.deb 8636 MD5Sum:ec6ce0fb6e66e8b8c95534ab9e77a67e
+'http://us.archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.8/libgcc-4.8-dev_4.8.4-2ubuntu1~14.04.3_amd64.deb' libgcc-4.8-dev_4.8.4-2ubuntu1~14.04.3_amd64.deb 1688000 MD5Sum:69ff74311eecda1487d0f96b14af0b7c
+'http://us.archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.8/libgomp1_4.8.4-2ubuntu1~14.04.3_amd64.deb' libgomp1_4.8.4-2ubuntu1~14.04.3_amd64.deb 23124 MD5Sum:8f95195693e2cbb56825fd9b2b9ffca0
+'http://us.archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.8/libitm1_4.8.4-2ubuntu1~14.04.3_amd64.deb' libitm1_4.8.4-2ubuntu1~14.04.3_amd64.deb 28506 MD5Sum:52e717ed8662a3986997412f42abc297
+'http://us.archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.8/libquadmath0_4.8.4-2ubuntu1~14.04.3_amd64.deb' libquadmath0_4.8.4-2ubuntu1~14.04.3_amd64.deb 126028 MD5Sum:f541cc61c3feaa74098bdb9970ed12b6
+'http://us.archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.8/libstdc++-4.8-dev_4.8.4-2ubuntu1~14.04.3_amd64.deb' libstdc++-4.8-dev_4.8.4-2ubuntu1~14.04.3_amd64.deb 1052564 MD5Sum:7657e54922455ae36c7b2f7228427aec
+'http://us.archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.8/libstdc++6_4.8.4-2ubuntu1~14.04.3_amd64.deb' libstdc++6_4.8.4-2ubuntu1~14.04.3_amd64.deb 258956 MD5Sum:3fe9099e0064fa8030f047ff38e075c2
+'http://us.archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.8/libtsan0_4.8.4-2ubuntu1~14.04.3_amd64.deb' libtsan0_4.8.4-2ubuntu1~14.04.3_amd64.deb 94872 MD5Sum:c4232ca2be66b95d74e8823a9868a9b4
+'http://us.archive.ubuntu.com/ubuntu/pool/main/g/gcc-defaults/cpp_4.8.2-1ubuntu6_amd64.deb' cpp_4%3a4.8.2-1ubuntu6_amd64.deb 27452 MD5Sum:2ced23b24cf068b16b5a69222506fd79
+'http://us.archive.ubuntu.com/ubuntu/pool/main/g/gcc-defaults/g++_4.8.2-1ubuntu6_amd64.deb' g++_4%3a4.8.2-1ubuntu6_amd64.deb 1490 MD5Sum:7332a4e9116b821e167a3d0236ca413a
+'http://us.archive.ubuntu.com/ubuntu/pool/main/g/gcc-defaults/gcc_4.8.2-1ubuntu6_amd64.deb' gcc_4%3a4.8.2-1ubuntu6_amd64.deb 5098 MD5Sum:83b25d71df6df1c47a4b983596896f0b
+'http://us.archive.ubuntu.com/ubuntu/pool/main/g/gdisk/gdisk_0.8.8-1ubuntu0.1_amd64.deb' gdisk_0.8.8-1ubuntu0.1_amd64.deb 185450 MD5Sum:6e9ed16eaca8d87dc22cf4918f95cb2c
+'http://us.archive.ubuntu.com/ubuntu/pool/main/g/git/git_1.9.1-1ubuntu0.3_amd64.deb' git_1%3a1.9.1-1ubuntu0.3_amd64.deb 2585532 MD5Sum:7ae18fa4b16c33b3ed506e23e7f26779
+'http://us.archive.ubuntu.com/ubuntu/pool/main/g/git/git-man_1.9.1-1ubuntu0.3_all.deb' git-man_1%3a1.9.1-1ubuntu0.3_all.deb 699150 MD5Sum:b9614019a1917fad0ff0edc6ddd53b91
+'http://us.archive.ubuntu.com/ubuntu/pool/main/g/gmp/libgmp10_5.1.3+dfsg-1ubuntu1_amd64.deb' libgmp10_2%3a5.1.3+dfsg-1ubuntu1_amd64.deb 218280 MD5Sum:5a25bb81aa2e0ca83e2d349d58b435d5
+'http://us.archive.ubuntu.com/ubuntu/pool/main/g/gnutls26/libgnutls26_2.12.23-12ubuntu2.5_amd64.deb' libgnutls26_2.12.23-12ubuntu2.5_amd64.deb 393294 MD5Sum:9e6ad9b80855df0f9b74ec18b9fe860d
+'http://us.archive.ubuntu.com/ubuntu/pool/main/g/gnutls26/libgnutls-openssl27_2.12.23-12ubuntu2.5_amd64.deb' libgnutls-openssl27_2.12.23-12ubuntu2.5_amd64.deb 18364 MD5Sum:77d399ac308dd0e9a58acc30e8959e76
+'http://us.archive.ubuntu.com/ubuntu/pool/main/h/html5lib/python-html5lib_0.999-3~ubuntu1_all.deb' python-html5lib_0.999-3~ubuntu1_all.deb 83470 MD5Sum:93c4140d32e1addb8231a3e0be557c93
+'http://us.archive.ubuntu.com/ubuntu/pool/main/h/html5lib/python-html5lib-whl_0.999-3~ubuntu1_all.deb' python-html5lib-whl_0.999-3~ubuntu1_all.deb 109460 MD5Sum:bc6bd5baa70ace380513925f749857fa
+'http://us.archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu52_52.1-3ubuntu0.4_amd64.deb' libicu52_52.1-3ubuntu0.4_amd64.deb 6751826 MD5Sum:ed4da162328dc75beb75e38ca291c959
+'http://us.archive.ubuntu.com/ubuntu/pool/main/i/ifupdown/ifupdown_0.7.47.2ubuntu4.4_amd64.deb' ifupdown_0.7.47.2ubuntu4.4_amd64.deb 53092 MD5Sum:49c7118f0bd254b1196363ad727dcde7
+'http://us.archive.ubuntu.com/ubuntu/pool/main/i/initramfs-tools/initramfs-tools_0.103ubuntu4.3_all.deb' initramfs-tools_0.103ubuntu4.3_all.deb 44414 MD5Sum:9c7a8c4407077e6d1db03480897a0e92
+'http://us.archive.ubuntu.com/ubuntu/pool/main/i/initramfs-tools/initramfs-tools-bin_0.103ubuntu4.3_amd64.deb' initramfs-tools-bin_0.103ubuntu4.3_amd64.deb 9172 MD5Sum:27c40fd32821bfb627e6301c44eebbfc
+'http://us.archive.ubuntu.com/ubuntu/pool/main/i/ipxe/ipxe-qemu_1.0.0+git-20131111.c3d1e78-2ubuntu1.1_all.deb' ipxe-qemu_1.0.0+git-20131111.c3d1e78-2ubuntu1.1_all.deb 509898 MD5Sum:2ed810c34ce0682174eb97461673c00e
+'http://us.archive.ubuntu.com/ubuntu/pool/main/i/isl/libisl10_0.12.2-1_amd64.deb' libisl10_0.12.2-1_amd64.deb 419218 MD5Sum:b9756a5cce1ecd2d56652779d9e3b757
+'http://us.archive.ubuntu.com/ubuntu/pool/main/k/keyutils/keyutils_1.5.6-1_amd64.deb' keyutils_1.5.6-1_amd64.deb 33588 MD5Sum:a49da8cb9cc16bdaf1ef8b205bf99d2e
+'http://us.archive.ubuntu.com/ubuntu/pool/main/k/klibc/klibc-utils_2.0.3-0ubuntu1.14.04.1_amd64.deb' klibc-utils_2.0.3-0ubuntu1.14.04.1_amd64.deb 106972 MD5Sum:4e1676466b8275575a78545c8702ec80
+'http://us.archive.ubuntu.com/ubuntu/pool/main/k/klibc/libklibc_2.0.3-0ubuntu1.14.04.1_amd64.deb' libklibc_2.0.3-0ubuntu1.14.04.1_amd64.deb 40768 MD5Sum:733ef1d7bb06bc206417e6e32a95f3b7
+'http://us.archive.ubuntu.com/ubuntu/pool/main/liba/libaio/libaio1_0.3.109-4_amd64.deb' libaio1_0.3.109-4_amd64.deb 6364 MD5Sum:cd9da2f52a5d7713e5080c5ed6916a41
+'http://us.archive.ubuntu.com/ubuntu/pool/main/liba/libalgorithm-diff-perl/libalgorithm-diff-perl_1.19.02-3_all.deb' libalgorithm-diff-perl_1.19.02-3_all.deb 49964 MD5Sum:7462f70e9e9b691ca4a4657371d6ba8e
+'http://us.archive.ubuntu.com/ubuntu/pool/main/liba/libalgorithm-diff-xs-perl/libalgorithm-diff-xs-perl_0.04-2build4_amd64.deb' libalgorithm-diff-xs-perl_0.04-2build4_amd64.deb 12572 MD5Sum:a1bd654bf2b8f30d464a6f95225a0744
+'http://us.archive.ubuntu.com/ubuntu/pool/main/liba/libalgorithm-merge-perl/libalgorithm-merge-perl_0.08-2_all.deb' libalgorithm-merge-perl_0.08-2_all.deb 12672 MD5Sum:bf1355aea7ab249fcd344cf0c692bc6c
+'http://us.archive.ubuntu.com/ubuntu/pool/main/liba/libasyncns/libasyncns0_0.8-4ubuntu2_amd64.deb' libasyncns0_0.8-4ubuntu2_amd64.deb 11886 MD5Sum:bf233bc958e37dab60c0f1ab7f8c6bf0
+'http://us.archive.ubuntu.com/ubuntu/pool/main/libc/libcaca/libcaca0_0.99.beta18-1ubuntu5_amd64.deb' libcaca0_0.99.beta18-1ubuntu5_amd64.deb 202162 MD5Sum:2532fc55507b526751257c826e6b1b43
+'http://us.archive.ubuntu.com/ubuntu/pool/main/libe/libeatmydata/eatmydata_26-2_amd64.deb' eatmydata_26-2_amd64.deb 8034 MD5Sum:a12811bc18802ca88eaac1c361c49dd1
+'http://us.archive.ubuntu.com/ubuntu/pool/main/libe/liberror-perl/liberror-perl_0.17-1.1_all.deb' liberror-perl_0.17-1.1_all.deb 21062 MD5Sum:4988e40e65eeba03317411bfdd52b76c
+'http://us.archive.ubuntu.com/ubuntu/pool/main/libe/libevent/libevent-2.0-5_2.0.21-stable-1ubuntu1.14.04.1_amd64.deb' libevent-2.0-5_2.0.21-stable-1ubuntu1.14.04.1_amd64.deb 126144 MD5Sum:66bae54dc127761b5d044d20a49c84c4
+'http://us.archive.ubuntu.com/ubuntu/pool/main/libf/libfile-fcntllock-perl/libfile-fcntllock-perl_0.14-2build1_amd64.deb' libfile-fcntllock-perl_0.14-2build1_amd64.deb 15932 MD5Sum:18813758778ece61bcdf84018218fc1d
+'http://us.archive.ubuntu.com/ubuntu/pool/main/libg/libgssglue/libgssglue1_0.4-2ubuntu1_amd64.deb' libgssglue1_0.4-2ubuntu1_amd64.deb 19710 MD5Sum:08250dff6de699fceff270123f609b49
+'http://us.archive.ubuntu.com/ubuntu/pool/main/libj/libjpeg8-empty/libjpeg8_8c-2ubuntu8_amd64.deb' libjpeg8_8c-2ubuntu8_amd64.deb 2194 MD5Sum:e0f16286dd787b951ffa953987fdf6a7
+'http://us.archive.ubuntu.com/ubuntu/pool/main/libj/libjpeg-turbo/libjpeg-turbo8_1.3.0-0ubuntu2_amd64.deb' libjpeg-turbo8_1.3.0-0ubuntu2_amd64.deb 104020 MD5Sum:9b8b32831e8332714737af0342f57b28
+'http://us.archive.ubuntu.com/ubuntu/pool/main/libn/libnfsidmap/libnfsidmap2_0.25-5_amd64.deb' libnfsidmap2_0.25-5_amd64.deb 32182 MD5Sum:5e06543f26481fa549a1e017eec4ef36
+'http://us.archive.ubuntu.com/ubuntu/pool/main/libn/libnl3/libnl-3-200_3.2.21-1ubuntu1.1_amd64.deb' libnl-3-200_3.2.21-1ubuntu1.1_amd64.deb 44692 MD5Sum:6c4243af0e65109d4b4206f472674c7d
+'http://us.archive.ubuntu.com/ubuntu/pool/main/libn/libnl3/libnl-genl-3-200_3.2.21-1ubuntu1.1_amd64.deb' libnl-genl-3-200_3.2.21-1ubuntu1.1_amd64.deb 10242 MD5Sum:76ef0be047534f619ed8f86b9fbf8a15
+'http://us.archive.ubuntu.com/ubuntu/pool/main/libo/libogg/libogg0_1.3.1-1ubuntu1_amd64.deb' libogg0_1.3.1-1ubuntu1_amd64.deb 17036 MD5Sum:a6411133fd6d72d08bbcb265a7f31103
+'http://us.archive.ubuntu.com/ubuntu/pool/main/libs/libsdl1.2/libsdl1.2debian_1.2.15-8ubuntu1.1_amd64.deb' libsdl1.2debian_1.2.15-8ubuntu1.1_amd64.deb 162322 MD5Sum:063b125221dda816ec3554eea53ce52e
+'http://us.archive.ubuntu.com/ubuntu/pool/main/libs/libsndfile/libsndfile1_1.0.25-7ubuntu2.1_amd64.deb' libsndfile1_1.0.25-7ubuntu2.1_amd64.deb 136292 MD5Sum:a01199628faa5c1ec2b97c167c25c0e9
+'http://us.archive.ubuntu.com/ubuntu/pool/main/libt/libtasn1-6/libtasn1-6_3.4-3ubuntu0.4_amd64.deb' libtasn1-6_3.4-3ubuntu0.4_amd64.deb 43616 MD5Sum:59657d27d1a7e32e9549b5a21514d877
+'http://us.archive.ubuntu.com/ubuntu/pool/main/libt/libtirpc/libtirpc1_0.2.2-5ubuntu2_amd64.deb' libtirpc1_0.2.2-5ubuntu2_amd64.deb 71258 MD5Sum:acc1c8e0345c8c3e53ba94a59a4729d8
+'http://us.archive.ubuntu.com/ubuntu/pool/main/libv/libvorbis/libvorbis0a_1.3.2-1.3ubuntu1_amd64.deb' libvorbis0a_1.3.2-1.3ubuntu1_amd64.deb 87166 MD5Sum:e89e05f389fdaa1b834803a08c9213a4
+'http://us.archive.ubuntu.com/ubuntu/pool/main/libv/libvorbis/libvorbisenc2_1.3.2-1.3ubuntu1_amd64.deb' libvorbisenc2_1.3.2-1.3ubuntu1_amd64.deb 84546 MD5Sum:fbdffecfc0a3f0dc45ec2480f54ea251
+'http://us.archive.ubuntu.com/ubuntu/pool/main/liby/libyaml/libyaml-0-2_0.1.4-3ubuntu3.1_amd64.deb' libyaml-0-2_0.1.4-3ubuntu3.1_amd64.deb 48066 MD5Sum:4dcc359331403252136be3490c923fc9
+'http://us.archive.ubuntu.com/ubuntu/pool/main/l/linux-firmware/linux-firmware_1.127.22_all.deb' linux-firmware_1.127.22_all.deb 33190334 MD5Sum:7d5cef69c2cbe90206be4789892b8b94
+'http://us.archive.ubuntu.com/ubuntu/pool/main/l/linux/linux-libc-dev_3.13.0-86.131_amd64.deb' linux-libc-dev_3.13.0-86.131_amd64.deb 779312 MD5Sum:e7979ded82504e2b6a63f9065569fe0a
+'http://us.archive.ubuntu.com/ubuntu/pool/main/l/linux-lts-wily/linux-headers-4.2.0-36_4.2.0-36.42~14.04.1_all.deb' linux-headers-4.2.0-36_4.2.0-36.42~14.04.1_all.deb 9587752 MD5Sum:b1bbc76655eb0e2ba2e3e529e9d9debe
+'http://us.archive.ubuntu.com/ubuntu/pool/main/l/linux-lts-wily/linux-headers-4.2.0-36-generic_4.2.0-36.42~14.04.1_amd64.deb' linux-headers-4.2.0-36-generic_4.2.0-36.42~14.04.1_amd64.deb 769578 MD5Sum:fc7cb0b62dac701a66c9b0194212ad34
+'http://us.archive.ubuntu.com/ubuntu/pool/main/l/linux-lts-wily/linux-image-4.2.0-36-generic_4.2.0-36.42~14.04.1_amd64.deb' linux-image-4.2.0-36-generic_4.2.0-36.42~14.04.1_amd64.deb 17219920 MD5Sum:940897fb5d8f56e1fc5708194d73f902
+'http://us.archive.ubuntu.com/ubuntu/pool/main/l/linux-lts-wily/linux-image-extra-4.2.0-36-generic_4.2.0-36.42~14.04.1_amd64.deb' linux-image-extra-4.2.0-36-generic_4.2.0-36.42~14.04.1_amd64.deb 38366786 MD5Sum:482c28c0eb23cc75b86dbaefbdb601fb
+'http://us.archive.ubuntu.com/ubuntu/pool/main/l/linux-meta-lts-wily/linux-generic-lts-wily_4.2.0.36.29_amd64.deb' linux-generic-lts-wily_4.2.0.36.29_amd64.deb 1804 MD5Sum:b9f04cda4963bacc5af6b4852102479a
+'http://us.archive.ubuntu.com/ubuntu/pool/main/l/linux-meta-lts-wily/linux-headers-generic-lts-wily_4.2.0.36.29_amd64.deb' linux-headers-generic-lts-wily_4.2.0.36.29_amd64.deb 2272 MD5Sum:2ee879d19061256588b4e1db7ea70ba3
+'http://us.archive.ubuntu.com/ubuntu/pool/main/l/linux-meta-lts-wily/linux-image-generic-lts-wily_4.2.0.36.29_amd64.deb' linux-image-generic-lts-wily_4.2.0.36.29_amd64.deb 2302 MD5Sum:b781bdd84696e5c766d22719ed606cc3
+'http://us.archive.ubuntu.com/ubuntu/pool/main/l/lsb/lsb-base_4.1+Debian11ubuntu6.1_all.deb' lsb-base_4.1+Debian11ubuntu6.1_all.deb 12970 MD5Sum:2834c99418122f0675752389058621e9
+'http://us.archive.ubuntu.com/ubuntu/pool/main/l/lsb/lsb-release_4.1+Debian11ubuntu6.1_all.deb' lsb-release_4.1+Debian11ubuntu6.1_all.deb 11460 MD5Sum:61ddf909041ee1d3738248cd639e05da
+'http://us.archive.ubuntu.com/ubuntu/pool/main/l/lzo2/liblzo2-2_2.06-1.2ubuntu1.1_amd64.deb' liblzo2-2_2.06-1.2ubuntu1.1_amd64.deb 46110 MD5Sum:b3e9733843fda9b2463a0745e7306092
+'http://us.archive.ubuntu.com/ubuntu/pool/main/m/make-dfsg/make_3.81-8.2ubuntu3_amd64.deb' make_3.81-8.2ubuntu3_amd64.deb 119286 MD5Sum:6442fbef4450fc977fb1ab6297cf7797
+'http://us.archive.ubuntu.com/ubuntu/pool/main/m/manpages/manpages-dev_3.54-1ubuntu1_all.deb' manpages-dev_3.54-1ubuntu1_all.deb 1819920 MD5Sum:8b108211126e2798112fbd55292e5690
+'http://us.archive.ubuntu.com/ubuntu/pool/main/m/mpclib3/libmpc3_1.0.1-1ubuntu1_amd64.deb' libmpc3_1.0.1-1ubuntu1_amd64.deb 38442 MD5Sum:c5749c5428040f492bc9d00b0101b8a8
+'http://us.archive.ubuntu.com/ubuntu/pool/main/m/mpfr4/libmpfr4_3.1.2-1_amd64.deb' libmpfr4_3.1.2-1_amd64.deb 202636 MD5Sum:3ff03e231bf643436f087da42faaad6d
+'http://us.archive.ubuntu.com/ubuntu/pool/main/m/msr-tools/msr-tools_1.3-2_amd64.deb' msr-tools_1.3-2_amd64.deb 10636 MD5Sum:5ffb50c3889cfccc901b940923d89e29
+'http://us.archive.ubuntu.com/ubuntu/pool/main/n/nfs-utils/nfs-common_1.2.8-6ubuntu1.2_amd64.deb' nfs-common_1%3a1.2.8-6ubuntu1.2_amd64.deb 180760 MD5Sum:64d83aabb28de942a6e367181ed580ca
+'http://us.archive.ubuntu.com/ubuntu/pool/main/n/nspr/libnspr4_4.10.10-0ubuntu0.14.04.1_amd64.deb' libnspr4_2%3a4.10.10-0ubuntu0.14.04.1_amd64.deb 110502 MD5Sum:bfb262e77ef709dfaa5ae037630e49ff
+'http://us.archive.ubuntu.com/ubuntu/pool/main/n/nss/libnss3_3.21-0ubuntu0.14.04.2_amd64.deb' libnss3_2%3a3.21-0ubuntu0.14.04.2_amd64.deb 1102834 MD5Sum:267e9467a90bb2077eb9984bee3b1c5f
+'http://us.archive.ubuntu.com/ubuntu/pool/main/n/nss/libnss3-nssdb_3.21-0ubuntu0.14.04.2_all.deb' libnss3-nssdb_2%3a3.21-0ubuntu0.14.04.2_all.deb 10550 MD5Sum:a72742a1b68774875bde367e984b6a68
+'http://us.archive.ubuntu.com/ubuntu/pool/main/n/numactl/libnuma1_2.0.9~rc5-1ubuntu3.14.04.2_amd64.deb' libnuma1_2.0.9~rc5-1ubuntu3.14.04.2_amd64.deb 20548 MD5Sum:ecc0effed2e7ac705b71f44f1d4b0cc4
+'http://us.archive.ubuntu.com/ubuntu/pool/main/o/openssh/openssh-client_6.6p1-2ubuntu2.7_amd64.deb' openssh-client_1%3a6.6p1-2ubuntu2.7_amd64.deb 563864 MD5Sum:8edbfbbd99530d23c8f81b2466f39def
+'http://us.archive.ubuntu.com/ubuntu/pool/main/o/openssh/openssh-server_6.6p1-2ubuntu2.7_amd64.deb' openssh-server_1%3a6.6p1-2ubuntu2.7_amd64.deb 321560 MD5Sum:d95a0215f27a8f3f91160972a3fe0573
+'http://us.archive.ubuntu.com/ubuntu/pool/main/o/openssh/openssh-sftp-server_6.6p1-2ubuntu2.7_amd64.deb' openssh-sftp-server_1%3a6.6p1-2ubuntu2.7_amd64.deb 34158 MD5Sum:94e9c6b3d7f6851c67890d56d26017dc
+'http://us.archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.0.0_1.0.1f-1ubuntu2.19_amd64.deb' libssl1.0.0_1.0.1f-1ubuntu2.19_amd64.deb 828322 MD5Sum:04f6ffaf9b5108c14a688b05ea996689
+'http://us.archive.ubuntu.com/ubuntu/pool/main/o/openssl/openssl_1.0.1f-1ubuntu2.19_amd64.deb' openssl_1.0.1f-1ubuntu2.19_amd64.deb 489948 MD5Sum:c47ec9a48ab34e79ae3ce0782cdd7960
+'http://us.archive.ubuntu.com/ubuntu/pool/main/o/opus/libopus0_1.1-0ubuntu1_amd64.deb' libopus0_1.1-0ubuntu1_amd64.deb 153146 MD5Sum:b611832d9ef83e451dff69c1c81d5d04
+'http://us.archive.ubuntu.com/ubuntu/pool/main/p/pam/libpam0g_1.1.8-1ubuntu2.2_amd64.deb' libpam0g_1.1.8-1ubuntu2.2_amd64.deb 56072 MD5Sum:1273498c4f24df5a6514a8c43700c9d2
+'http://us.archive.ubuntu.com/ubuntu/pool/main/p/pam/libpam-modules_1.1.8-1ubuntu2.2_amd64.deb' libpam-modules_1.1.8-1ubuntu2.2_amd64.deb 234422 MD5Sum:e709e588f41be2f59149374a1eb6c9cb
+'http://us.archive.ubuntu.com/ubuntu/pool/main/p/pam/libpam-modules-bin_1.1.8-1ubuntu2.2_amd64.deb' libpam-modules-bin_1.1.8-1ubuntu2.2_amd64.deb 31164 MD5Sum:c6817859ed2a2e5f023a9d538e37daf0
+'http://us.archive.ubuntu.com/ubuntu/pool/main/p/pam/libpam-runtime_1.1.8-1ubuntu2.2_all.deb' libpam-runtime_1.1.8-1ubuntu2.2_all.deb 37766 MD5Sum:fa4d3d794c3259f1fc34a04d1e682bcf
+'http://us.archive.ubuntu.com/ubuntu/pool/main/p/patch/patch_2.7.1-4ubuntu2.3_amd64.deb' patch_2.7.1-4ubuntu2.3_amd64.deb 86356 MD5Sum:4f07a01b36e3a60a34c3bcef647894ae
+'http://us.archive.ubuntu.com/ubuntu/pool/main/p/pcre3/libpcre3_8.31-2ubuntu2.3_amd64.deb' libpcre3_1%3a8.31-2ubuntu2.3_amd64.deb 144410 MD5Sum:8ffa3b01676dab2247991c847e7039d6
+'http://us.archive.ubuntu.com/ubuntu/pool/main/p/perl/perl_5.18.2-2ubuntu1.1_amd64.deb' perl_5.18.2-2ubuntu1.1_amd64.deb 2647870 MD5Sum:c923b93fb9aa7f1ff97fcea2539bd8b9
+'http://us.archive.ubuntu.com/ubuntu/pool/main/p/perl/perl-base_5.18.2-2ubuntu1.1_amd64.deb' perl-base_5.18.2-2ubuntu1.1_amd64.deb 1146330 MD5Sum:d032a8ff7c2609d93af93e02aa7cf5ba
+'http://us.archive.ubuntu.com/ubuntu/pool/main/p/perl/perl-modules_5.18.2-2ubuntu1.1_all.deb' perl-modules_5.18.2-2ubuntu1.1_all.deb 2673194 MD5Sum:75bfbc6a0725be5533d5920d031bb121
+'http://us.archive.ubuntu.com/ubuntu/pool/main/p/pixman/libpixman-1-0_0.30.2-2ubuntu1.1_amd64.deb' libpixman-1-0_0.30.2-2ubuntu1.1_amd64.deb 225476 MD5Sum:2d12f5e47dad9b5f61299706413976da
+'http://us.archive.ubuntu.com/ubuntu/pool/main/p/prettytable/python-prettytable_0.7.2-2ubuntu2_all.deb' python-prettytable_0.7.2-2ubuntu2_all.deb 19966 MD5Sum:1532d286ecad16204509eca1e97b8c37
+'http://us.archive.ubuntu.com/ubuntu/pool/main/p/pulseaudio/libpulse0_4.0-0ubuntu11.1_amd64.deb' libpulse0_1%3a4.0-0ubuntu11.1_amd64.deb 225440 MD5Sum:84213503252a6aec962b12cd170af23f
+'http://us.archive.ubuntu.com/ubuntu/pool/main/p/pycurl/python3-pycurl_7.19.3-0ubuntu3_amd64.deb' python3-pycurl_7.19.3-0ubuntu3_amd64.deb 47494 MD5Sum:4a8692a3639a46f0c512f5d77f42ff16
+'http://us.archive.ubuntu.com/ubuntu/pool/main/p/pyserial/python-serial_2.6-1build1_all.deb' python-serial_2.6-1build1_all.deb 60088 MD5Sum:815adaf14f9c402d2d0507b1d99e7d71
+'http://us.archive.ubuntu.com/ubuntu/pool/main/p/python2.7/libpython2.7_2.7.6-8ubuntu0.2_amd64.deb' libpython2.7_2.7.6-8ubuntu0.2_amd64.deb 1038642 MD5Sum:e52bac5d993bf5c8c60ef92b9e392603
+'http://us.archive.ubuntu.com/ubuntu/pool/main/p/python2.7/libpython2.7-dev_2.7.6-8ubuntu0.2_amd64.deb' libpython2.7-dev_2.7.6-8ubuntu0.2_amd64.deb 22007718 MD5Sum:8d59685b68713072a86e278b6b5b22ab
+'http://us.archive.ubuntu.com/ubuntu/pool/main/p/python2.7/python2.7-dev_2.7.6-8ubuntu0.2_amd64.deb' python2.7-dev_2.7.6-8ubuntu0.2_amd64.deb 269106 MD5Sum:b329c89de034410c49eb9525597c11c6
+'http://us.archive.ubuntu.com/ubuntu/pool/main/p/python-defaults/libpython-dev_2.7.5-5ubuntu3_amd64.deb' libpython-dev_2.7.5-5ubuntu3_amd64.deb 7078 MD5Sum:3b37a8ee5197b689d2fe472e81583e41
+'http://us.archive.ubuntu.com/ubuntu/pool/main/p/python-defaults/python-dev_2.7.5-5ubuntu3_amd64.deb' python-dev_2.7.5-5ubuntu3_amd64.deb 1166 MD5Sum:0fb9dbd4067f94dc4cd894cefc50fe47
+'http://us.archive.ubuntu.com/ubuntu/pool/main/p/python-json-patch/python-jsonpatch_1.3-4_all.deb' python-jsonpatch_1.3-4_all.deb 9088 MD5Sum:d1521e9621c4c751d164a6d979705a12
+'http://us.archive.ubuntu.com/ubuntu/pool/main/p/python-json-pointer/python-json-pointer_1.0-2build1_all.deb' python-json-pointer_1.0-2build1_all.deb 5158 MD5Sum:b0762e2a2192458adcbf70e6be02172d
+'http://us.archive.ubuntu.com/ubuntu/pool/main/p/python-oauth/python-oauth_1.0.1-3build2_all.deb' python-oauth_1.0.1-3build2_all.deb 12830 MD5Sum:e2c16c59e6242e3abb211a3e64297615
+'http://us.archive.ubuntu.com/ubuntu/pool/main/p/python-setuptools/python3-pkg-resources_3.3-1ubuntu2_all.deb' python3-pkg-resources_3.3-1ubuntu2_all.deb 31704 MD5Sum:e44cbc2a92ab2c53d01c7d54a79020f0
+'http://us.archive.ubuntu.com/ubuntu/pool/main/p/python-setuptools/python-pkg-resources_3.3-1ubuntu2_all.deb' python-pkg-resources_3.3-1ubuntu2_all.deb 61910 MD5Sum:d12cb222f33ac215006d472c63d3aeb8
+'http://us.archive.ubuntu.com/ubuntu/pool/main/p/python-setuptools/python-setuptools_3.3-1ubuntu2_all.deb' python-setuptools_3.3-1ubuntu2_all.deb 230056 MD5Sum:095838ab2e8028796486463d62e5b88b
+'http://us.archive.ubuntu.com/ubuntu/pool/main/p/python-setuptools/python-setuptools-whl_3.3-1ubuntu2_all.deb' python-setuptools-whl_3.3-1ubuntu2_all.deb 244386 MD5Sum:bed8daea8be2938af22a1bc7fdc0d9f1
+'http://us.archive.ubuntu.com/ubuntu/pool/main/p/python-urllib3/python-urllib3-whl_1.7.1-1ubuntu4_all.deb' python-urllib3-whl_1.7.1-1ubuntu4_all.deb 64008 MD5Sum:5614ad88debd4c93441cc119f5a478a1
+'http://us.archive.ubuntu.com/ubuntu/pool/main/p/pyyaml/python-yaml_3.10-4ubuntu0.1_amd64.deb' python-yaml_3.10-4ubuntu0.1_amd64.deb 101898 MD5Sum:3bbc120de69a86a8f0b996d722437fd4
+'http://us.archive.ubuntu.com/ubuntu/pool/main/r/requests/python-requests-whl_2.2.1-1ubuntu0.3_all.deb' python-requests-whl_2.2.1-1ubuntu0.3_all.deb 227230 MD5Sum:d4a08ea174bf075523d7c045a5ef4544
+'http://us.archive.ubuntu.com/ubuntu/pool/main/r/rpcbind/rpcbind_0.2.1-2ubuntu2.2_amd64.deb' rpcbind_0.2.1-2ubuntu2.2_amd64.deb 37056 MD5Sum:279a20e0acfea4036bce808ee12db789
+'http://us.archive.ubuntu.com/ubuntu/pool/main/s/sharutils/sharutils_4.14-1ubuntu1_amd64.deb' sharutils_1%3a4.14-1ubuntu1_amd64.deb 144824 MD5Sum:021cd2f95dd7fa1b4218d1caf50c882e
+'http://us.archive.ubuntu.com/ubuntu/pool/main/s/six/python-six-whl_1.5.2-1ubuntu1_all.deb' python-six-whl_1.5.2-1ubuntu1_all.deb 10502 MD5Sum:d8224e11a6bf8bc46d5649b4675fe057
+'http://us.archive.ubuntu.com/ubuntu/pool/main/s/snappy/libsnappy1_1.1.0-1ubuntu1_amd64.deb' libsnappy1_1.1.0-1ubuntu1_amd64.deb 11152 MD5Sum:6e75ed3aa224013957954c6671bead67
+'http://us.archive.ubuntu.com/ubuntu/pool/main/s/software-properties/python3-software-properties_0.92.37.7_all.deb' python3-software-properties_0.92.37.7_all.deb 19120 MD5Sum:00da7ba0cac32440cdd8c2137ca9771e
+'http://us.archive.ubuntu.com/ubuntu/pool/main/s/software-properties/software-properties-common_0.92.37.7_all.deb' software-properties-common_0.92.37.7_all.deb 9356 MD5Sum:195890432324c90ea6a0e1c332f953d6
+'http://us.archive.ubuntu.com/ubuntu/pool/main/s/systemd/libpam-systemd_204-5ubuntu20.19_amd64.deb' libpam-systemd_204-5ubuntu20.19_amd64.deb 25544 MD5Sum:3a8ab37af48ffcc23f9bef72e80f59c8
+'http://us.archive.ubuntu.com/ubuntu/pool/main/s/systemd/libsystemd-daemon0_204-5ubuntu20.19_amd64.deb' libsystemd-daemon0_204-5ubuntu20.19_amd64.deb 10194 MD5Sum:b3c2675173f71a987bc78120447beef2
+'http://us.archive.ubuntu.com/ubuntu/pool/main/s/systemd/libsystemd-login0_204-5ubuntu20.19_amd64.deb' libsystemd-login0_204-5ubuntu20.19_amd64.deb 27206 MD5Sum:f40f53f393bd464b4cb30e51b4db6707
+'http://us.archive.ubuntu.com/ubuntu/pool/main/s/systemd/libudev1_204-5ubuntu20.19_amd64.deb' libudev1_204-5ubuntu20.19_amd64.deb 33776 MD5Sum:efaa66441569692a31cf0cdc3b2b1dd8
+'http://us.archive.ubuntu.com/ubuntu/pool/main/s/systemd/systemd-services_204-5ubuntu20.19_amd64.deb' systemd-services_204-5ubuntu20.19_amd64.deb 197024 MD5Sum:c005d7f4fcfc1299bbab853c4897c7a7
+'http://us.archive.ubuntu.com/ubuntu/pool/main/s/systemd/udev_204-5ubuntu20.19_amd64.deb' udev_204-5ubuntu20.19_amd64.deb 734516 MD5Sum:f90937775fbbbe862974abe0332b6cb5
+'http://us.archive.ubuntu.com/ubuntu/pool/main/t/tzdata/tzdata_2016d-0ubuntu0.14.04_all.deb' tzdata_2016d-0ubuntu0.14.04_all.deb 167282 MD5Sum:1ebee2354ecb262b219f658fc186a6bc
+'http://us.archive.ubuntu.com/ubuntu/pool/main/u/unattended-upgrades/unattended-upgrades_0.82.1ubuntu2.4_all.deb' unattended-upgrades_0.82.1ubuntu2.4_all.deb 25856 MD5Sum:c635e645c9d91eb2d4d182d97098150a
+'http://us.archive.ubuntu.com/ubuntu/pool/main/u/usbredir/libusbredirparser1_0.6-2ubuntu1.1_amd64.deb' libusbredirparser1_0.6-2ubuntu1.1_amd64.deb 13286 MD5Sum:60574ac64168133bd8a974d58b7e9c5e
+'http://us.archive.ubuntu.com/ubuntu/pool/main/u/usbutils/usbutils_007-2ubuntu1.1_amd64.deb' usbutils_1%3a007-2ubuntu1.1_amd64.deb 205284 MD5Sum:8dd05d22ed0ab249bfed02b3266e9bb5
+'http://us.archive.ubuntu.com/ubuntu/pool/main/w/wheel/python-wheel_0.24.0-1~ubuntu1_all.deb' python-wheel_0.24.0-1~ubuntu1_all.deb 44680 MD5Sum:a1f3817d6dc2aa707d1ac2a075fabf37
+'http://us.archive.ubuntu.com/ubuntu/pool/main/x/xen/libxen-4.4_4.4.2-0ubuntu0.14.04.5_amd64.deb' libxen-4.4_4.4.2-0ubuntu0.14.04.5_amd64.deb 272722 MD5Sum:26f9614ca2e3342a0781bc1335e2d3a3
+'http://us.archive.ubuntu.com/ubuntu/pool/main/x/xen/libxenstore3.0_4.4.2-0ubuntu0.14.04.5_amd64.deb' libxenstore3.0_4.4.2-0ubuntu0.14.04.5_amd64.deb 18872 MD5Sum:e151064ffc03704ec516a5f8ecfeec9f
+'http://us.archive.ubuntu.com/ubuntu/pool/main/y/yajl/libyajl2_2.0.4-4_amd64.deb' libyajl2_2.0.4-4_amd64.deb 20834 MD5Sum:d7241d878ea65cbed080196411ec92c2
+'http://us.archive.ubuntu.com/ubuntu/pool/universe/c/chardet-whl/python-chardet-whl_2.2.1-2~ubuntu1_all.deb' python-chardet-whl_2.2.1-2~ubuntu1_all.deb 170254 MD5Sum:d882e156f6af98454a96cae30ae58784
+'http://us.archive.ubuntu.com/ubuntu/pool/universe/d/distlib/python-distlib_0.1.8-1ubuntu1_all.deb' python-distlib_0.1.8-1ubuntu1_all.deb 112604 MD5Sum:b3288d6d230096c11d69ebe18c44ed83
+'http://us.archive.ubuntu.com/ubuntu/pool/universe/d/distlib/python-distlib-whl_0.1.8-1ubuntu1_all.deb' python-distlib-whl_0.1.8-1ubuntu1_all.deb 140312 MD5Sum:93792a4c21365ded4316fdb5bc895dd5
+'http://us.archive.ubuntu.com/ubuntu/pool/universe/p/python-colorama/python-colorama_0.2.5-0.1ubuntu2_all.deb' python-colorama_0.2.5-0.1ubuntu2_all.deb 18374 MD5Sum:b06bc963962c3f3c97f5d1da53a56f3f
+'http://us.archive.ubuntu.com/ubuntu/pool/universe/p/python-colorama/python-colorama-whl_0.2.5-0.1ubuntu2_all.deb' python-colorama-whl_0.2.5-0.1ubuntu2_all.deb 18212 MD5Sum:2c4ecb5b3fc49ae20510d3aac886b66a
+'http://us.archive.ubuntu.com/ubuntu/pool/universe/p/python-pip/python-pip_1.5.4-1ubuntu3_all.deb' python-pip_1.5.4-1ubuntu3_all.deb 97250 MD5Sum:5e8aaaea2393012f52590302fe7f2c7a
+'http://us.archive.ubuntu.com/ubuntu/pool/universe/p/python-pip/python-pip-whl_1.5.4-1ubuntu3_all.deb' python-pip-whl_1.5.4-1ubuntu3_all.deb 111214 MD5Sum:cfa1165c167c67db395fd77b7e477b6d
+'http://us.archive.ubuntu.com/ubuntu/pool/universe/p/python-virtualenv/python-virtualenv_1.11.4-1ubuntu1_all.deb' python-virtualenv_1.11.4-1ubuntu1_all.deb 1485420 MD5Sum:6df1003bf2392cd14f1a2710ba8cf5d5
diff --git a/resources/tools/disk-image-builder/ubuntu/lists/ubuntu-14.04.4_2016-05-25_1.0/pip-requirements.txt b/resources/tools/disk-image-builder/ubuntu/lists/ubuntu-14.04.4_2016-05-25_1.0/pip-requirements.txt
new file mode 100644 (file)
index 0000000..98d9851
--- /dev/null
@@ -0,0 +1,14 @@
+docopt==0.6.2
+ecdsa==0.13
+enum34==1.1.2
+interruptingcow==0.6
+ipaddress==1.0.16
+paramiko==1.16.0
+pycrypto==2.6.1
+pykwalify==1.5.0
+python-dateutil==2.4.2
+PyYAML==3.11
+requests==2.9.1
+robotframework==2.9.2
+scapy==2.3.1
+scp==0.10.2
diff --git a/resources/tools/disk-image-builder/ubuntu/nested/NO-NESTED b/resources/tools/disk-image-builder/ubuntu/nested/NO-NESTED
new file mode 100644 (file)
index 0000000..eb2d4b0
--- /dev/null
@@ -0,0 +1,8 @@
+NESTED_VERSION=NO_NESTED
+
+This is a placeholder file to be placed on the ubuntu if nested VM
+testing is not desired, or if the main VM is going to overwrite the
+nested VM image by means of startup scripts.
+
+Unless separate steps are taken to provide a valid image within the
+VM, NESTED VM TESTCASES WILL FAIL.
diff --git a/resources/tools/disk-image-builder/ubuntu/run-listmaker.sh b/resources/tools/disk-image-builder/ubuntu/run-listmaker.sh
new file mode 100755 (executable)
index 0000000..1f47656
--- /dev/null
@@ -0,0 +1,212 @@
+#!/bin/bash
+
+# Copyright (c) 2016 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# This script is to spin up a simulation in VIRL, and fetch the URLs for all packages
+# that the user would obtain if they did an "apt-get update", "apt-get upgrade" today.
+#
+# This entire step is neither secure nor portable. The assumption --for now-- is that
+# this will only ever be run in LF CSIT VIRL lab. Should the requirement arise to
+# run this elsewhere, then additional work may be required to make this more
+# portable.
+
+# This script requires that the following two environment variables be defined-
+#
+# $VIRL_USER
+# $VIRL_PASSWORD
+
+VERSION=$(cat $(dirname $0)/CHANGELOG  | grep '^## ' | head -1 | sed -e 's/.*\[\(.*\)\].*/\1/')
+if [ "${VERSION}" = "" ]
+then
+  echo "Unable to determine build version from CHANGELOG file. Make sure"
+  echo "that there is an entry for the most recent version in CHANGELOG,"
+  echo "and that the entry is formated like"
+  echo
+  echo "## [1.0] - 2016-05-20"
+  exit 1
+fi
+DATE=$(date +%Y-%m-%d)
+OS="ubuntu-14.04.4"
+RELEASE="${OS}_${DATE}_${VERSION}"
+OUTPUT_DIR="lists/${RELEASE}"
+
+echo "Building release ${RELEASE}."
+echo "Storinging data in ${OUTPUT_DIR}/."
+
+
+# APT packages wanted
+
+APT_WANTLIST_INFRA="nfs-common cloud-init"
+APT_WANTLIST_CSIT="python-dev python-virtualenv git"
+APT_WANTLIST_VPP="dkms"
+APT_WANTLIST_TREX="zlib1g-dev unzip"
+APT_WANTLIST_NESTED="qemu-system-x86"
+
+# For now, let us NOT incude WANTLIST_NESTED in the below. We're installing qemu
+# separately from a separate source.
+APT_WANTLIST="$APT_WANTLIST_INFRA $APT_WANTLIST_CSIT $APT_WANTLIST_VPP $WANTLIST_TREX"
+
+APT_OUTPUTFILE="${OUTPUT_DIR}/apt-packages.txt"
+
+# Python requirements file. Can point to a manually crafted file
+# here, or to the actual CSIT requirements file, or to a symlink.
+
+PIP_REQUIREMENTS="../../../../requirements.txt"
+if [ ! -f ${PIP_REQUIREMENTS} ]
+then
+  echo "PIP requirements file ${PIP_REQUIREMENTS} not found."
+  exit 1
+fi
+
+PIP_OUTPUTFILE="${OUTPUT_DIR}/pip-requirements.txt"
+
+# These will be used for SSH to the listmaker VM, and must match with what
+# was defined in the listmaker VM's kickstart file.
+SSH_USER="root"
+SSH_PASS="csit"
+
+VIRL_TOPOLOGY_FILE="listmaker/virl-listmaker.yaml"
+
+###
+### Spin up simulation
+###
+if [ "$VIRL_USER" = "" ] || [ "$VIRL_PASSWORD" = "" ]
+then
+  echo '$VIRL_USER and $VIRL_PASSWORD environment variables must be defined'
+  exit 1
+fi
+
+output=$(virl_std_client -u ${VIRL_USER} -p ${VIRL_PASSWORD} \
+  simengine-launch -f ${VIRL_TOPOLOGY_FILE} 2>&1)
+id=$(echo "${output}" | grep "Simulation ID is " | cut -f 4 -d ' ')
+
+if [ "$id" = "" ]
+then
+  echo "Did not get a simulation ID. Aborting."
+  echo "Output was:"
+  echo "${output}"
+  exit 1
+fi
+
+echo My ID is ${id}
+function stop_sim {
+  virl_std_client -u ${VIRL_USER} -p ${VIRL_PASSWORD} simengine-stop --session ${id}
+}
+trap stop_sim EXIT
+
+ip="None"
+while [ "${ip}" = "None" ] || [ "${ip}" = "" ]
+do
+  sleep 5
+  output=$(virl_std_client -u ${VIRL_USER} -p ${VIRL_PASSWORD} simengine-interfaces --session ${id} --nodes listmaker --interfaces management 2>&1)
+  ip=$(echo "${output}" | grep "u'ip-address" | cut -f 4 -d "'" | cut -f 1 -d '/')
+done
+echo "IP is $ip"
+
+sleep 10
+
+if ping -w 60 -c 2 $ip > /dev/null
+then
+  echo Host $ip alive
+else
+  echo Host $ip failed to respond to ping
+  exit 1
+fi
+
+# Wait for SSH to be up
+while ! nc -z $ip 22
+do
+  sleep 3
+done
+
+mkdir -p $OUTPUT_DIR
+
+###
+### SSH to the VM and perform package installation. Before each step,
+### dry-run and grab the URLs of the packages that would be installed.
+###
+
+function do_ssh {
+  # Helper function: SSH and avoid password prompt
+  sshpass -p $SSH_PASS ssh -o StrictHostKeyChecking=false -o UserKnownHostsFile=/dev/null \
+    -o LogLevel=error ${SSH_USER}@${ip} "$@"
+}
+
+do_ssh "cat - > /etc/apt/sources.list" <<_EOF
+deb http://us.archive.ubuntu.com/ubuntu/ trusty main restricted
+deb-src http://us.archive.ubuntu.com/ubuntu/ trusty main restricted
+deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates main restricted
+deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-updates main restricted
+deb http://us.archive.ubuntu.com/ubuntu/ trusty universe
+deb-src http://us.archive.ubuntu.com/ubuntu/ trusty universe
+deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates universe
+deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-updates universe
+deb http://us.archive.ubuntu.com/ubuntu/ trusty multiverse
+deb-src http://us.archive.ubuntu.com/ubuntu/ trusty multiverse
+deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates multiverse
+deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-updates multiverse
+deb http://us.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
+deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
+deb http://security.ubuntu.com/ubuntu trusty-security main restricted
+deb-src http://security.ubuntu.com/ubuntu trusty-security main restricted
+deb http://security.ubuntu.com/ubuntu trusty-security universe
+deb-src http://security.ubuntu.com/ubuntu trusty-security universe
+deb http://security.ubuntu.com/ubuntu trusty-security multiverse
+deb-src http://security.ubuntu.com/ubuntu trusty-security multiverse
+_EOF
+
+
+### FIXME: Need error handling around all this
+do_ssh apt-get update
+
+APT_TEMPFILE=$(mktemp)
+do_ssh apt-get --print-uris -y dist-upgrade >> $APT_TEMPFILE
+do_ssh DEBIAN_FRONTEND=noninteractive apt-get -y dist-upgrade
+do_ssh apt-get --print-uris -y install $APT_WANTLIST >> $APT_TEMPFILE
+do_ssh DEBIAN_FRONTEND=noninteractive apt-get -y install $APT_WANTLIST
+
+### Install qemu ($APT_WANTLIST_NESTED) separately from PPA
+do_ssh "cat - >> /etc/apt/sources.list" <<_EOF
+# For a custom qemu build
+deb http://ppa.launchpad.net/syseleven-platform/virtualization/ubuntu trusty main
+deb-src http://ppa.launchpad.net/syseleven-platform/virtualization/ubuntu trusty main
+_EOF
+do_ssh apt-get --allow-unauthenticated update
+do_ssh apt-get --print-uris --allow-unauthenticated -y install $APT_WANTLIST_NESTED >> $APT_TEMPFILE
+do_ssh DEBIAN_FRONTEND=noninteractive apt-get --allow-unauthenticated -y install $APT_WANTLIST_NESTED
+
+cat $APT_TEMPFILE | grep MD5Sum | sort > $APT_OUTPUTFILE
+rm -f $APT_TEMPFILE
+
+### Get Python data. We do this by installing as per our
+### requirements.txt file while fetching a list of all
+### installed modules before and after, and then comparing.
+
+PIP_TEMPFILE_BEFORE=$(mktemp)
+PIP_TEMPFILE_AFTER=$(mktemp)
+do_ssh "cat - > /tmp/requirements.txt" < ${PIP_REQUIREMENTS}
+do_ssh pip list | sort > $PIP_TEMPFILE_BEFORE
+do_ssh pip install -r /tmp/requirements.txt
+do_ssh pip list | sort > $PIP_TEMPFILE_AFTER
+
+comm -1 -3 ${PIP_TEMPFILE_BEFORE} ${PIP_TEMPFILE_AFTER} | \
+  sed -e 's/\(.*\) (\(.*\))/\1==\2/' > $PIP_OUTPUTFILE
+rm -f $PIP_TEMPFILE_BEFORE
+rm -f $PIP_TEMPFILE_AFTER
+
+###
+### Stop VIRL session
+###
+virl_std_client -u ${VIRL_USER} -p ${VIRL_PASSWORD} simengine-stop --session ${id}
+trap "" EXIT
diff --git a/resources/tools/disk-image-builder/ubuntu/scripts-local/upload-image-to-virl.sh b/resources/tools/disk-image-builder/ubuntu/scripts-local/upload-image-to-virl.sh
new file mode 100755 (executable)
index 0000000..41682a2
--- /dev/null
@@ -0,0 +1,71 @@
+#!/bin/sh
+
+# Copyright (c) 2016 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+if [ "$1" = "" ]
+then
+  echo "Syntax: $0 <path to image file>"
+  echo 
+  echo "Environment variables that are required:"
+  echo " VIRL_USER, VIRL_PASSWORD - VIRL username and password"
+  echo " VIRL_IMAGE_SUBTYPE       - Image subtype to use (most likely 'server')"
+  echo " VIRL_IMAGE_NAME          - The intended name for the image in VIRL"
+  exit 1
+fi
+
+VIRL_IMAGE_FILE=$1
+
+if [ "$VIRL_USER" = "" ] || [ "$VIRL_PASSWORD" = "" ]
+then
+  echo "VIRL user or password not defined, not uploading image to VIRL."
+  echo "Define VIRL_USER and VIRL_PASSWORD environment variables if image upload"
+  echo "to VIRL is intended."
+  exit 0
+fi
+
+if [ "$VIRL_IMAGE_SUBTYPE" = "" ] || [ "$VIRL_IMAGE_NAME" = "" ]
+then
+  echo "VIRL_IMAGE_SUBTYPE, VIRL_IMAGE_NAME must both be defined"
+  echo "variables must all be set."
+  exit 1
+fi
+
+if [ ! -f $VIRL_IMAGE_FILE ]
+then
+  echo "VIRL image file $VIRL_IMAGE_FILE not found"
+  exit 1
+fi
+
+echo Uploading file $VIRL_IMAGE_FILE to VIRL
+echo as $VIRL_IMAGE_NAME
+
+export VIRL_IMAGE_NAME
+
+existing_image_id=$(virl_uwm_client --quiet -u ${VIRL_USER} -p ${VIRL_PASSWORD} \
+  image-info | \
+  grep -E "^              u'name'|^              u'id'" | \
+  grep -B 1 "u'${VIRL_IMAGE_SUBTYPE}-${VIRL_IMAGE_NAME}'" | \
+  grep -E "^              u'id'" | \
+  cut -f 4 -d "'")
+
+if [ "${existing_image_id}" = "" ]
+then
+  echo Image does not exist yet
+else
+  echo Image exists with ID $existing_image_id
+  virl_uwm_client --quiet -u ${VIRL_USER} -p ${VIRL_PASSWORD} image-delete \
+    --id ${existing_image_id}
+fi
+
+virl_uwm_client -u ${VIRL_USER} -p ${VIRL_PASSWORD} image-create --subtype ${VIRL_IMAGE_SUBTYPE} --version ${VIRL_IMAGE_NAME} --image-on-server ${VIRL_IMAGE_FILE}
diff --git a/resources/tools/disk-image-builder/ubuntu/scripts-remote/cleanup.sh b/resources/tools/disk-image-builder/ubuntu/scripts-remote/cleanup.sh
new file mode 100644 (file)
index 0000000..850c695
--- /dev/null
@@ -0,0 +1,37 @@
+#!/bin/sh -e
+
+# Copyright (c) 2016 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+echo "********** CLEANING UP **********"
+
+# Clean up host keys only if we're using cloud-init
+# (which will generate new keys upon next boot). This
+# currently applies to Qemu build only.
+
+if dpkg -s cloud-init > /dev/null 2>&1
+then
+  rm -f /etc/ssh/ssh_host_*
+fi
+
+# Remove root's password, old resolv.conf and DHCP lease
+passwd -d root
+passwd -l root
+rm -f /etc/resolv.conf
+pkill dhclient
+rm -f /var/lib/dhcp/*leases
+
+echo "********** SCHEDULING SHUTDOWN IN 1 MINUTE **********"
+sync
+shutdown -h +1
+exit
diff --git a/resources/tools/disk-image-builder/ubuntu/scripts-remote/post-install.sh b/resources/tools/disk-image-builder/ubuntu/scripts-remote/post-install.sh
new file mode 100644 (file)
index 0000000..da05b43
--- /dev/null
@@ -0,0 +1,86 @@
+#!/bin/sh -e
+
+# Copyright (c) 2016 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+TEMP_PATH="/root/temp"
+
+###
+### APT
+###
+echo "********** INSTALLING APT PACKAGES **********"
+echo -n > /etc/apt/sources.list
+
+export DEBIAN_FRONTEND=noninteractive
+
+# We're doing this the hard way as we're dealing with a bunch of
+# .deb packages rather than any sources organized through APT.
+
+# Attempt up to five cycles of unpack/configure. There may be dependency
+# problems during the first one(s).
+
+attempt=1
+MAX_ATTEMPTS=5
+try_again=1
+
+while [ $attempt -le $MAX_ATTEMPTS ] && [ $try_again -eq 1 ]
+do
+  try_again=0
+  echo "Attempting .deb package installation, attempt #${attempt}/${MAX_ATTEMPTS}"
+  dpkg --unpack --recursive --skip-same-version ${TEMP_PATH}/deb || try_again=1
+  dpkg --configure --pending || try_again=1
+  if [ $try_again -eq 1 ]
+  then
+    echo Encountered errors.
+  fi
+  attempt=$(( $attempt + 1 ))
+done
+
+if [ $try_again -eq 1 ]
+then
+  echo "Still encountered errors after ${MAX_ATTEMPTS} attempts. Aborting".
+  exit 1
+fi
+
+##
+## PIP
+##
+echo "********** INSTALLING PIP PACKAGES **********"
+pip install --no-index --find-links ${TEMP_PATH}/pip/ -r ${TEMP_PATH}/requirements.txt
+
+
+echo "********** CREATING HISTORIC LINK FOR QEMU, COPY NESTED VM IMAGE **********"
+mkdir -p /opt/qemu/bin
+ln -s /usr/bin/qemu-system-x86_64 /opt/qemu/bin/qemu-system-x86_64
+
+mkdir -p /var/lib/vm
+
+echo "Embedding nested VM image on this image"
+mkdir /var/lib/vm/images
+cp ${TEMP_PATH}/nested-vm/* /var/lib/vm/images/
+# There should only be one file at this time
+ln -s /var/lib/vm/images/* /var/lib/vm/vhost-nested.img
+
+ls -lR /var/lib/vm
+
+# Mount hugepages directory for nested VM
+mkdir -p /mnt/huge
+echo 'hugetlbfs        /mnt/huge       hugetlbfs       mode=1770,gid=111       0       0' >> /etc/fstab
+
+echo "********** MOVING CHANGELOG AND VERSION FILES **********"
+
+mv ${TEMP_PATH}/VERSION /
+mv ${TEMP_PATH}/CHANGELOG /
+
+echo "********** CLEANING UP **********"
+rm -fr ${TEMP_PATH}
diff --git a/resources/tools/disk-image-builder/ubuntu/scripts-remote/serial-console.sh b/resources/tools/disk-image-builder/ubuntu/scripts-remote/serial-console.sh
new file mode 100644 (file)
index 0000000..5287904
--- /dev/null
@@ -0,0 +1,57 @@
+#!/bin/sh -e
+
+# Copyright (c) 2016 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+##
+## Serial console
+##
+echo "********** CONFIGURING SERIAL CONSOLE AND DISABLING IPV6 **********"
+cat - > /etc/init/ttyS0.conf <<"_EOF"
+# ttyS0 - getty
+#
+# This service maintains a getty on ttyS0 from the point the system is
+# started until it is shut down again.
+
+start on stopped rc RUNLEVEL=[12345]
+stop on runlevel [!12345]
+
+respawn
+exec /sbin/getty -L 115200 ttyS0 vt102
+_EOF
+
+cat - > /etc/default/grub <<"_EOF"
+# If you change this file, run 'update-grub' afterwards to update
+# /boot/grub/grub.cfg.
+# For full documentation of the options in this file, see:
+#   info -f grub -n 'Simple configuration'
+
+GRUB_DEFAULT=0
+GRUB_TIMEOUT=1
+GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
+GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200n8 ipv6.disable=1"
+
+GRUB_TERMINAL=serial
+GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
+
+# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
+#GRUB_DISABLE_LINUX_UUID=true
+
+# Uncomment to disable generation of recovery mode menu entries
+#GRUB_DISABLE_RECOVERY="true"
+
+# Uncomment to get a beep at grub start
+#GRUB_INIT_TUNE="480 440 1"
+_EOF
+
+update-grub
diff --git a/resources/tools/disk-image-builder/ubuntu/scripts-remote/vagrant-guestadditions.sh b/resources/tools/disk-image-builder/ubuntu/scripts-remote/vagrant-guestadditions.sh
new file mode 100644 (file)
index 0000000..ec1c064
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/sh -e
+
+# Copyright (c) 2016 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+echo "********** Installing VirtualBox Guest Additions (sigh) **********"
+mkdir /mnt/VBoxGuestAdditions
+mount VBoxGuestAdditions.iso /mnt/VBoxGuestAdditions/
+/mnt/VBoxGuestAdditions/VBoxLinuxAdditions.run
+umount /mnt/VBoxGuestAdditions
+rmdir /mnt/VBoxGuestAdditions/
+rm -f VBoxGuestAdditions.iso
diff --git a/resources/tools/disk-image-builder/ubuntu/scripts-remote/vagrant-user.sh b/resources/tools/disk-image-builder/ubuntu/scripts-remote/vagrant-user.sh
new file mode 100644 (file)
index 0000000..31ef17f
--- /dev/null
@@ -0,0 +1,40 @@
+#!/bin/sh -e
+
+# Copyright (c) 2016 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+echo "********** Adding Vagrant user ***********"
+# Remove cloud-init as this will slow down the Vagrant boot
+export DEBIAN_FRONTEND=noninteractive
+apt-get purge -y cloud-init
+
+# Add Vagrant user
+useradd -c "Vagrant User" -m -s /bin/bash vagrant
+
+mkdir /home/vagrant/.ssh
+cat - > /home/vagrant/.ssh/authorized_keys <<_EOF
+ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key
+_EOF
+
+chown -R vagrant.vagrant /home/vagrant/.ssh
+chmod 700 /home/vagrant/.ssh
+
+mkdir -p /etc/sudoers.d
+cat - > /etc/sudoers.d/vagrant <<_EOF
+vagrant ALL=(root) NOPASSWD:ALL
+_EOF
+chmod 440 /etc/sudoers.d/vagrant
+
+echo "********** Rebooting with new kernel **********"
+reboot
+sleep 60
diff --git a/resources/tools/disk-image-builder/ubuntu/ubuntu-14.04.4.json b/resources/tools/disk-image-builder/ubuntu/ubuntu-14.04.4.json
new file mode 100644 (file)
index 0000000..28f26f3
--- /dev/null
@@ -0,0 +1,120 @@
+{
+  "_c": "Ubuntu 14.04.4 ISO URL at the time of creation of this file (05/2016)",
+  "_c": "was http://releases.ubuntu.com/14.04/ubuntu-14.04.4-server-amd64.iso .",
+  "_c": "",
+  "_c": "If and when 14.04.4 becomes superseded, this URL will likely change",
+  "_c": "to:",
+  "_c": "http://old-releases.ubuntu.com/releases/14.04.4/ubuntu-14.04.4-server-amd64.iso",
+  "variables": {
+    "release": null,
+    "output_dir": null,
+    "temp_dir": null,
+    "atlas_token": "{{env `ATLAS_TOKEN`}}",
+    "virl_user": "{{env `VIRL_USER`}}",
+    "virl_password": "{{env `VIRL_PASSWORD`}}"
+  },
+  "builders": [
+    {
+      "name": "{{user `release`}}-virtualbox",
+      "type": "virtualbox-iso",
+      "guest_os_type": "Ubuntu_64",
+      "iso_url": "http://releases.ubuntu.com/14.04/ubuntu-14.04.4-server-amd64.iso",
+      "iso_checksum": "2ac1f3e0de626e54d05065d6f549fa3a",
+      "iso_checksum_type": "md5",
+      "output_directory": "{{user `output_dir`}}",
+      "ssh_username": "root",
+      "ssh_password": "csit",
+      "disk_size": "4096",
+      "http_directory": "html",
+      "iso_target_path" : "build/ubuntu-14.04.4-server-amd64.iso",
+      "boot_command":
+        [
+          "<esc><esc><enter><wait>",
+          "/install/vmlinuz noapic ",
+          "preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/preseed.cfg ",
+          "debian-installer=en_US auto locale=en_US kbd-chooser/method=us ",
+          "hostname=csit ",
+          "fb=false debconf/frontend=noninteractive ",
+          "keyboard-configuration/modelcode=SKIP keyboard-configuration/layout=USA ",
+          "keyboard-configuration/variant=USA console-setup/ask_detect=false ",
+          "initrd=/install/initrd.gz -- <enter>"
+        ]
+    },
+    {
+      "name": "{{user `release`}}-qemu",
+      "type": "qemu",
+      "iso_url": "http://releases.ubuntu.com/14.04/ubuntu-14.04.4-server-amd64.iso",
+      "iso_checksum": "2ac1f3e0de626e54d05065d6f549fa3a",
+      "iso_checksum_type": "md5",
+      "output_directory": "{{user `output_dir`}}",
+      "ssh_username": "root",
+      "ssh_password": "csit",
+      "disk_size": "4096",
+      "http_directory": "html",
+      "iso_target_path" : "build/ubuntu-14.04.4-server-amd64.iso",
+      "headless": "true",
+      "boot_command":
+        [
+          "<esc><esc><enter><wait>",
+          "/install/vmlinuz noapic ",
+          "preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/preseed.cfg ",
+          "debian-installer=en_US auto locale=en_US kbd-chooser/method=us ",
+          "hostname=csit ",
+          "fb=false debconf/frontend=noninteractive ",
+          "keyboard-configuration/modelcode=SKIP keyboard-configuration/layout=USA ",
+          "keyboard-configuration/variant=USA console-setup/ask_detect=false ",
+          "initrd=/install/initrd.gz -- <enter>"
+        ]
+    }
+  ],
+  "provisioners": [
+    {
+      "type": "file",
+      "source": "{{ user `temp_dir`}}",
+      "destination": "/root"
+    },
+    {
+      "type": "shell",
+      "script": "scripts-remote/post-install.sh"
+    },
+    {
+      "type": "shell",
+      "only": ["{{user `release`}}-qemu"],
+      "script": "scripts-remote/serial-console.sh"
+    },
+    {
+      "type": "shell",
+      "only": ["{{user `release`}}-virtualbox"],
+      "script": "scripts-remote/vagrant-user.sh"
+    },
+    {
+      "type": "shell",
+      "only": ["{{user `release`}}-virtualbox"],
+      "script": "scripts-remote/vagrant-guestadditions.sh"
+    },
+    {
+      "type": "shell",
+      "script": "scripts-remote/cleanup.sh"
+    }
+  ],
+  "post-processors": [
+    {
+      "type": "vagrant",
+      "only": ["{{user `release`}}-virtualbox"],
+      "keep_input_artifact": true
+    },
+    {
+      "type": "shell-local",
+      "only": ["{{user `release`}}-qemu"],
+      "script": "scripts-local/upload-image-to-virl.sh",
+      "keep_input_artifact": true,
+      "environment_vars":
+        [
+          "VIRL_USER={{user `virl_user`}}",
+          "VIRL_PASSWORD={{user `virl_password`}}",
+          "VIRL_IMAGE_SUBTYPE=server",
+          "VIRL_IMAGE_NAME={{user `release`}}"
+        ]
+     }
+  ]
+}
diff --git a/resources/tools/disk-image-builder/ubuntu/ubuntu-14.04.4.json.WITH-ATLAS b/resources/tools/disk-image-builder/ubuntu/ubuntu-14.04.4.json.WITH-ATLAS
new file mode 100644 (file)
index 0000000..f13d0bc
--- /dev/null
@@ -0,0 +1,22 @@
+####
+#### Config for Atlas post-processor. Currently not used, as this is
+#### erroneously uploading a box without metadata. Need to figure out why.
+####
+#### Issues:
+#### - Image is uploaded as private box. That stinks, because without an
+####   Atlas Enterprise account, one cannot even access that box and make it
+####   public.
+#### - Box uploaded has no metadata, causing it to fail in vagrant.
+####
+
+    {
+      "type": "atlas",
+      "keep_input_artifact": true,
+      "only": ["{{user `release`}}-virtualbox"],
+      "token": "{{user `atlas_token`}}",
+      "artifact": "fdio-csit/{{user `release`}}",
+      "artifact_type": "vagrant.box",
+      "metadata": {
+         "provider": "virtualbox"
+      }
+    },
index b46f5ad..10028e6 100755 (executable)
@@ -24,6 +24,7 @@ import tempfile
 import shutil
 import time
 import paramiko
+import netifaces
 
 #
 # Helper function to indent a text string
@@ -39,6 +40,14 @@ def indent(lines, amount, fillchar=' '):
 # functions.
 #
 def main():
+    #
+    # Get our default interface IP address. This will become the default
+    # value for the "NFS Server IP" option.
+    #
+    gws = netifaces.gateways()
+    addrs = netifaces.ifaddresses(gws['default'][netifaces.AF_INET][1])
+    default_addr = addrs[netifaces.AF_INET][0]['addr']
+
     #
     # Verify CLI parameters and try to download our VPP image into a temporary
     # file first
@@ -53,11 +62,9 @@ def main():
     parser.add_argument("-k", "--keep", help="Keep (do not delete) the " +
                         "simulation in case of error", action='store_true')
     parser.add_argument("-v", "--verbosity", action="count", default=0)
-    # FIXME: THe default value for the following line should not be a hardcoded
-    # address. We should determine it dynamically (e.g. IP address of first
-    # interface or whichever interface is tied to the flat network)
-    parser.add_argument("-nip", "--nfs-server-ip", help="NFS server (our) IP",
-                        default="10.30.51.28")
+    parser.add_argument("-nip", "--nfs-server-ip", help="NFS server (our) IP " +
+                        "default is derived from routing table: " +
+                        "{}".format(default_addr), default=default_addr)
     parser.add_argument("-ns", "--nfs-scratch-directory",
                         help="Server location for NFS scratch diretory",
                         default="/nfs/scratch")
@@ -66,7 +73,7 @@ def main():
                         "directory", default="/nfs/common")
     parser.add_argument("-wc", "--wait-count",
                         help="number of intervals to wait for simulation to " +
-                        "be ready", type=int, default=12)
+                        "be ready", type=int, default=24)
     parser.add_argument("-wt", "--wait-time",
                         help="length of a single interval to wait for " +
                         "simulation to be ready", type=int, default=5)
@@ -83,6 +90,9 @@ def main():
                         default="/home/jenkins-in/.ssh/id_rsa_virl")
     parser.add_argument("-spu", "--ssh-pubkey", help="SSH public keyfile",
                         default="/home/jenkins-in/.ssh/id_rsa_virl.pub")
+    parser.add_argument("-r", "--release", help="VM disk image/release " +
+                        "(ex. \"csit-ubuntu-14.04.4_2016-05-25_1.0\")",
+                        default="csit-ubuntu-14.04.4_2016-05-25_1.0")
     parser.add_argument("--topology-directory", help="Topology directory",
                         default="/home/jenkins-in/testcase-infra/topologies")
 
@@ -134,6 +144,7 @@ def main():
                 args.nfs_server_ip+":"+args.nfs_scratch_directory)
             line = line.replace("$$NFS_SERVER_COMMON$$", \
                 args.nfs_server_ip+":"+args.nfs_common_directory)
+            line = line.replace("$$VM_IMAGE$$", "server-"+args.release)
             new_file.write(line)
     os.close(temp_handle)
 
index dbbb53e..1175fcf 100755 (executable)
@@ -21,4 +21,4 @@ NFS_SCRATCH_SERVERDIR="/nfs/scratch"                            # Our own (NFS s
 TESTCASE=$1
 
 virl_std_client -u $VIRL_USER -p $VIRL_PASSWORD simengine-stop --session-id $TESTCASE
-rm -fr ${NFS_SCRATCH_SERVERDIR}/${TESTCASE}
+sudo rm -fr ${NFS_SCRATCH_SERVERDIR}/${TESTCASE}
index 9018cb5..4dd5885 100644 (file)
@@ -3,7 +3,7 @@
     <extensions>
         <entry key="management_network" type="String">flat</entry>
     </extensions>
-    <node name="tg1" type="SIMPLE" subtype="server" location="570,238" vmImage="server-java-nested">
+    <node name="tg1" type="SIMPLE" subtype="server" location="570,238" vmImage="$$VM_IMAGE$$">
         <extensions>
             <entry key="config" type="String">#cloud-config&#xD;
 bootcmd:&#xD;
@@ -91,6 +91,7 @@ write_files:&#xD;
     mount -t nfs "${nfs_server_common}" /mnt/common
 
     mkdir /scratch/$(hostname)
+    cp /VERSION /scratch/$(hostname)/
 
     exit 0&#xD;
 </entry>
@@ -103,7 +104,7 @@ write_files:&#xD;
         <interface id="4" name="eth5"/>
         <interface id="5" name="eth6"/>
     </node>
-    <node name="sut1" type="SIMPLE" subtype="vPP" location="425,26" vmImage="server-java-nested">
+    <node name="sut1" type="SIMPLE" subtype="vPP" location="425,26" vmImage="$$VM_IMAGE$$">
         <extensions>
             <entry key="config" type="string">#cloud-config
 bootcmd:
@@ -191,7 +192,16 @@ write_files:
 
     mount -t nfs "${nfs_server_common}" /mnt/common
 
+    # Overwrite nested VM image with latest as per NFS
+    if [ -f /mnt/common/nested-vm-current.img ]
+    then
+      rm -f /var/lib/vm/vhost-nested.img
+      cp /mnt/common/nested-vm-current.img /var/lib/vm/vhost-nested.img
+    fi
+
     mkdir /scratch/$(hostname)
+    cp /VERSION /scratch/$(hostname)/
+    cat /var/lib/vm/vhost-nested.img | strings | grep NESTED_VERSION= > /scratch/$(hostname)/NESTED_VERSION
 
     exit 0&#xD;
 </entry>
@@ -201,7 +211,7 @@ write_files:
         <interface id="2" name="GigabitEthernet0/6/0"/>
         <interface id="3" name="GigabitEthernet0/7/0"/>
     </node>
-    <node name="sut2" type="SIMPLE" subtype="vPP" location="748,26" vmImage="server-java-nested">
+    <node name="sut2" type="SIMPLE" subtype="vPP" location="748,26" vmImage="$$VM_IMAGE$$">
         <extensions>
             <entry key="config" type="string">#cloud-config
 bootcmd:
@@ -289,7 +299,16 @@ write_files:
 
     mount -t nfs "${nfs_server_common}" /mnt/common
 
+    # Overwrite nested VM image with latest as per NFS
+    if [ -f /mnt/common/nested-vm-current.img ]
+    then
+      rm -f /var/lib/vm/vhost-nested.img
+      cp /mnt/common/nested-vm-current.img /var/lib/vm/vhost-nested.img
+    fi
+
     mkdir /scratch/$(hostname)
+    cp /VERSION /scratch/$(hostname)/
+    cat /var/lib/vm/vhost-nested.img | strings | grep NESTED_VERSION= > /scratch/$(hostname)/NESTED_VERSION
 
     exit 0&#xD;
 </entry>
diff --git a/resources/tools/virl/topologies/simple-ring-nested.virl b/resources/tools/virl/topologies/simple-ring-nested.virl
deleted file mode 100644 (file)
index b2768f2..0000000
+++ /dev/null
@@ -1,297 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<topology xmlns="http://www.cisco.com/VIRL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="0.9" xsi:schemaLocation="http://www.cisco.com/VIRL https://raw.github.com/CiscoVIRL/schema/v0.9/virl.xsd">
-    <extensions>
-        <entry key="management_network" type="String">flat</entry>
-    </extensions>
-    <node name="tg1" type="SIMPLE" subtype="server" location="570,238" vmImage="server-java-nested">
-        <extensions>
-            <entry key="config" type="String">#cloud-config&#xD;
-bootcmd:&#xD;
-- ln -s -t /etc/rc.d /etc/rc.local&#xD;
-hostname: tg1&#xD;
-manage_etc_hosts: true&#xD;
-nfs_server_scratch: $$NFS_SERVER_SCRATCH$$
-nfs_server_common: $$NFS_SERVER_COMMON$$
-runcmd:&#xD;
-- start ttyS0&#xD;
-- systemctl start getty@ttyS0.service&#xD;
-- systemctl start rc-local&#xD;
-- touch /tmp/before-sed&#xD;
-- sed -i 's/^\s*PasswordAuthentication\s\+no/PasswordAuthentication yes/' /etc/ssh/sshd_config&#xD;
-- echo "UseDNS no" &gt;&gt; /etc/ssh/sshd_config&#xD;
-- service ssh restart&#xD;
-- service sshd restart&#xD;
-users:&#xD;
-- default&#xD;
-- gecos: User configured by VIRL Configuration Engine 0.21.4&#xD;
-  lock-passwd: false&#xD;
-  name: cisco&#xD;
-  plain-text-passwd: cisco&#xD;
-  shell: /bin/bash&#xD;
-  ssh-authorized-keys:&#xD;
-  - VIRL-USER-SSH-PUBLIC-KEY&#xD;
-  - VIRL-USER-SSH-PUBLIC-KEY&#xD;
-  sudo: ALL=(ALL) NOPASSWD:ALL&#xD;
-write_files:&#xD;
-- path: /etc/init/ttyS0.conf&#xD;
-  owner: root:root&#xD;
-  content: |&#xD;
-    # ttyS0 - getty&#xD;
-    # This service maintains a getty on ttyS0 from the point the system is&#xD;
-    # started until it is shut down again.&#xD;
-    start on stopped rc or RUNLEVEL=[12345]&#xD;
-    stop on runlevel [!12345]&#xD;
-    respawn&#xD;
-    exec /sbin/getty -L 115200 ttyS0 vt102&#xD;
-  permissions: '0644'&#xD;
-- path: /etc/systemd/system/dhclient@.service&#xD;
-  content: |&#xD;
-    [Unit]&#xD;
-    Description=Run dhclient on %i interface&#xD;
-    After=network.target&#xD;
-    [Service]&#xD;
-    Type=oneshot&#xD;
-    ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease&#xD;
-    RemainAfterExit=yes&#xD;
-  owner: root:root&#xD;
-  permissions: '0644'&#xD;
-- path: /usr/local/sbin/cloud-instance-name
-  content: |
-    #!/usr/bin/python
-    import pickle
-    print pickle.loads(open('/var/lib/cloud/instance/obj.pkl').read()).metadata['name']
-  owner: root:root
-  permissions: '0755'
-- path: /etc/rc.local&#xD;
-  owner: root:root&#xD;
-  permissions: '0755'&#xD;
-  content: |-&#xD;
-    #!/bin/sh&#xD;
-    grep -q nfs_server_scratch /var/lib/cloud/instance/user-data.txt || exit 1
-    grep -q nfs_server_common /var/lib/cloud/instance/user-data.txt || exit 1
-    nfs_server_scratch=$(grep -E '^nfs_server_scratch:' /var/lib/cloud/instance/user-data.txt | awk '{ print $2 }')
-    nfs_server_common=$(grep -E '^nfs_server_common:' /var/lib/cloud/instance/user-data.txt | awk '{ print $2 }')
-    instance_name=$(/usr/local/sbin/cloud-instance-name | cut -f 3 -d '&lt;' | cut -f 1 -d '&gt;')
-    echo My instance name is $instance_name
-
-    MAXCOUNT=12
-    RETRY=5
-
-    mkdir -p /scratch
-    mkdir -p /mnt/common
-
-    echo "Mounting NFS directories"
-    count=0
-    while [ $count -lt $MAXCOUNT ] &amp;&amp; ! mount -t nfs "${nfs_server_scratch}/${instance_name}" /scratch
-    do
-      sleep 5
-      count=$[$count+1]
-    done
-
-    mount -t nfs "${nfs_server_common}" /mnt/common
-
-    mkdir /scratch/$(hostname)
-
-    exit 0&#xD;
-</entry>
-            <entry key="Auto-generate config" type="Boolean">false</entry>
-        </extensions>
-        <interface id="0" name="eth1"/>
-        <interface id="1" name="eth2"/>
-    </node>
-    <node name="sut1" type="SIMPLE" subtype="vPP" location="425,26" vmImage="server-java-nested">
-        <extensions>
-            <entry key="config" type="string">#cloud-config
-bootcmd:
-- ln -s -t /etc/rc.d /etc/rc.local
-hostname: sut1
-manage_etc_hosts: true
-nfs_server_scratch: $$NFS_SERVER_SCRATCH$$
-nfs_server_common: $$NFS_SERVER_COMMON$$
-runcmd:
-- start ttyS0
-- systemctl start getty@ttyS0.service
-- systemctl start rc-local
-- sed -i '/^\s*PasswordAuthentication\s\+no/d' /etc/ssh/sshd_config
-- echo "UseDNS no" &gt;&gt; /etc/ssh/sshd_config
-- service ssh restart
-- service sshd restart
-- sed -i 's/no-pci//' /opt/cisco/vpe/etc/qn.conf
-- sed -i 's/1024/1024 decimal-interface-names/g' /opt/cisco/vpe/etc/qn.conf
-users:
-- default
-- gecos: User configured by VIRL Configuration Engine 0.21.4
-  lock-passwd: false
-  name: cisco
-  plain-text-passwd: cisco
-  shell: /bin/bash
-  ssh-authorized-keys:
-  - VIRL-USER-SSH-PUBLIC-KEY
-  - VIRL-USER-SSH-PUBLIC-KEY
-  sudo: ALL=(ALL) NOPASSWD:ALL
-write_files:
-- path: /etc/init/ttyS0.conf
-  owner: root:root
-  content: |
-    # ttyS0 - getty
-    # This service maintains a getty on ttyS0 from the point the system is
-    # started until it is shut down again.
-    start on stopped rc or RUNLEVEL=[12345]
-    stop on runlevel [!12345]
-    respawn
-    exec /sbin/getty -L 115200 ttyS0 vt102
-  permissions: '0644'
-- path: /etc/systemd/system/dhclient@.service
-  content: |
-    [Unit]
-    Description=Run dhclient on %i interface
-    After=network.target
-    [Service]
-    Type=oneshot
-    ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease
-    RemainAfterExit=yes
-  owner: root:root
-  permissions: '0644'
-- path: /usr/local/sbin/cloud-instance-name
-  content: |
-    #!/usr/bin/python
-    import pickle
-    print pickle.loads(open('/var/lib/cloud/instance/obj.pkl').read()).metadata['name']
-  owner: root:root
-  permissions: '0755'
-- path: /etc/rc.local&#xD;
-  owner: root:root&#xD;
-  permissions: '0755'&#xD;
-  content: |-&#xD;
-    #!/bin/sh&#xD;
-    grep -q nfs_server_scratch /var/lib/cloud/instance/user-data.txt || exit 1
-    grep -q nfs_server_common /var/lib/cloud/instance/user-data.txt || exit 1
-    nfs_server_scratch=$(grep -E '^nfs_server_scratch:' /var/lib/cloud/instance/user-data.txt | awk '{ print $2 }')
-    nfs_server_common=$(grep -E '^nfs_server_common:' /var/lib/cloud/instance/user-data.txt | awk '{ print $2 }')
-    instance_name=$(/usr/local/sbin/cloud-instance-name | cut -f 3 -d '&lt;' | cut -f 1 -d '&gt;')
-    echo My instance name is $instance_name
-
-    MAXCOUNT=12
-    RETRY=5
-
-    mkdir -p /scratch
-    mkdir -p /mnt/common
-
-    echo "Mounting NFS directories"
-    count=0
-    while [ $count -lt $MAXCOUNT ] &amp;&amp; ! mount -t nfs "${nfs_server_scratch}/${instance_name}" /scratch
-    do
-      sleep 5
-      count=$[$count+1]
-    done
-
-    mount -t nfs "${nfs_server_common}" /mnt/common
-
-    mkdir /scratch/$(hostname)
-
-    exit 0&#xD;
-</entry>
-        </extensions>
-        <interface id="0" name="GigabitEthernet0/4/0"/>
-        <interface id="1" name="GigabitEthernet0/5/0"/>
-    </node>
-    <node name="sut2" type="SIMPLE" subtype="vPP" location="748,26" vmImage="server-java-nested">
-        <extensions>
-            <entry key="config" type="string">#cloud-config
-bootcmd:
-- ln -s -t /etc/rc.d /etc/rc.local
-hostname: sut2
-manage_etc_hosts: true
-nfs_server_scratch: $$NFS_SERVER_SCRATCH$$
-nfs_server_common: $$NFS_SERVER_COMMON$$
-runcmd:
-- start ttyS0
-- systemctl start getty@ttyS0.service
-- systemctl start rc-local
-- sed -i '/^\s*PasswordAuthentication\s\+no/d' /etc/ssh/sshd_config
-- echo "UseDNS no" &gt;&gt; /etc/ssh/sshd_config
-- service ssh restart
-- service sshd restart
-- sed -i 's/no-pci//' /opt/cisco/vpe/etc/qn.conf
-- sed -i 's/1024/1024 decimal-interface-names/g' /opt/cisco/vpe/etc/qn.conf
-users:
-- default
-- gecos: User configured by VIRL Configuration Engine 0.21.4
-  lock-passwd: false
-  name: cisco
-  plain-text-passwd: cisco
-  shell: /bin/bash
-  ssh-authorized-keys:
-  - VIRL-USER-SSH-PUBLIC-KEY
-  - VIRL-USER-SSH-PUBLIC-KEY
-  sudo: ALL=(ALL) NOPASSWD:ALL
-write_files:
-- path: /etc/init/ttyS0.conf
-  owner: root:root
-  content: |
-    # ttyS0 - getty
-    # This service maintains a getty on ttyS0 from the point the system is
-    # started until it is shut down again.
-    start on stopped rc or RUNLEVEL=[12345]
-    stop on runlevel [!12345]
-    respawn
-    exec /sbin/getty -L 115200 ttyS0 vt102
-  permissions: '0644'
-- path: /etc/systemd/system/dhclient@.service
-  content: |
-    [Unit]
-    Description=Run dhclient on %i interface
-    After=network.target
-    [Service]
-    Type=oneshot
-    ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease
-    RemainAfterExit=yes
-  owner: root:root
-  permissions: '0644'
-- path: /usr/local/sbin/cloud-instance-name
-  content: |
-    #!/usr/bin/python
-    import pickle
-    print pickle.loads(open('/var/lib/cloud/instance/obj.pkl').read()).metadata['name']
-  owner: root:root
-  permissions: '0755'
-- path: /etc/rc.local&#xD;
-  owner: root:root&#xD;
-  permissions: '0755'&#xD;
-  content: |-&#xD;
-    #!/bin/sh&#xD;
-    grep -q nfs_server_scratch /var/lib/cloud/instance/user-data.txt || exit 1
-    grep -q nfs_server_common /var/lib/cloud/instance/user-data.txt || exit 1
-    nfs_server_scratch=$(grep -E '^nfs_server_scratch:' /var/lib/cloud/instance/user-data.txt | awk '{ print $2 }')
-    nfs_server_common=$(grep -E '^nfs_server_common:' /var/lib/cloud/instance/user-data.txt | awk '{ print $2 }')
-    instance_name=$(/usr/local/sbin/cloud-instance-name | cut -f 3 -d '&lt;' | cut -f 1 -d '&gt;')
-    echo My instance name is $instance_name
-
-    MAXCOUNT=12
-    RETRY=5
-
-    mkdir -p /scratch
-    mkdir -p /mnt/common
-
-    echo "Mounting NFS directories"
-    count=0
-    while [ $count -lt $MAXCOUNT ] &amp;&amp; ! mount -t nfs "${nfs_server_scratch}/${instance_name}" /scratch
-    do
-      sleep 5
-      count=$[$count+1]
-    done
-
-    mount -t nfs "${nfs_server_common}" /mnt/common
-
-    mkdir /scratch/$(hostname)
-
-    exit 0&#xD;
-</entry>
-        </extensions>
-        <interface id="0" name="GigabitEthernet0/4/0"/>
-        <interface id="1" name="GigabitEthernet0/5/0"/>
-    </node>
-    <connection dst="/virl:topology/virl:node[1]/virl:interface[2]" src="/virl:topology/virl:node[3]/virl:interface[1]"/>
-    <connection dst="/virl:topology/virl:node[2]/virl:interface[2]" src="/virl:topology/virl:node[1]/virl:interface[1]"/>
-    <connection dst="/virl:topology/virl:node[3]/virl:interface[2]" src="/virl:topology/virl:node[2]/virl:interface[1]"/>
-</topology>
diff --git a/resources/tools/virl/topologies/simple-ring-nested.yaml b/resources/tools/virl/topologies/simple-ring-nested.yaml
deleted file mode 100644 (file)
index 094adf3..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
----
-metadata:
-  version: 0.1
-  schema:
-    - resources/topology_schemas/3_node_topology.sch.yaml
-    - resources/topology_schemas/topology.sch.yaml
-  tags: [hw, 3-node]
-
-nodes:
-  TG:
-    type: TG
-    host: "{topology[tg1][nic-management][ip-addr]}"
-    port: 22
-    username: cisco
-    priv_key: |
-{priv_key}
-    interfaces:
-      port3:
-        mac_address: "{topology[tg1][nic-0][hw-addr]}"
-        pci_address: "0000:00:04.0"
-        link: link1
-        driver: virtio-pci
-      port5:
-        mac_address: "{topology[tg1][nic-1][hw-addr]}"
-        pci_address: "0000:00:05.0"
-        link: link2
-        driver: virtio-pci
-  DUT1:
-    type: DUT
-    host: "{topology[sut1][nic-management][ip-addr]}"
-    port: 22
-    username: cisco
-    priv_key: |
-{priv_key}
-    interfaces:
-      port3:
-        mac_address: "{topology[sut1][nic-0][hw-addr]}"
-        pci_address: "0000:00:04.0"
-        link: link3
-      port1:
-        mac_address: "{topology[sut1][nic-1][hw-addr]}"
-        pci_address: "0000:00:05.0"
-        link: link1
-  DUT2:
-    type: DUT
-    host: "{topology[sut2][nic-management][ip-addr]}"
-    port: 22
-    username: cisco
-    priv_key: |
-{priv_key}
-    interfaces:
-      port1:
-        mac_address: "{topology[sut2][nic-0][hw-addr]}"
-        pci_address: "0000:00:04.0"
-        link: link2
-      port3:
-        mac_address: "{topology[sut2][nic-1][hw-addr]}"
-        pci_address: "0000:00:05.0"
-        link: link3
diff --git a/resources/tools/virl/topologies/simple-ring.virl b/resources/tools/virl/topologies/simple-ring.virl
deleted file mode 100644 (file)
index 82973aa..0000000
+++ /dev/null
@@ -1,297 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<topology xmlns="http://www.cisco.com/VIRL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="0.9" xsi:schemaLocation="http://www.cisco.com/VIRL https://raw.github.com/CiscoVIRL/schema/v0.9/virl.xsd">
-    <extensions>
-        <entry key="management_network" type="String">flat</entry>
-    </extensions>
-    <node name="tg1" type="SIMPLE" subtype="server" location="570,238" vmImage="server-java">
-        <extensions>
-            <entry key="config" type="String">#cloud-config&#xD;
-bootcmd:&#xD;
-- ln -s -t /etc/rc.d /etc/rc.local&#xD;
-hostname: tg1&#xD;
-manage_etc_hosts: true&#xD;
-nfs_server_scratch: $$NFS_SERVER_SCRATCH$$
-nfs_server_common: $$NFS_SERVER_COMMON$$
-runcmd:&#xD;
-- start ttyS0&#xD;
-- systemctl start getty@ttyS0.service&#xD;
-- systemctl start rc-local&#xD;
-- touch /tmp/before-sed&#xD;
-- sed -i 's/^\s*PasswordAuthentication\s\+no/PasswordAuthentication yes/' /etc/ssh/sshd_config&#xD;
-- echo "UseDNS no" &gt;&gt; /etc/ssh/sshd_config&#xD;
-- service ssh restart&#xD;
-- service sshd restart&#xD;
-users:&#xD;
-- default&#xD;
-- gecos: User configured by VIRL Configuration Engine 0.21.4&#xD;
-  lock-passwd: false&#xD;
-  name: cisco&#xD;
-  plain-text-passwd: cisco&#xD;
-  shell: /bin/bash&#xD;
-  ssh-authorized-keys:&#xD;
-  - VIRL-USER-SSH-PUBLIC-KEY&#xD;
-  - VIRL-USER-SSH-PUBLIC-KEY&#xD;
-  sudo: ALL=(ALL) NOPASSWD:ALL&#xD;
-write_files:&#xD;
-- path: /etc/init/ttyS0.conf&#xD;
-  owner: root:root&#xD;
-  content: |&#xD;
-    # ttyS0 - getty&#xD;
-    # This service maintains a getty on ttyS0 from the point the system is&#xD;
-    # started until it is shut down again.&#xD;
-    start on stopped rc or RUNLEVEL=[12345]&#xD;
-    stop on runlevel [!12345]&#xD;
-    respawn&#xD;
-    exec /sbin/getty -L 115200 ttyS0 vt102&#xD;
-  permissions: '0644'&#xD;
-- path: /etc/systemd/system/dhclient@.service&#xD;
-  content: |&#xD;
-    [Unit]&#xD;
-    Description=Run dhclient on %i interface&#xD;
-    After=network.target&#xD;
-    [Service]&#xD;
-    Type=oneshot&#xD;
-    ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease&#xD;
-    RemainAfterExit=yes&#xD;
-  owner: root:root&#xD;
-  permissions: '0644'&#xD;
-- path: /usr/local/sbin/cloud-instance-name
-  content: |
-    #!/usr/bin/python
-    import pickle
-    print pickle.loads(open('/var/lib/cloud/instance/obj.pkl').read()).metadata['name']
-  owner: root:root
-  permissions: '0755'
-- path: /etc/rc.local&#xD;
-  owner: root:root&#xD;
-  permissions: '0755'&#xD;
-  content: |-&#xD;
-    #!/bin/sh&#xD;
-    grep -q nfs_server_scratch /var/lib/cloud/instance/user-data.txt || exit 1
-    grep -q nfs_server_common /var/lib/cloud/instance/user-data.txt || exit 1
-    nfs_server_scratch=$(grep -E '^nfs_server_scratch:' /var/lib/cloud/instance/user-data.txt | awk '{ print $2 }')
-    nfs_server_common=$(grep -E '^nfs_server_common:' /var/lib/cloud/instance/user-data.txt | awk '{ print $2 }')
-    instance_name=$(/usr/local/sbin/cloud-instance-name | cut -f 3 -d '&lt;' | cut -f 1 -d '&gt;')
-    echo My instance name is $instance_name
-
-    MAXCOUNT=12
-    RETRY=5
-
-    mkdir -p /scratch
-    mkdir -p /mnt/common
-
-    echo "Mounting NFS directories"
-    count=0
-    while [ $count -lt $MAXCOUNT ] &amp;&amp; ! mount -t nfs "${nfs_server_scratch}/${instance_name}" /scratch
-    do
-      sleep 5
-      count=$[$count+1]
-    done
-
-    mount -t nfs "${nfs_server_common}" /mnt/common
-
-    mkdir /scratch/$(hostname)
-
-    exit 0&#xD;
-</entry>
-            <entry key="Auto-generate config" type="Boolean">false</entry>
-        </extensions>
-        <interface id="0" name="eth1"/>
-        <interface id="1" name="eth2"/>
-    </node>
-    <node name="sut1" type="SIMPLE" subtype="vPP" location="425,26" vmImage="server-java">
-        <extensions>
-            <entry key="config" type="string">#cloud-config
-bootcmd:
-- ln -s -t /etc/rc.d /etc/rc.local
-hostname: sut1
-manage_etc_hosts: true
-nfs_server_scratch: $$NFS_SERVER_SCRATCH$$
-nfs_server_common: $$NFS_SERVER_COMMON$$
-runcmd:
-- start ttyS0
-- systemctl start getty@ttyS0.service
-- systemctl start rc-local
-- sed -i '/^\s*PasswordAuthentication\s\+no/d' /etc/ssh/sshd_config
-- echo "UseDNS no" &gt;&gt; /etc/ssh/sshd_config
-- service ssh restart
-- service sshd restart
-- sed -i 's/no-pci//' /opt/cisco/vpe/etc/qn.conf
-- sed -i 's/1024/1024 decimal-interface-names/g' /opt/cisco/vpe/etc/qn.conf
-users:
-- default
-- gecos: User configured by VIRL Configuration Engine 0.21.4
-  lock-passwd: false
-  name: cisco
-  plain-text-passwd: cisco
-  shell: /bin/bash
-  ssh-authorized-keys:
-  - VIRL-USER-SSH-PUBLIC-KEY
-  - VIRL-USER-SSH-PUBLIC-KEY
-  sudo: ALL=(ALL) NOPASSWD:ALL
-write_files:
-- path: /etc/init/ttyS0.conf
-  owner: root:root
-  content: |
-    # ttyS0 - getty
-    # This service maintains a getty on ttyS0 from the point the system is
-    # started until it is shut down again.
-    start on stopped rc or RUNLEVEL=[12345]
-    stop on runlevel [!12345]
-    respawn
-    exec /sbin/getty -L 115200 ttyS0 vt102
-  permissions: '0644'
-- path: /etc/systemd/system/dhclient@.service
-  content: |
-    [Unit]
-    Description=Run dhclient on %i interface
-    After=network.target
-    [Service]
-    Type=oneshot
-    ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease
-    RemainAfterExit=yes
-  owner: root:root
-  permissions: '0644'
-- path: /usr/local/sbin/cloud-instance-name
-  content: |
-    #!/usr/bin/python
-    import pickle
-    print pickle.loads(open('/var/lib/cloud/instance/obj.pkl').read()).metadata['name']
-  owner: root:root
-  permissions: '0755'
-- path: /etc/rc.local&#xD;
-  owner: root:root&#xD;
-  permissions: '0755'&#xD;
-  content: |-&#xD;
-    #!/bin/sh&#xD;
-    grep -q nfs_server_scratch /var/lib/cloud/instance/user-data.txt || exit 1
-    grep -q nfs_server_common /var/lib/cloud/instance/user-data.txt || exit 1
-    nfs_server_scratch=$(grep -E '^nfs_server_scratch:' /var/lib/cloud/instance/user-data.txt | awk '{ print $2 }')
-    nfs_server_common=$(grep -E '^nfs_server_common:' /var/lib/cloud/instance/user-data.txt | awk '{ print $2 }')
-    instance_name=$(/usr/local/sbin/cloud-instance-name | cut -f 3 -d '&lt;' | cut -f 1 -d '&gt;')
-    echo My instance name is $instance_name
-
-    MAXCOUNT=12
-    RETRY=5
-
-    mkdir -p /scratch
-    mkdir -p /mnt/common
-
-    echo "Mounting NFS directories"
-    count=0
-    while [ $count -lt $MAXCOUNT ] &amp;&amp; ! mount -t nfs "${nfs_server_scratch}/${instance_name}" /scratch
-    do
-      sleep 5
-      count=$[$count+1]
-    done
-
-    mount -t nfs "${nfs_server_common}" /mnt/common
-
-    mkdir /scratch/$(hostname)
-
-    exit 0&#xD;
-</entry>
-        </extensions>
-        <interface id="0" name="GigabitEthernet0/4/0"/>
-        <interface id="1" name="GigabitEthernet0/5/0"/>
-    </node>
-    <node name="sut2" type="SIMPLE" subtype="vPP" location="748,26" vmImage="server-java">
-        <extensions>
-            <entry key="config" type="string">#cloud-config
-bootcmd:
-- ln -s -t /etc/rc.d /etc/rc.local
-hostname: sut2
-manage_etc_hosts: true
-nfs_server_scratch: $$NFS_SERVER_SCRATCH$$
-nfs_server_common: $$NFS_SERVER_COMMON$$
-runcmd:
-- start ttyS0
-- systemctl start getty@ttyS0.service
-- systemctl start rc-local
-- sed -i '/^\s*PasswordAuthentication\s\+no/d' /etc/ssh/sshd_config
-- echo "UseDNS no" &gt;&gt; /etc/ssh/sshd_config
-- service ssh restart
-- service sshd restart
-- sed -i 's/no-pci//' /opt/cisco/vpe/etc/qn.conf
-- sed -i 's/1024/1024 decimal-interface-names/g' /opt/cisco/vpe/etc/qn.conf
-users:
-- default
-- gecos: User configured by VIRL Configuration Engine 0.21.4
-  lock-passwd: false
-  name: cisco
-  plain-text-passwd: cisco
-  shell: /bin/bash
-  ssh-authorized-keys:
-  - VIRL-USER-SSH-PUBLIC-KEY
-  - VIRL-USER-SSH-PUBLIC-KEY
-  sudo: ALL=(ALL) NOPASSWD:ALL
-write_files:
-- path: /etc/init/ttyS0.conf
-  owner: root:root
-  content: |
-    # ttyS0 - getty
-    # This service maintains a getty on ttyS0 from the point the system is
-    # started until it is shut down again.
-    start on stopped rc or RUNLEVEL=[12345]
-    stop on runlevel [!12345]
-    respawn
-    exec /sbin/getty -L 115200 ttyS0 vt102
-  permissions: '0644'
-- path: /etc/systemd/system/dhclient@.service
-  content: |
-    [Unit]
-    Description=Run dhclient on %i interface
-    After=network.target
-    [Service]
-    Type=oneshot
-    ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease
-    RemainAfterExit=yes
-  owner: root:root
-  permissions: '0644'
-- path: /usr/local/sbin/cloud-instance-name
-  content: |
-    #!/usr/bin/python
-    import pickle
-    print pickle.loads(open('/var/lib/cloud/instance/obj.pkl').read()).metadata['name']
-  owner: root:root
-  permissions: '0755'
-- path: /etc/rc.local&#xD;
-  owner: root:root&#xD;
-  permissions: '0755'&#xD;
-  content: |-&#xD;
-    #!/bin/sh&#xD;
-    grep -q nfs_server_scratch /var/lib/cloud/instance/user-data.txt || exit 1
-    grep -q nfs_server_common /var/lib/cloud/instance/user-data.txt || exit 1
-    nfs_server_scratch=$(grep -E '^nfs_server_scratch:' /var/lib/cloud/instance/user-data.txt | awk '{ print $2 }')
-    nfs_server_common=$(grep -E '^nfs_server_common:' /var/lib/cloud/instance/user-data.txt | awk '{ print $2 }')
-    instance_name=$(/usr/local/sbin/cloud-instance-name | cut -f 3 -d '&lt;' | cut -f 1 -d '&gt;')
-    echo My instance name is $instance_name
-
-    MAXCOUNT=12
-    RETRY=5
-
-    mkdir -p /scratch
-    mkdir -p /mnt/common
-
-    echo "Mounting NFS directories"
-    count=0
-    while [ $count -lt $MAXCOUNT ] &amp;&amp; ! mount -t nfs "${nfs_server_scratch}/${instance_name}" /scratch
-    do
-      sleep 5
-      count=$[$count+1]
-    done
-
-    mount -t nfs "${nfs_server_common}" /mnt/common
-
-    mkdir /scratch/$(hostname)
-
-    exit 0&#xD;
-</entry>
-        </extensions>
-        <interface id="0" name="GigabitEthernet0/4/0"/>
-        <interface id="1" name="GigabitEthernet0/5/0"/>
-    </node>
-    <connection dst="/virl:topology/virl:node[1]/virl:interface[2]" src="/virl:topology/virl:node[3]/virl:interface[1]"/>
-    <connection dst="/virl:topology/virl:node[2]/virl:interface[2]" src="/virl:topology/virl:node[1]/virl:interface[1]"/>
-    <connection dst="/virl:topology/virl:node[3]/virl:interface[2]" src="/virl:topology/virl:node[2]/virl:interface[1]"/>
-</topology>
diff --git a/resources/tools/virl/topologies/simple-ring.yaml b/resources/tools/virl/topologies/simple-ring.yaml
deleted file mode 100644 (file)
index 094adf3..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
----
-metadata:
-  version: 0.1
-  schema:
-    - resources/topology_schemas/3_node_topology.sch.yaml
-    - resources/topology_schemas/topology.sch.yaml
-  tags: [hw, 3-node]
-
-nodes:
-  TG:
-    type: TG
-    host: "{topology[tg1][nic-management][ip-addr]}"
-    port: 22
-    username: cisco
-    priv_key: |
-{priv_key}
-    interfaces:
-      port3:
-        mac_address: "{topology[tg1][nic-0][hw-addr]}"
-        pci_address: "0000:00:04.0"
-        link: link1
-        driver: virtio-pci
-      port5:
-        mac_address: "{topology[tg1][nic-1][hw-addr]}"
-        pci_address: "0000:00:05.0"
-        link: link2
-        driver: virtio-pci
-  DUT1:
-    type: DUT
-    host: "{topology[sut1][nic-management][ip-addr]}"
-    port: 22
-    username: cisco
-    priv_key: |
-{priv_key}
-    interfaces:
-      port3:
-        mac_address: "{topology[sut1][nic-0][hw-addr]}"
-        pci_address: "0000:00:04.0"
-        link: link3
-      port1:
-        mac_address: "{topology[sut1][nic-1][hw-addr]}"
-        pci_address: "0000:00:05.0"
-        link: link1
-  DUT2:
-    type: DUT
-    host: "{topology[sut2][nic-management][ip-addr]}"
-    port: 22
-    username: cisco
-    priv_key: |
-{priv_key}
-    interfaces:
-      port1:
-        mac_address: "{topology[sut2][nic-0][hw-addr]}"
-        pci_address: "0000:00:04.0"
-        link: link2
-      port3:
-        mac_address: "{topology[sut2][nic-1][hw-addr]}"
-        pci_address: "0000:00:05.0"
-        link: link3