1 # Unsquash / unpack a filesystem. Multiple sources are supported, and
2 # they may be squashed or plain filesystems.
6 # from globalstorage: rootMountPoint
7 # from job.configuration: the path to where to mount the source image(s)
8 # for copying an ordered list of unpack mappings for image file <->
9 # target dir relative to rootMountPoint.
12 # Each list item is unpacked, in order, to the target system.
14 # Each list item has the following **mandatory** attributes:
15 # - *source* path relative to the live / intstalling system to the image
16 # - *sourcefs* the type of the source files; valid entries are
17 # - `ext4` (copies the filesystem contents)
18 # - `squashfs` (unsquashes)
19 # - `file` (copies a file or directory)
20 # - (may be others if mount supports it)
21 # - *destination* path relative to rootMountPoint (so in the target
22 # system) where this filesystem is unpacked. It may be an
23 # empty string, which effectively is / (the root) of the target
26 # Each list item **optionally** can include the following attributes:
27 # - *exclude* is a list of values that is expanded into --exclude
28 # arguments for rsync (each entry in exclude gets its own --exclude).
29 # - *excludeFile* is a single file that is passed to rsync as an
30 # --exclude-file argument. This should be a full pathname
31 # inside the **host** filesystem.
35 # Usually you list a filesystem image to unpack; you can use
36 # squashfs or an ext4 image. An empty destination is equivalent to "/",
37 # the root of the target system. The destination directory must exist
38 # in the target system.
40 # - source: "/path/to/filesystem.sqfs"
41 # sourcefs: "squashfs"
44 # Multiple entries are unpacked in-order; if there is more than one
45 # item then only the first must exist beforehand -- it's ok to
46 # create directories with one unsquash and then to use those
47 # directories as a target from a second unsquash.
49 # - source: "/path/to/another/filesystem.img"
52 # - source: "/path/to/another/filesystem2.img"
54 # destination: "/usr/lib/extra"
56 # You can list filesystem source paths relative to the Calamares run
57 # directory, if you use -d (this is only useful for testing, though).
59 # - source: ./example.sqfs
63 # You can list individual files (copied one-by-one), or directories
64 # (the files inside this directory are copied directly to the destination,
65 # so no "dummycpp/" subdirectory is created in this example).
66 # Do note that the target directory must exist already (e.g. from
67 # extracting some other filesystem).
69 # - source: ../CHANGES
71 # destination: "/tmp/derp"
72 # - source: ../src/modules/dummycpp
74 # destination: "/tmp/derp"
76 # The *destination* and *source* are handed off to rsync, so the semantics
77 # of trailing slashes apply. In order to *rename* a file as it is
78 # copied, specify one single file (e.g. CHANGES) and a full pathname
79 # for its destination name, as in the example below.
82 # - source: ../CHANGES
84 # destination: "/tmp/changes.txt"
85 # - source: src/qml/calamares/slideshow
87 # destination: "/tmp/slideshow/"
88 # exclude: [ "*.qmlc", "qmldir" ]
89 # # excludeFile: /etc/calamares/modules/unpackfs/exclude-list.txt
92 - source: "/run/archiso/bootmnt/alter/x86_64/airootfs.sfs"
95 - source: "/run/archiso/bootmnt/alter/boot/x86_64/vmlinuz-linux-lts"
97 destination: "/boot/vmlinuz-linux-lts"