On Fri, Apr 4, 2014 at 10:17 PM, Bruno Wolff III <bruno@wolff.to> wrote:
On Fri, Apr 04, 2014 at 21:13:44 -0700,
  ToddAndMargo <ToddAndMargo@zoho.com> wrote:

The current stick I am using is 16 GB.

You should be able to do a normal install with 16 GB. (Though you can use a lot more than that if you install enough packages.)


I use the Live USB as rescue disk at my customer sites (mostly
to save Windows computers).  I had though of installing directly,
but have been told that I can not expect that /dev/sda will
always be the stick.

That shouldn't matter for booting. The device should be known by its UUID. (The install process will set that up as a kernel parameter. You shouldn't have to do anything special for that.)

There might be some machines that will boot off the device with a FAT file system, but not with other file systems.

To keep everything you want in a compressed LiveOS filesystem, you can remix a custom Live CD. See,

To make remixing easier for an end user, I've developed editliveos.py.  This Python script can be run from a directory containing the following files:

For example, I run this command line:

sudo ./editliveos.py -n F20-Custom -t /var/tmp -y /var/cache/yum/ -S --builder fgrose --rootfs-size-gb 8 /path/to/Fedora-Live-Desktop-x86_64-20-1.iso

(substituting the appropriate /path/to directories).

which will enlarge the rootfs from 4 to 8 GiBytes. A shell in the new root filesystem (via chroot) is presented where you can yum update and yum install your desired software.

NOTE: To take advantage of a newer kernel, you need to adapt these instructions:
with commands such as,

BEFORE running yum update:

    sed -i 's/^hostonly="yes"/hostonly="no"/' /usr/lib/dracut/dracut.conf.d/01-dist.conf
    echo 'add_dracutmodules+=" dmsquash-live "
    compress="xz"' >> /usr/lib/dracut/dracut.conf.d/01-dist.conf

Following yum update:
    
    yum remove kernel-3.11.10-301.fc20

    new=3.13.8-200.fc20.x86_64
    bootpath=mnt/live/isolinux
    mv -f boot/vmlinuz-$new ${bootpath}/vmlinuz0
    mv -f boot/initramfs-${new}.img ${bootpath}/initrd0.img
    bootpath=run/initramfs/live/syslinux

    ln -fs -T ../${bootpath}/vmlinuz0 boot/vmlinuz-$new
    ln -fs -T ../${bootpath}/initrd0.img boot/initramfs-${new}.img

which should be run from the chroot shell.

On exiting the shell, the script continues to build an installable .iso file of your custom image.

Once you have installed your custom LiveOS image, you can maintain it with new updates or software installations by running the editliveos.py script against the attached Live USB device using this command line, for example:

sudo ./editliveos.py -n F20-Custom -t /var/tmp -y /var/cache/yum/ -S --builder fgrose  /path/to/F20-Custom-mountpoint(or path/to/dev/node)

(substituting the appropriate /path/to/mountpoint directories or /dev/node).

The script will merge the overlay file and any updates from the chroot shell into a new SquashFS for your Live USB, and build an updated install .iso file.

If there is a kernel update, the above-noted kernel move and link commands are needed with the appropriate kernel version identifiers.
IN ADDITION, the new kernel and initrd0.img needs to be moved to the /syslinux directory on the Live USB device.

From a separate shell instance (because the chroot shell hides the host filesystem),

    sudo cp /var/tmp/editliveos-XXXXXX/iso/isolinux/vmlinuz0    /path/to/mountpoint/syslinux/
    sudo cp /var/tmp/editliveos-XXXXXX/iso/isolinux/initrd0.img /path/to/mountpoint/syslinux/

(substituting the appropriate temporary build and /path/to/mountpoint directories).

   --Fred