Line 11: |
Line 11: |
| See my comments in this mailing list post, | | See my comments in this mailing list post, |
| http://www.mail-archive.com/livecd@lists.fedoraproject.org/msg01506.html | | http://www.mail-archive.com/livecd@lists.fedoraproject.org/msg01506.html |
| + | |
| + | It includes several new options for adjusting the image filesystem size as well as home.img and overlay file sizes. Expand the [[#editliveos.py --help]] listing below. |
| | | |
| It includes editliveos.py, liveimage-mount, and temporary versions of fs.py, live.py, creator.py, util.py (pending incremental patches for livecd-tools acceptance). The livecd-iso-to-disk version is not up-to-date with all the recent changes and improvements. | | It includes editliveos.py, liveimage-mount, and temporary versions of fs.py, live.py, creator.py, util.py (pending incremental patches for livecd-tools acceptance). The livecd-iso-to-disk version is not up-to-date with all the recent changes and improvements. |
Line 169: |
Line 171: |
| ** ''livecd-iso-to-disk'' uses the --home-size-mb NNN options to specify the home.img installation. | | ** ''livecd-iso-to-disk'' uses the --home-size-mb NNN options to specify the home.img installation. |
| * With edit-liveos (disk-to-iso), a nearly-consumed overlay can be refreshed by rebuilding the system into a new, SquashFS image that re[[wikipedia:Sparse_file|sparse]]s the system files and repackages them into an iso installation file for reuse or distribution. | | * With edit-liveos (disk-to-iso), a nearly-consumed overlay can be refreshed by rebuilding the system into a new, SquashFS image that re[[wikipedia:Sparse_file|sparse]]s the system files and repackages them into an iso installation file for reuse or distribution. |
| + | ====editliveos.help==== |
| + | Below is the output of editliveos --help in a working version from 17 June 2012. |
| + | {{Show|'''editliveos.py --help'''|<pre>Usage: |
| + | editliveos.py: [options] <LiveOS_source> |
| + | |
| + | Edit a LiveOS image to insert files or to clone a customized |
| + | instance, rebuild the image into a new, .iso image installation |
| + | file, and refresh the source's persistent filesystem overlay. |
| + | |
| + | options: [-n, --name <name>] |
| + | [-o, --output <output directory>] |
| + | [-k, --kickstart <kickstart-file>] |
| + | [-S, --force-SELinux] |
| + | [-s, --script <script.sh>] |
| + | [-N, --noshell] |
| + | [-t, --tmpdir <tmpdir>] |
| + | [-y, --yumcache <cachedir>] |
| + | [-e, --exclude <exclude, s>] |
| + | [-i, --include <include, s>] |
| + | [-u, --seclude <seclude, s>] |
| + | [-r, --releasefile <releasefile, s>] |
| + | [-b, --builder <builder>] |
| + | [--clone] |
| + | [--refresh-only] |
| + | [--skip-refresh] |
| + | [-c, --compress-type <compression type>] |
| + | [--compress] |
| + | [--skip-compression] |
| + | [--refresh-uncompressed] |
| + | [--skip-minimize] |
| + | [--skip-reboot] |
| + | [--expand-image-gb [+[<size>]] |
| + | [--shift-home-mb [+|-]<size>] |
| + | [--adjust-overlay-mb [+|-]<size>] |
| + | [-a, --extra-kernel-args <arg s>] |
| + | [--extra-space-mb <size>] |
| + | |
| + | USAGE HELP editliveos.py --help |
| + | |
| + | LiveOS_source must be entered as "live" to edit or clone the |
| + | currently running LiveOS image. An attached LiveOS installed |
| + | device may be edited or cloned through its node id, such as |
| + | /dev/sdd1, or, if it is mounted, through its mount point path. |
| + | An .iso image file is addressed through its pathname, such as |
| + | /path/to/build.iso, or, if mounted, through the mount point |
| + | directory path. A mounted Live CD-ROM image is addressed through |
| + | its device node, such as /dev/sr0. Even a directory containing a |
| + | LiveOS and iso/syslinux folders with the appropriate files can be |
| + | edited or cloned through that parent directory path. |
| + | |
| + | The --clone option copies the home.img or persistent home folder |
| + | to the new build .iso file, allowing user customizations to be |
| + | replicated. A new version of livecd-iso-to-disk with the |
| + | --copy-home installation option may be used to propagate clones. |
| + | |
| + | By default, other files and folders in the source device's outer |
| + | file system are included in the new build. Options are provided |
| + | to --include, --exclude, and --seclude files or folders for the |
| + | new build. The new builds are branded to distinguish them with |
| + | the --name, --builder, and --releasefile options. |
| + | |
| + | Space requirements for stageing the build files are estimated by |
| + | the script and compared to the space available in a -t <TMPDIR> |
| + | option. |
| + | |
| + | Invoke the --help option to learn about other optional features. |
| + | |
| + | |
| + | Options: |
| + | -h, --help show this help message and exit |
| + | -n NAME, --name=NAME Name for the new LiveOS image (don't include .iso, it |
| + | will be added.) Unless the name is prefixed with a |
| + | colon, :, the build will be branded with a date- |
| + | builder-Remix-releasename string, and the .iso will be |
| + | named as NAME-arch-Ymd.HM |
| + | -o OUTPUT, --output=OUTPUT |
| + | Specify directory location for the new .iso file. |
| + | -k KSCFG, --kickstart=KSCFG |
| + | Path or URL to kickstart config file. |
| + | -S, --force-SELinux Force setting SELinux attributes on install root. |
| + | -s SCRIPT, --script=SCRIPT |
| + | Specify a script to run chrooted in the LiveOS |
| + | filesystem hierarchy. |
| + | -N, --noshell Specify no breaking to shell after edit. |
| + | -t TMPDIR, --tmpdir=TMPDIR |
| + | Temporary directory to use for staging the build. |
| + | (default: /var/tmp) |
| + | -y CACHEDIR, --yumcache=CACHEDIR |
| + | Directory to use for for the yum cache. default: None |
| + | (A temporary filesystem cache will be used.) |
| + | -e EXCLUDES, --exclude=EXCLUDES |
| + | A string of filename patterns to exclude from the copy |
| + | of the outer device filesystem. See _copy_src_root(). |
| + | Denote multiple patterns as "pattern1, pattern2, ...". |
| + | To exclude all device content except for the |
| + | iso/syslinux and LiveOS directories, enter "all". |
| + | -i INCLUDES, --include=INCLUDES |
| + | A string of file or directory paths to copy to the |
| + | .iso file in _copy_src_root(). Denote multiple files |
| + | as "path1, path2, ..." (The paths are referenced |
| + | relative to the source mount directory, either |
| + | /mnt/live/ or /run/initramfs/live for the running |
| + | LiveOS, or /TMPDIR/editliveos-<random>/<srcmnt>/ for |
| + | an attached or .iso file. So ../../../<mount |
| + | point>/INCLUDE or ../../../../<mount point>/INCLUDE |
| + | may be used, respectively, to include files from other |
| + | branches of the active hierarchy.) |
| + | -u SECLUDES, --seclude=SECLUDES |
| + | A string of file or directory paths in the LiveOS |
| + | filesystem to seclude from the final build |
| + | configuration. The user directory may be denoted with |
| + | ~/. Denote multiple files as "path1, path2, ..." |
| + | -r RELEASEFILE, --releasefile=RELEASEFILE |
| + | Specify release file/s for branding. Denote multiple |
| + | files as "path1, path2, ..." |
| + | -b BUILDER, --builder=BUILDER |
| + | Specify the builder of a Remix. |
| + | --clone Specify copying of the home.img filesystem or the |
| + | /home folder contents to the new .iso file. |
| + | --expand-image-gb=EXPAND_IMAGE_SIZE |
| + | Specifies a new size of NN GiB for the image (or |
| + | changing the size by a difference of +NN GiB, if a + |
| + | sign is prefixed). This is useful when a larger image |
| + | is needed for a script, or during package updates in |
| + | the chroot shell. |
| + | --shift-home-mb=SHIFT_HOME_MB |
| + | Specify copying of the /home folder contents into a |
| + | home.img filesystem of size NN MiB, or changing the |
| + | size of an existing home.img filesystem to NN MiB (or |
| + | by a difference of +NN or -NN MiB, if a sign is |
| + | prefixed). If NN = 0 (or nets to <= 0), the home.img |
| + | filesystem contents will be shifted to the the /home |
| + | folder, which is normally compressed; however, it |
| + | subsequently will not have access to the --encrypted- |
| + | home installation option of livecd-iso-to-disk. If |
| + | the selected or calculated size is insufficient for |
| + | the current home contents, the edit will be to a size |
| + | 10% larger than the current home size. |
| + | --adjust-overlay-mb=ADJUST_OVERLAY_MB |
| + | Specifies a new size of NN MiB for the overlay (or |
| + | changing the size by a difference of +NN or -NN MiB, |
| + | if a sign is prefixed). If NN = 0 (or nets to <= 0), |
| + | no change will be made. |
| + | --refresh-only Specify replacing the squashfs.img or ext3fs.img of |
| + | the source LiveOS installation instance with such |
| + | files from the new build, and resetting any overlay. |
| + | No new .iso installation file will be produced. |
| + | --skip-refresh Specify no refreshening of source filesystems. |
| + | -c COMPRESS_TYPE, --compress-type=COMPRESS_TYPE |
| + | Specify the compression type for SquashFS. Will |
| + | override the current compression or lack thereof. |
| + | --compress Specify compression of the filesystem image, |
| + | ext3fs.img. Used when overriding an uncompressed |
| + | source. |
| + | --skip-compression Specify building the .iso with an uncompressed |
| + | ext3fs.img file system. |
| + | --refresh-uncompressed |
| + | Specify refreshing the source with an uncompressed |
| + | ext3fs.img |
| + | --skip-minimize Specify no osmin.img minimal snapshot. |
| + | -a KERNELARGS, --extra-kernel-args=KERNELARGS |
| + | Specify extra kernel arguments to include in the new |
| + | .iso file boot configuration. Multiple arguments |
| + | should be specified in one string, i.e., --extra- |
| + | kernel-args "arg1 arg2 ..." |
| + | --extra-space-mb=EXTRA_SPACE_MB |
| + | Specify extra space in MiB to reserve for unexpected |
| + | staging area needs. |
| + | |
| + | Debugging options: |
| + | These options control the output of logging information during image |
| + | creation |
| + | |
| + | -d, --debug Output debugging information |
| + | -v, --verbose Output verbose progress information |
| + | -q, --quiet Supress stdout |
| + | --logfile=FILE Save debug information to FILE</pre>}} |
| + | |
| ===SoaS-remix=== | | ===SoaS-remix=== |
| '''SoaS-remix''' is a bundle of edit-liveos.py and supporting scripts to make testing and use easier. | | '''SoaS-remix''' is a bundle of edit-liveos.py and supporting scripts to make testing and use easier. |