Command-Line

Invoke style tasks for Nebula’s CLI.

Top-Level

Subcommands:

  gen-config                          Generate YAML configuration interactively
  show-log                            Show log for all following tasks
  update-config                       Update or read field of existing yaml
                                      config file
  build.repo                          Clone and build git project
  coverage.kernel                     Collect DUT gcov kernel logs and generate
                                      html report (Requires lcov to be
                                      installed locally)
  dl.bootfiles                        Download bootfiles for a specific
                                      development system
  dl.sdcard                           Download, verify, and decompress SD card
                                      image
  driver.check-iio-devices            Verify all IIO drivers appear on system
                                      as expected.
  info.supported-boards               Print out list of supported design names
  jtag.reboot                         Reboot board using JTAG
  manager.update-boot-files           Update boot files through u-boot menu
                                      (Assuming board is running)
  manager.update-boot-files-jtag      Update boot files through JTAG 
                                      (Assuming board is running)
  manager.recovery-device-manager     Recover device through many methods
                                      (Assuming board is running)
  net.check-dmesg                     Download and parse remote board's dmesg
                                      log
  net.restart-board                   Reboot development system over IP
  net.update-boot-files               Update boot files on SD Card over SSH
  pdu.power-cycle                     Reboot board with PDU
  uart.get-carriername                Get Carrier (FPGA) name of DUT from UART
                                      connection
  uart.get-ip                         Get IP of DUT from UART connection
  uart.get-mezzanine                  Get Mezzanine (FMC) name of DUT from UART
                                      connection
  uart.restart-board                  Reboot DUT from UART connection assuming
                                      Linux is accessible
  uart.set-dhcp                       Set board to use DHCP for networking from
                                      UART connection
  uart.set-local-nic-ip-from-usbdev   Set IP of virtual NIC created from DUT
                                      based on found MAC
  uart.set-static-ip                  Set Static IP address of board of DUT
                                      from UART connection
  uart.update-boot-files              Update boot files through u-boot menu
                                      (Assuming board is running)

Usage: nebula [--core-opts] gen-config [other tasks here ...]

Docstring:
  Generate YAML configuration interactively 

Options:
  none

Usage: nebula [--core-opts] show-log [--options] [other tasks here ...]

Docstring:
  Show log for all following tasks 

Options:
  -l STRING, --level=STRING   Set log level. Default is DEBUG

Usage: nebula [--core-opts] update-config [--options] [other tasks here ...]

Docstring:
  Update or read field of existing yaml config file 

Options:
  -b STRING, --board-name=STRING
  -f STRING, --field=STRING          Field of section of yaml to update
  -s STRING, --section=STRING        Section of yaml to update
  -v STRING, --value=STRING          New field value. If none if given field is
                                     only printed
  -y STRING, --yamlfilename=STRING   Path to yaml config file. Default:
                                     OS_SPECIFIC

MANAGER

Usage: nebula [--core-opts] manager.update-boot-files [--options] [other tasks here ...]

Docstring:
  Update boot files through u-boot menu (Assuming board is running) 

Options:
  -b STRING, --bootbinpath=STRING           Path to BOOT.BIN.
  -d STRING, --devtreepath=STRING           Path to devicetree.
  -f STRING, --folder=STRING                Resource folder containing
                                            BOOT.BIN, kernel, device tree, and
                                            system_top.bit. Overrides other
                                            setting
  -o STRING, --board-name=STRING
  -s STRING, --system-top-bit-path=STRING
  -u STRING, --uimagepath=STRING            Path to kernel image.
  -y STRING, --yamlfilename=STRING          Path to yaml config file. Default:
                                            /etc/default/nebula

Usage: nebula [--core-opts] manager.update-boot-files-jtag [--options] [other tasks here ...]

Docstring:
  Update boot files through JTAG (Assuming board is running)

Options:
  -b STRING, --bootbinpath=STRING           Path to BOOT.BIN.
  -d STRING, --devtreepath=STRING           Path to devicetree.
  -f STRING, --folder=STRING                Resource folder containing BOOT.BIN, kernel, device tree, and system_top.bit. Overrides other setting
  -o STRING, --board-name=STRING            Name of DUT design (Ex: zynq-zc706-adv7511-fmcdaq2). Require for multi-device config files
  -s STRING, --system-top-bit-path=STRING   Path to system_top.bit
  -u STRING, --uimagepath=STRING            Path to kernel image.
  -y STRING, --yamlfilename=STRING          Path to yaml config file. Default: /etc/default/nebula
Usage: nebula [--core-opts] manager.recovery-device-manager [--options] [other tasks here ...]

Docstring:
  Recover device through many methods (Assuming board is running)

Options:
  -b STRING, --bootbinpath=STRING           Path to BOOT.BIN.
  -c         --sdcard                       No arguments required. If set, reference files is obtained from SD card.
  -d STRING, --devtreepath=STRING           Path to devicetree.
  -f STRING, --folder=STRING                Resource folder containing BOOT.BIN, kernel, device tree, and system_top.bit. Overrides other setting
  -o STRING, --board-name=STRING            
  -s STRING, --system-top-bit-path=STRING   Path to system_top.bit
  -u STRING, --uimagepath=STRING            Path to kernel image.
  -y STRING, --yamlfilename=STRING          Path to yaml config file. Default: /etc/default/nebula

UART

Usage: nebula [--core-opts] uart.get-carriername [--options] [other tasks here ...]

Docstring:
  Get Carrier (FPGA) name of DUT from UART connection 

Options:
  -a STRING, --address=STRING        UART device address (/dev/ttyACMO). If a
                                     yaml config exist, it will override, if no
                                     yaml file exists and no address provided
                                     auto is used
  -b STRING, --board-name=STRING
  -y STRING, --yamlfilename=STRING   Path to yaml config file. Default:
                                     /etc/default/nebula

Usage: nebula [--core-opts] uart.get-ip [--options] [other tasks here ...]

Docstring:
  Get IP of DUT from UART connection 

Options:
  -a STRING, --address=STRING        UART device address (/dev/ttyACMO). If a
                                     yaml config exist is will override, if no
                                     yaml file exists and no address provided
                                     auto is used
  -b STRING, --board-name=STRING
  -y STRING, --yamlfilename=STRING   Path to yaml config file. Default:
                                     /etc/default/nebula

Usage: nebula [--core-opts] uart.get-mezzanine [--options] [other tasks here ...]

Docstring:
  Get Mezzanine (FMC) name of DUT from UART connection 

Options:
  -a STRING, --address=STRING        UART device address (/dev/ttyACMO). If a
                                     yaml config exist, it will override, if no
                                     yaml file exists and no address provided
                                     auto is used
  -b STRING, --board-name=STRING
  -y STRING, --yamlfilename=STRING   Path to yaml config file. Default:
                                     /etc/default/nebula

Usage: nebula [--core-opts] uart.restart-board [--options] [other tasks here ...]

Docstring:
  Reboot DUT from UART connection assuming Linux is accessible

Options:
  -a STRING, --address=STRING        UART device address (/dev/ttyACMO). If a
                                     yaml config exist is will override, if no
                                     yaml file exists and no address provided
                                     auto is used
  -b STRING, --board-name=STRING
  -y STRING, --yamlfilename=STRING   Path to yaml config file. Default:
                                     /etc/default/nebula

Usage: nebula [--core-opts] uart.set-dhcp [--options] [other tasks here ...]

Docstring:
  Set board to use DHCP for networking from UART connection 

Options:
  -a STRING, --address=STRING        UART device address (/dev/ttyACMO). If a
                                     yaml config exist is will override, if no
                                     yaml file exists and no address provided
                                     auto is used
  -b STRING, --board-name=STRING
  -n STRING, --nic=STRING            Network interface name to set. Default is
                                     eth0
  -y STRING, --yamlfilename=STRING   Path to yaml config file. Default:
                                     /etc/default/nebula

Usage: nebula [--core-opts] uart.set-local-nic-ip-from-usbdev [--options] [other tasks here ...]

Docstring:
  Set IP of virtual NIC created from DUT based on found MAC 

Options:
  -a STRING, --address=STRING        UART device address (/dev/ttyACMO). If a
                                     yaml config exist it will override, if no
                                     yaml file exists and no address provided
                                     auto is used
  -b STRING, --board-name=STRING
  -y STRING, --yamlfilename=STRING   Path to yaml config file. Default:
                                     /etc/default/nebula

Usage: nebula [--core-opts] uart.set-static-ip [--options] [other tasks here ...]

Docstring:
  Set Static IP address of board of DUT from UART connection 

Options:
  -a STRING, --address=STRING        UART device address (/dev/ttyACMO). If a
                                     yaml config exist it will override, if no
                                     yaml file exists and no address provided
                                     auto is used
  -b STRING, --board-name=STRING
  -i STRING, --ip=STRING             IP Address to set NIC to
  -n STRING, --nic=STRING            Network interface name to set. Default is
                                     eth0
  -y STRING, --yamlfilename=STRING   Path to yaml config file. Default:
                                     /etc/default/nebula

Usage: nebula [--core-opts] uart.update-boot-files [--options] [other tasks here ...]

Docstring:
  Update boot files through u-boot menu (Assuming board is running) 

Options:
  -a STRING, --address=STRING                   UART device address
                                                (/dev/ttyACMO). If a yaml
                                                config exist is will override,
                                                if no yaml file exists and no
                                                address provided auto is used
  -b STRING, --board-name=STRING
  -d STRING, --devtreepath=STRING               Path to devicetree.
  -r, --reboot                                  Reboot board from linux console
                                                to get to u-boot menu. Defaut
                                                False
  -s STRING, --system-top-bit-filename=STRING
  -u STRING, --uimagepath=STRING                Path to kernel image.
  -y STRING, --yamlfilename=STRING              Path to yaml config file.
                                                Default: /etc/default/nebula

NETWORK

Usage: nebula [--core-opts] net.check-dmesg [--options] [other tasks here ...]

Docstring:
  Download and parse remote board's dmesg log
  Three log files will be produced:
      dmesg.log - Full dmesg
      dmesg_err.log - dmesg errors only
      dmesg_warn.log - dmesg warnings only

Options:
  -b STRING, --board-name=STRING
  -i STRING, --ip=STRING           IP address of board
  -p STRING, --password=STRING     Password for board. Default: analog
  -u STRING, --user=STRING         Board username. Default: root

Usage: nebula [--core-opts] net.restart-board [--options] [other tasks here ...]

Docstring:
  Reboot development system over IP 

Options:
  -b STRING, --board-name=STRING
  -i STRING, --ip=STRING           IP address of board
  -p STRING, --password=STRING     Password for board. Default: analog
  -u STRING, --user=STRING         Board username. Default: root

Usage: nebula [--core-opts] net.update-boot-files [--options] [other tasks here ...]

Docstring:
  Update boot files on SD Card over SSH 

Options:
  -b STRING, --bootbinpath=STRING   Path to BOOT.BIN. Optional
  -d STRING, --devtreepath=STRING   Path to devicetree. Optional
  -i STRING, --ip=STRING            IP address of board. Default from yaml
  -m STRING, --uimagepath=STRING    Path to kernel image. Optional
  -o STRING, --board-name=STRING
  -p STRING, --password=STRING      Password for board. Default: analog
  -u STRING, --user=STRING          Board username. Default: root

DOWNLOADER

Usage: nebula [--core-opts] dl.bootfiles [--options] [other tasks here ...]

Docstring:
  Download bootfiles for a specific development system 

Options:
  -a STRING, --board-name=STRING
  -b STRING, --branch=STRING         Name of branches to get related files. It can 
                                     be from Linux+HDL folders or from the 
                                     boot partition folder.
                                     For Linx+HDL, enterstring [<linuxbranch>, <hdlbranch>].
                                     For boot partition, enter [boot_partition, <bootpartitionbranch>]. 
                                     This is only used for http and artifactory sources.
                                     Default is [boot_partition, master]
  -f, --firmware                     No arguments required. If set Pluto
                                     firmware is downloaded from GitHub. Branch
                                     name is used as release name. Design name
                                     must be pluto or m2k
  -o STRING, --source-root=STRING    Location of source boot files. Dependent on source.
                                     For http and artifactory sources this is a IP or domain name (no http://)
  -s STRING, --source=STRING         Boot file download source. Options are:
                                     local_fs, http, artifactory, remote.
                                     Default: local_fs
  -y STRING, --yamlfilename=STRING   Path to yaml config file. Default:
                                     /etc/default/nebula

Usage: nebula [--core-opts] dl.sdcard [--options] [other tasks here ...]

Docstring:
  Download, verify, and decompress SD card image 

Options:
  -r STRING, --release=STRING   Name of release to download. Default is 2019_R1

PDU

Usage: nebula [--core-opts] pdu.power-cycle [--options] [other tasks here ...]

Docstring:
  Reboot board with PDU 

Options:
  -a STRING, --password=STRING       Password of PDU service (optional)
  -b STRING, --board-name=STRING
  -d STRING, --pduip=STRING          IP address of PDU (optional)
  -o STRING, --outlet=STRING         Outlet index of which dev board is
                                     connected
  -p STRING, --pdutype=STRING        Type of PDU used. Current options:
                                     cyberpower, vesync
  -u STRING, --username=STRING       Username of PDU service (optional)
  -y STRING, --yamlfilename=STRING   Path to yaml config file. Default:
                                     /etc/default/nebula

JTAG

Usage: nebula [--core-opts] jtag.reboot [--options] [other tasks here ...]

Docstring:
  Reboot board using JTAG


Options:
  -b STRING, --board_name=STRING
  -c STRING, --custom-vivado-path=STRING   Full path to vivado settings64 file. 
                                           When set ignores vivado version
  -v STRING, --vivado-version=STRING       Set vivado version. Defauts to 2019.1
  -y STRING, --yamlfilename=STRING         Path to yaml config file. Default:
                                           /etc/default/nebula

INFO

Usage: nebula [--core-opts] info.supported-boards [--options] [other tasks here ...]

Docstring:
  Print out list of supported design names


Options:
  -f STRING, --filter=STRING   Required substring in design names

DRIVER

Usage: nebula [--core-opts] driver.check-iio-devices [--options] [other tasks here ...]

Docstring:
  Verify all IIO drivers appear on system as expected.
  Exception is raised otherwise

Options:
  -b STRING, --board-name=STRING
  -i STRING, --iio-device-names=STRING   List of IIO driver names to check on board
  -u STRING, --uri=STRING                URI of board running iiod with drivers
                                         to check
  -y STRING, --yamlfilename=STRING       Path to yaml config file. Default:
                                         /etc/default/nebula