[archiso] Allow persistent cow dm-snapshots.

Add some options to control where all COW files will be located.
Until this moment all files are located in a tmpfs filesystem.
Now is posible to set a device via a filesystem label or device node
plus a directory, where all these files will be stored.
All dm-snapshot devices will be persistent by default,
but this can be changed if wanted.

Take care, a filesystem that does not support sparse files maybe
is not the best choice for COW files, because they are created with
the same size (is apparent) like the read-only device (the image.fs inside .sfs).
Of course sooner or later, depending on use, these files actually end up
being as big as the read-only device.

KNOW-ISSUE: On shutdown in step "Unmounting Filesystems" will [FAIL],
    all filesystem except $cow_device, will be unmounted/remounted-ro.
    For this reason this change needs an archiso_shutdown hook, thats
    unmount all block devices used by archiso. (Work in progress)

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
This commit is contained in:
Gerardo Exequiel Pozzi 2011-10-23 21:24:17 -03:00
parent 91e11c30f4
commit e2055835fd
2 changed files with 58 additions and 11 deletions

10
README
View file

@ -35,6 +35,16 @@ INDEX
performs a self-test of all files inside ${install_dir},
and continue booting if ok.
Default: (unset)
* cow_label= Set the filesystem label where COW (dm-snapshot)
files must be stored.
Default: (unset)
* cow_device= Set the device node where COW (dm-snapshot) files
must be stored.
Default: (unset) or "/dev/disk/by-label/${cow_label}"
* cow_directory= Set a directory inside ${cow_device}.
Default: "/persistent_${archisolabel}/${arch}"
* cow_persistent= Set if snapshots are persistent "P" or non-persistent "N".
Default: "N" (if no ${cow_device} is used) otherwise "P".
* cowspace_size= Set the size of tmpfs /cowspace. This space is used for
Copy-On-Write files of dm-snapshot.
(directory not visible outside initramfs)