# Unsquash / unpack a filesystem. Multiple sources are supported, and # they may be squashed or plain filesystems. # # Configuration: # # from globalstorage: rootMountPoint # from job.configuration: the path to where to mount the source image(s) # for copying an ordered list of unpack mappings for image file <-> # target dir relative to rootMountPoint. --- # Each list item is unpacked, in order, to the target system. # # Each list item has the following attributes: # source: path relative to the live / intstalling system to the image # sourcefs: the type of the source files; valid entries are # - *ext4* (copies the filesystem contents) # - *squashfs* (unsquashes) # - *file* (copies a file or directory) # - (may be others if mount supports it) # 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. # # EXAMPLES # # Usually you list a filesystem image to unpack; you can use # squashfs or an ext4 image. # # - source: "/path/to/filesystem.sqfs" # sourcefs: "squashfs" # destination: "" # # Multiple entries are unpacked in-order # # - source: "/path/to/another/filesystem.img" # sourcefs: "ext4" # destination: "" # - source: "/path/to/another/filesystem2.img" # sourcefs: "ext4" # destination: "/usr/lib/extra" # # You can list filesystem source paths relative to the Calamares run # directory, if you use -d (this is only useful for testing, though). # # - source: ./example.sqfs # sourcefs: squashfs # destination: "" # # You can list individual files (copied one-by-one), or directories # (the files inside this directory are copied directly to the destination, # so no "dummycpp/" subdirectory is created in this example). # Do note that the target directory must exist already (e.g. from # extracting some other filesystem). # # - source: ../CHANGES # sourcefs: file # destination: "/tmp/derp" # - source: ../src/modules/dummycpp # sourcefs: file # destination: "/tmp/derp" # # The *destination* and *source* are handed off to rsync, so the semantics # of trailing slashes apply. In order to *rename* a file as it is # copied, specify one single file (e.g. CHANGES) and a full pathname # for its destination name, as in the example below. unpack: - source: ../CHANGES sourcefs: file destination: "/tmp/changes.txt"