Description
After a long pause in using Yocto (with updated system), I have re-entered recently - and encountered problems with the current standard packing of the root file image in zst-format. Let me explain how I, used to use uuu uuu.auto
, ran into trouble.
Yet, according to a recommendation, I am using uuu -b emmc_all
, because the (experienced) one who recommended this told me that since some time uuu uuu.auto
does no longer do a correct job. But before doing so, did experiments.
Long story short: In the current 1.5.x-version, the minimum version indication of the built-in script shows as 1.4.149. The internal script generator should be updated, in that it shows
uuu_version 1.4.213
. It is also suggested to let unpack also when the root file image has a.zst
suffix, regardless whether followed by/*
or not.
Additional information
In documentation to uuu -b emmc_all
with .wic.zst-file, an extra suffix /*
is notified. I knew that before starting the experiments, but because of an Error: fail open file: >core-image-minimal.rootfs.wic.zst/*
, I thought that this /*
was a typo error. Why should a path extension with wildcard be correct here? So I removed that /*
. And it seemed to work (well, the target u-booted, but didn't start the kernel, but u-boot had primary focus).
I then used the uuu
shell output part showing the built-in script when the -b emmc_all
command option is selected to create a (hopefully correct) uuu.auto
file and then invoke simply uuu uuu.auto
to see if it works (using uuu v1.4.193 from ubuntu 22.04 packages repository). In both cases, the packed root file system is written into emmc. Not even a warning is shown when the file ends with .zst-suffix (formerly, with suffix wic.bz2
, this seemed to unpack correctly). The result was the same as before, using my "own" uuu.auto.
After investigation I found that zst-unpacking is added to uuu
as of v.1.4.213, SHA-id 36ceb0d). So I downloaded uuu
as plain executable.
In both pre-zst version (v1.4.193) and the current 1.5.x-version, the minimum version indication of the built-in script shows as 1.4.149. This may be true for the former case, but not for the latter case.
This means: running (uuu v1.4.193) results in writing the packed version of the root file system as noted above.
In the case of using uuu 1.5.x, the result is correct, due to the fact that the -b command generates the script with an additional /*
appended to the .wic.zst
file suffix, and is - used in uuu.auto - also correct.
Important: Only after I created an uuu.auto
based on the -b built-in script that contains uuu_version 1.4.213
I recognized that not the '/*' is the problem, but the uuu-version. My former uuu-version then reports Error: This version of uuu is too old, please download the latest one
.