Configuration

Main configuration is done through a main YAML file. If sections are not filled out they will be not set at run-time unless set on the command-line. Not setting certain parameters may limit functionality since some interfaces are required in certain board failure modes. Below is a complete example with documentation for each setting.

### Main external resources
system-config:
  - tftpserverip: 192.168.10.1 # TFTP server IP address
  - tftpserverroot: /tftpboot # Directory of TFTP share on server
### Local hardware settings
board-config:
  - board-name: zynq-zc706-adv7511-fmcdaq2
  - monitoring-interface: uart # Console monitoring type. Options: uart, netconsole
  - allow-jtag: False
### Downloader Settings
downloader-config:
  - reference_boot_folder: zynq-zc706-adv7511-fmcdaq2 # Location of bootfiles
  - hdl_folder: daq2_zc706
### Driver Settings
driver-config:
  - iio_device_names:
    - ad7291
    - ad9523-1
    - axi-ad9680-hpc
    - axi-ad9144-hpc
### UART settings
uart-config:
  - address: /dev/ttyUSB0 # File descriptor for UART console (auto will try to find, but linux only)
  - baudrate: 115200 # UART baudrate in bits per second
  - logfilename: zc706-daq2.log # Filename for logging output of console
### Network/Ethernet settings
network-config:
  - dutip: 192.168.10.2 # IP address of development board
### Power distribution unit settings
pdu-config:
  - pduip: 192.168.86.35 # IP address of power distribution unit
  - outlet: 1 # Outlet number of development board
  - pdu_type: cyberpower # PDU device type. Options: cyberpower, vesync

Each section of the yaml file applies to specific classes of nebula, and follow the convention <classname>-config, except for system. Therefore, you can modify any class property during initialization through the yaml file. For example if you wanted to change the bootargs setting, which is the kernel bootargs set over UART, you would have the following in your yaml:

uart-config:
  - bootargs: console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlycon rootfstype=ext4 rootwait

If settings exist in the yaml file within a -config block that does not has an existing property, this will cause an exception. This is designed to avoid defining settings which do not change behavior.

Generation

If you use the CLI interface through the nebula gen-config command to interactively generate this yaml file.