Bootware Additional Info


Bootware File Structure Overview:

Brief description of Bootware files that complete the Bootware process.

Location: /boot

Critical Files:

Filename: config.txt

Description: RPi Configuration File

Critical Lines:

dtoverlay=dwc2,dr_mode=host
kernel=u-boot.bin
enable_uart=1

Filename: u-boot.bin

Description: U-Boot Bootloader

Functions: Loads and executes boot script


Filename: boot.scr

Description: U-Boot Boot Script

Functions:

  • Generates U-Boot Environment
  • Updates U-Boot Environment
  • Loads and Boots Kernel

Filename: zboot.enc

Description: zboot (Bootware zboot Module)

Functions:

  • Initialize Bootware
  • Perform Update
  • Perform Rollback
  • Perform Recovery

Filename: zb_config.enc

Description: zboot Configuration File - Generated by zb-wizard


Filename: uboot.env

Description: u-Boot Environment


Filename: kernel8.enc

Description: Bullseye 64 (Encrypted Kernel) - Generated by zboot

Non-Critical Files:

Filename: zboot.log

Description: zboot Log File


zbconfig

zb-wizard internally uses the zbconfig tool to configure the device environment. Developers may directly use the zbconfig CLI interface instead of the zb-wizard GUI to configure their device environment.

zbconfig simply reads and writes values to an encrypted JSON file (/boot/zb_config.enc) that bootware uses to apply updates. The values that can be configured are listed below:

ValueTypeDescription
one_root_fsBooleanTrue will facilitate A only filesystems, while false enables A/B filesystems.
resize_aBooleanIf one_root_fs is true, this parameter is checked for resizing A only filesystems.
true - full disk
false - half disk
update_modeStringThis parameter is only checked for A/B filesystems. Set the policy for the updates:
UPDATE_ACTIVE
UPDATE_BACKUP
UPDATE_BOTH
update_endpointStringThe endpoint where new images are pulled from.
Example https URL: https://zk-sw-repo.s3.amazonaws.com/ota_preview/base_ota.zi
Example USB stick: /dev/sda1
endpoint_typeStringThe type of endpoint for the update_endpoint param. Value must be all uppercase.
HTTPS
USB
update_nameStringThe name of the .zi image that will be used for the update. If the name of the new update is base_ota.zi, this parameter needs to be named “base_ota