Important
Make sure you have read Adding new device types first.
Fastboot devices can be simple to integrate but fastboot deployment has several issues which can cause issues in automation.
See also
dev/bus/usb
. When fastboot is pushing files to one device, a
second fastboot process would not be able to connect to a different device
on the same worker. This is the second reason why LAVA uses :term`LXC` with
fastboot as LAVA can then ensure that the only device node(s) which show up
in /dev
inside the LXC are the nodes specifically related to a single
fastboot device.fastboot boot <boot img>
command, so
that the test image can be loaded directly into memory and executed.In addition, integrating fastboot devices has some limitations on how the test images are prepared.
The DUT should be roooted or unlocked wherever applicable (mostly phones,
tabs, etc.) fastboot oem unlock
or fastboot flash unlock
LAVA relies on ADB and fastboot
to control
an Android device. Support for ADB must be enabled in every image
running on the device or LAVA will lose the ability to access, reboot or deploy
to the device:
ro.secure=0
ro.debuggable=1
ro.adb.secure=0
persist.service.adb.enable=1
These settings enable USB debugging on the DUT and allow the DUT to trust the worker by default.
See also
fastboot sequence or fastboot boot sequence - This is provided as a list within the device dictionary and can take the following values, which are actions that will get added as sub actions to the boot action pipeline:
fastboot boot boot.img
where boot.img is supplied via the deploy actionfastboot reboot
which will reboot the DUT to the operating
system