| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
OSTree does not allow concurrent access to the repository. If
two bitbake instances use the same OSTree repository, then they
might access it simultanously. The lockfile to prevent such
simultaneous access should really be in the same location where
the OSTree repository is stored.
Revert back to the location inside the OSTree repository.
Fixes: e97975d6113c ("image_types_ostree/ota.bbclass: refactor ostree task")
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
|
|
|
|
|
|
| |
Curly braces are necessary around bitbake variables
Signed-off-by: Anton Gerasimov <anton.gerasimov@here.com>
|
|
|
|
|
|
|
| |
Move the dependency do_image_wic -> do_image_ota_ext4 from sota.bbclass
to image_types_ota.bbclass, since it's a image specific dependency.
Signed-off-by: Ming Liu <liu.ming50@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are several flaws with ostree tasks, as follows:
- ${IMAGE_NAME}.rootfs.ostree.tar.bz2 is generated, but it's not being
used during ostree commit, so it should be removed if it's just a
intermittent artifact. Or if we intend to deploy this tar.bz2 file,
it should be tracked by sstate cache, that is to day, it should be
generated in ${IMGDEPLOYDIR} rather than in ${DEPLOY_DIR_IMAGE}.
- There are quite a few redundant code like mktemp/cd/rm a directory,
which can be replaced by setting 'dirs', 'cleandirs' varflags.
- There are some redundant variable check logic in image_types_ostree
and image_types_ota bbclass.
To fix the above, we make the following changes:
- Introduce a new conversion image type 'tar', it could convert ostree
and ota to ostree.tar, ota.tar, hence we can drop the code generating
ostree.tar.bz2 in image_types_ostree.bbclass, and also drop the
do_image_ota-tar task. To let this conversion type take effect, the
otasetup task needs to be changed to ota.
- Introduce BUILD_OSTREE_TARBALL variable, when being set to 1, a
ostree.tar.bz2 tarball would be built, BUILD_OSTREE_TARBALL defaults
to be 1, to be consistent with original behavior.
- Replace 'ota-tar ota-tar.xz' with ota.tar.xz in IMAGE_FSTYPES.
- Add a sanity check bbclass sota_sanity.bbclass, to ensure ostree or
ota is not in OVERRIDES, this is to prevent potential naming
pollution with other meta layers, and also check the required
variables are not empty. This sota_sanity.bbclass is a common class
that could be extended easily in furture, and one of its most
advantages is that all the check are done in bb.event.SanityCheck
event handler, so the end users could get the error message at very
beginning of the recipe parsing time.
Signed-off-by: Ming Liu <liu.ming50@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
There are quite a few 'export' syntax, they are either not necessary or
being redundant. Actually only the variables being referred in ostree
or aktualizr need to be exported, we can move them into sota.bbclass so
they can be exported once only for all other classes referring to them.
And drop all other unnecessary exports.
Signed-off-by: Ming Liu <liu.ming50@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- unzip-native:do_populate_sysroot should be depended by
do_image_garagesign task instead of by do_image_ostree task.
- openssl-native:do_populate_sysroot can be removed since it's being
depended by aktualizr-native already.
- do_image_garagesign and do_image_garagecheck does not have to depend
on aktualizr-native:do_populate_sysroot, that dependency is being
added by do_image_ostreepush -> aktualizr-native:do_populate_sysroot.
- drop ostreepush dependency from IMAGE_TYPEDEP_garagecheck, that is
redundant.
Signed-off-by: Ming Liu <liu.ming50@gmail.com>
|
|
|
|
|
|
|
|
|
| |
When calling bbfatal, it reports error message and exit 1, it should be
used to replace of 'bberror && exit 1' to avoid being redundant.
Also fixed some incorrect bberror usages and typos.
Signed-off-by: Ming Liu <liu.ming50@gmail.com>
|
|
|
|
| |
Signed-off-by: Serhiy Stetskovych <patriotyk@gmail.com>
|
|\
| |
| | |
Fix function name conflict
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
buildinfo function name is used in poky:
meta/classes/image-buildinfo.bbclass
Both classes could not be used together
Signed-off-by: Alexandre Bard <alexandre.bard@netmodule.com>
|
|/
|
|
|
|
|
|
| |
Use /etc/sota/ecus as using /var/sota/ecus was conflicting with the
provisioning recipes that also use /var/sota. Not totally ideal, but the
best compromise I could find.
Signed-off-by: Patrick Vacek <patrickvacek@gmail.com>
|
|\
| |
| | |
classes: image_types_ostree: use locking during OSTree repo update
|
| |
| |
| |
| |
| |
| |
| |
| | |
The OSTree repository might be shared accross several individual
OSTree builders. Use bitbakes lockfiles mechanism to lock the
OSTree for exclusive use.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently we assume if the OSTree repo exists, that there is a
OSTree repo in it. This does not need to be true in general, and
when using lockfiles bitbake will create the directory before
the do_image_ostree task is executed the first time.
Use ostree refs to detect whether the target directory contains a
OSTree repo.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
|
| | |
|
|/ |
|
|\
| |
| | |
Use IMGDEPLOYDIR
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Do not write directly to the IMAGE_DEPLOY_DIR but to the new
deploy directory IMGDEPLOYDIR.
Also change the image ending to match the image type name (from
otaimg to ota-ext4). This allows to use the automatic symlinking
and output artefact management too.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Do not write directly to the IMAGE_DEPLOY_DIR but to the new
deploy directory IMGDEPLOYDIR. This allows to use the automatic
symlinking too.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
|
|\ \
| |/
|/| |
Extend ostree support
|
| |
| |
| |
| |
| |
| |
| | |
Use OSTREE_UPDATE_SUMMARY to automatically update summary after committing
to ostree repo
Signed-off-by: Luka Pivk <luka.pivk@toradex.com>
|
| |
| |
| |
| |
| |
| |
| | |
Use OSTREE_COMMIT_BODY write custom text to ostree body
Use OSTREE_COMMIT_SUBJECT to write custom subject
Signed-off-by: Luka Pivk <luka.pivk@toradex.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Almost all code in create_ota is either tar or ext4 specific. Move
the code directly into the respective IMAGE_CMD_ functions. This
gets rid of unnecessary work for the tar image and simplifies code.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
|
|/
|
|
|
|
|
| |
OpenEmbedded makes sure that IMAGE_CMD_type gets only called if the
type is in IMAGE_FSTYPE. There is no need to explicitly check for it.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
|
|
|
|
| |
should be provisioned
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
From poky master
This fixes image builds but does not boot yet...
|
|
|
|
|
|
|
| |
Without this the build fails because the initramfs hasn't been build
before do_image_ostree. There should be a dependency through
virtual/kernel:do_deploy, but there is clearly some reason why this
isn't enough.
|
|
|
|
| |
Signed-off-by: Yevgeny Popovych <yevgenyp@pointgrab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The reasoning here is to allow initramfs generated by this recipe
to be included in FIT.
To do so w/o changing openembedded-core (it allows only cpio format) -
init script should be able to execute from a rootfs (i.e. true initramfs),
not ramdisk (initrd).
See [1] for more information on these keywords.
The gist of this change is switch from `pivot_root` to `switch_root`.
This also allows to get rid of some clutter, since `switch_root` handles
transition to new sysroot all by itself.
Again, see [1] for details on these utility/syscall.
[1] https://www.kernel.org/doc/Documentation/filesystems/ramfs-rootfs-initramfs.txt
Signed-off-by: Yevgeny Popovych <yevgenyp@pointgrab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The issue is that when only vmlinuz-* file is present
(the case when both DTB and initramfs are in FIT),
libostree will assume that there is no initramfs at all and will supply
different init= parameter on the kernel command line
(aimed to boot directly from sysroot).
This effectively breaks boot process as init specified
on the kernel cmdline is not present in initramfs.
Solution is to basically create an empty initramfs-* file
when we use FIT.
The proper solution would be to make libostree aware of whether
we use FIT or not.
Note, to actually boot with initramfs in FIT - a change to u-boot
script (env) is needed which will remove explicit usage of initramfs.
Signed-off-by: Yevgeny Popovych <yevgenyp@pointgrab.com>
|
|
|
|
|
|
|
|
| |
This will reduce the level of indirection and improve compatibility
with the rest of OE.
For example, FIT that includes initramfs may now be built.
Signed-off-by: Yevgeny Popovych <yevgenyp@pointgrab.com>
|
| |
|
| |
|
|\
| |
| | |
image_types_ostree: no need to create boot/loader folders when creating ostree repo
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
ostree repo
The boot/loader folders are only required at the deploy stage, which is
already created by image_types_ota.bbclass.
Signed-off-by: Ricardo Salveti <ricardo@opensourcefoundries.com>
|
| | |
|
|/
|
|
|
|
|
| |
Make garage-push logs more useful in case of errors when pushing to the
OTA+ server.
Signed-off-by: Ricardo Salveti <ricardo@opensourcefoundries.com>
|
| |
|
|
|
|
| |
See https://github.com/advancedtelematic/meta-updater-minnowboard/pull/6
|
|
|
|
| |
It needs a plain compressed file system and not an u-boot legacy image
|
|
|
|
|
|
|
| |
Make sure to use the custom target version when creating
installed_versions if defined by the user.
Signed-off-by: Ricardo Salveti <ricardo@opensourcefoundries.com>
|
|
|
|
|
|
|
| |
/boot/grub2/grub.cfg should reflect the grub.cfg used by the boot process
instead of being an empty file.
Signed-off-by: Ricardo Salveti <ricardo@opensourcefoundries.com>
|
|
|
|
|
|
|
|
|
|
| |
User is able to customize the init script via OSTREE_INITRAMFS_IMAGE but
there is no way to set INITRAMFS_FSTYPES as it gets defined by
sota.bbclass. Create a new variable called OSTREE_INITRAMFS_IMAGE to
handle the INITRAMFS_FSTYPES update, and also allow the user to override
it.
Signed-off-by: Ricardo Salveti <ricardo@opensourcefoundries.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
RAMDISK_EXT and IMAGE_FSTYPES of initramfs-ostree-image should not be
defined separately, because they are representing the same fstype of
a same initramfs image, or else, they turn out to be inconsistent if
the users change one of them.
So we use INITRAMFS_FSTYPES already defined in bitbake.conf, to be able
to set fstype for initramfs. And it should default to ext4.gz.u-boot or
ext4.gz depending on what OSTREE_BOOTLOADER is being set.
Signed-off-by: Ming Liu <liu.ming50@gmail.com>
|
|
|
|
|
|
|
|
| |
It can not determine the init manager is systemd by checking if
DISTRO_FEATURES contains 'systemd', change it to check
VIRTUAL-RUNTIME_init_manager instead.
Signed-off-by: Ming Liu <liu.ming50@gmail.com>
|
|
|
|
|
|
| |
Avoid exposing the sign repo after the build is completed.
Signed-off-by: Ricardo Salveti <ricardo@opensourcefoundries.com>
|
|
|
|
|
|
|
| |
Both values can be defined by the user, allowing a custom version id and
URL, which is specially useful for CI builds.
Signed-off-by: Ricardo Salveti <ricardo@opensourcefoundries.com>
|