summaryrefslogtreecommitdiffstats
path: root/src/core/archive.c
Commit message (Collapse)AuthorAgeFilesLines
* [image] Use image replacement when executing extracted imagesMichael Brown2025-05-201-2/+7
| | | | | | | | | | | | | | | Use image_replace() to transfer execution to the extracted image, rather than calling image_exec() directly. This allows the original archive image to be freed immediately if it was marked as an automatically freeable image (e.g. via "chain --autofree"). In particular, this ensures that in the case of an archive image containing another archive image (such as an EFI zboot kernel wrapper image containing a gzip-compressed kernel image), the intermediate extracted image will be freed as early as possible, since extracted images are always marked as automatically freeable. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [image] Split image_strip_suffix() out from image_extract()Michael Brown2024-08-291-5/+2Star
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [image] Propagate trust flag to extracted archive imagesMichael Brown2021-05-121-0/+4
| | | | | | | | An extracted image is wholly derived from the original archive image. If the original archive image has been verified and marked as trusted, then this trust logically extends to any image extracted from it. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [image] Allow single-member archive images to be executed transparentlyMichael Brown2021-05-121-0/+30
| | | | | | | | Provide image_extract_exec() as a helper method to allow single-member archive images (such as gzip compressed images) to be executed without an explicit "imgextract" step. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [image] Add "imgextract" command for extracting archive imagesMichael Brown2021-05-081-0/+104
Add the concept of extracting an image from an archive (which could be a single-file archive such as a gzip-compressed file), along with an "imgextract" command to expose this functionality to scripts. Signed-off-by: Michael Brown <mcb30@ipxe.org>