78 lines
3.2 KiB
Plaintext
78 lines
3.2 KiB
Plaintext
# SPDX-FileCopyrightText: no
|
|
# SPDX-License-Identifier: CC0-1.0
|
|
#
|
|
# Unpack a filesystem. Supported ways to "pack" the filesystem are:
|
|
# - erofs
|
|
# Enhanced Read-Only File System is a relatively new filesystem, introduced
|
|
# in 2019 with Linux 5.4, which is optimised for runtime performance. EROFS
|
|
# has compression options similar to that of SquashFS, however, in
|
|
# direct head to head comparison, as of 2025, the EROFS compression
|
|
# algorithms are not as performant; it takes longer to pack a filesystem and
|
|
# the compression size is not quite as good. EROFS is under active
|
|
# development.
|
|
# .
|
|
# Wikipedia: https://en.wikipedia.org/wiki/EROFS
|
|
# Upstream documentation: https://erofs.docs.kernel.org/en/latest/
|
|
# .
|
|
# erofs-utils contains mkfs.erofs, fsck.erofs and dump.erofs utilities
|
|
# which are required to pack, inspect and extract erofs files.
|
|
# - fsarchiver in *savedir/restdir* mode (directories, not block devices)
|
|
# - squashfs
|
|
# SquashFS is a compressed read-only file system for Linux that was
|
|
# introduced in 2002. It supports deduplication and has mature and
|
|
# performant compression algorithms.
|
|
# .
|
|
# Wikipedia: https://en.wikipedia.org/wiki/SquashFS
|
|
# Upstream documentation: https://github.com/plougher/squashfs-tools
|
|
# .
|
|
# squashfs-tools contains mksquashfs and unsquashfs utilities which are
|
|
# required to pack and extract squashfs files.
|
|
#
|
|
# Configuration:
|
|
#
|
|
# from globalstorage: rootMountPoint
|
|
# from job configuration: the item to unpack
|
|
#
|
|
|
|
---
|
|
# This module is configured a lot like the items in the *unpackfs*
|
|
# module, but with only **one** item. Use multiple instances for
|
|
# unpacking more than one filesystem.
|
|
#
|
|
# There are the following **mandatory** keys:
|
|
# - *source* path relative to the live / intstalling system to the image
|
|
# - *sourcefs* the type of the source files; valid entries are
|
|
# - `none` (this entry is ignored; kind of useless)
|
|
# - `erofs`
|
|
# - `fsarchiver`
|
|
# Aliases of this are `fsarchive`, `fsa` and `fsa-dir`. Uses
|
|
# fsarchiver in "restdir" mode.
|
|
# - `fsarchiver-block`
|
|
# Aliases of this are `fsa-block` and `fsa-fs`. Uses fsarchiver
|
|
# in "restfs" mode.
|
|
# - `squashfs`
|
|
# Aliases of this are `squash` and `unsquash`.
|
|
# - `tar`
|
|
# - *destination* path relative to rootMountPoint (so in the target
|
|
# system) where this filesystem is unpacked. It may be an
|
|
# empty string, which effectively is / (the root) of the target
|
|
# system.
|
|
#
|
|
#
|
|
# There are the following **optional** keys:
|
|
# - *condition* sets a dynamic condition on unpacking the item in
|
|
# this job. This may be true or false (constant) or name a globalstorage
|
|
# value. Use '.' to separate parts of a globalstorage name if it is nested.
|
|
# Remember to quote names.
|
|
#
|
|
# A condition is used in e.g. stacked squashfses, where the user can select
|
|
# a specific install type. The default value of *condition* is true.
|
|
|
|
unpack:
|
|
- source: "/data/rootfs.fsa"
|
|
sourcefs: "fsarchiver"
|
|
destination: "/"
|
|
- source: "/boot/vmlinuz-linux"
|
|
sourcefs: "file"
|
|
destination: "/boot/vmlinuz-linux"
|