Customizing the deployment and booting actions
by Ros Dos Santos, Alfonso (CT RDA DS EVO OPS DIA SE 1)
Hello everyone,
in our current project we have some devices that are not "directly"
supported by lava. I would like to ask for you opinion on which would be
the correct way to proceed.
The main problem is that our devices have a EFI implementation in the
firmware that is making the task of installing uboot very hard. To avoid
this, we thought about serving the image through an "emulated" usb
stick. On that regard, we made some progress by setting up a secondary
device that would use the linux g_mass_storage module to serve the image
through the USB otg port.
Our setup is then:
1) The actual testing device
2) The secondary device which only serves the image with g_mass_storage
3) The host machine running the lava-slave application.
We thought that we could add a new device-type template to the lava
server that would somehow override the deployment and boot actions to
address our setup. We tried to look into the base.jinja2 file for some
sort of entry point that would allow us to, for example, run a script
that would first send the image to the secondary device and secondly run
the g_mass_storage module with the image file.
Unfortunately, it is still not clear for us how exactly we could
inject/override those steps and ignore for instance the boot loader
commands.
The first question would be, are we going in the right direction? Is
there any piece of documentation that would describe a similar problem?
What would be your recommendations on this topic?
thanks a lot in advance.
Best,
Alfonso