I forgot mentioning that we use LAVA 2017.10-1.

 

From: Lava-users [mailto:lava-users-bounces@lists.linaro.org] On Behalf Of Dragos Iorgulescu
Sent: Monday, December 18, 2017 12:47 PM
To: lava-users@lists.linaro.org
Subject: [Lava-users] Unpacking tar.bz2 root filesystems seems to malfunction

 

Hi all!

 

I am working with some Raspberry Pi boards and, while defining some particularities for booting via NFS, I came across an issue regarding the way the rootfs file is unpacked.

To be more specific, after looking through the LAVA code, it seems that the untar_file() method runs on the conditional branch that states the tar members are specified. I do not understand how this implementation is designed in regards to tar archive manipulation, but the following scenario takes place:

 

 

While investigating, I noticed that the untarf_file() method is invoked from download.py (/usr/lib/python2.7/dist-packages/lava_dispatcher/pipeline/actions/deploy/) - @ line 344 – with members being specified. I know that, because when I manually changed how this call is made and clearly specified “None” for the “member” positional argument, I get the following error at job runtime: https://paste.debian.net/1001252/ (the full job log can be found here: https://paste.debian.net/1001253/ )

 

The code changes I am talking about (and the code where I suspect something is ambiguous) are pointed out here:  https://paste.debian.net/1001256/ .

A job definition we use for this board integration can be analyzed here: https://paste.debian.net/1001257/

 

The full log of the initial job, that ran without my code changes, can be found here: https://paste.debian.net/1001254/ . The „kernel panic” message ocurs because, as stated in one of the errors, the “init” folder is missing, which is accurate, because only bin & dev are extracted from our rootfs tar.bz2 archive.

 

What could we do? Is this something that needs to be adjusted/fixed in LAVA?

 

Kind regards,

Dragoș