NBD (Network Block Device)¶
The nbd deployment method is used to support NBD root deployments. Files are
downloaded to a temporary directory on the worker. The rootfs is shared through
xnbd-server and the filenames are substituted into the
bootloader commands specified in the device
configuration or overridden in the job definition.
- deploy:
to: nbd
kernel:
url: http://example.com/vmlinuz
type: zimage
initrd:
url: http://example.com/initramfs.ext4.gz.u-boot
nbdroot:
url: http://example.com/rootfs.ext4.xz
compression: xz
dtb:
url: http://example.com/dtb.dtb
kernel¶
Required. The kernel to boot on the device.
type¶
Specifies the type of kernel being downloaded. Supported types:
imageuimagezimage
initrd¶
The initrd contains all necessary files, daemons and scripts to bring-up the
nbd-client and pivot_root to the final rootfs.
Note
The nbdroot filesystem will not be modified prior to the boot. Since the
filesystems are using security labels and the modification would alternate
the FS. So the LAVA overlay needs to be transferred
after the boot with transfer_overlay.
nbdroot¶
The root filesystem image shared over xnbd-server.
url¶
See url
compression¶
The NBD filesystem image is unpacked into a temporary directory on the LAVA worker in a location supported by the NBD server.
The compression method must be specified if the file is compressed. See compression.
dtb¶
Optional Device Tree Blob.
modules¶
Modules are not supported in the NBD deployment method. Modules must be part of the filesystem already.
Example job¶
# NBD root deployment
job_name: standard Debian ARMMP nbd test on bbb
device_type: beaglebone-black
priority: medium
visibility: public
timeouts:
job:
minutes: 10
action:
minutes: 5
connection:
minutes: 2
actions:
# NBD_DEPLOY_BLOCK
- deploy:
timeout:
minutes: 5
to: nbd
kernel:
url: http://example.com/vmlinuz
type: zimage
initrd:
url: http://example.com/initramfs.ext4.gz.u-boot
nbdroot:
url: http://example.com/rootfs.ext4.xz
compression: xz
dtb:
url: http://example.com/dtb.dtb
# NBD_BOOT_BLOCK
- boot:
method: u-boot
commands: nbd
auto_login:
login_prompt: 'login:'
username: root
prompts:
- 'root@jessie:'
timeout:
minutes: 5
- test:
definitions:
- repository: https://github.com/Linaro/test-definitions
from: git
path: automated/linux/smoke/smoke.yaml
name: smoke-tests
timeout:
minutes: 5