<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    While not exactly new I have not seen this described elsewhere.<br>
    <br>
    First, some background:<br>
    <br>
    For years I have been using kickstart to perform installs on both
    real hardware and virtual systems.  I found that a kickstart install
    allowed me to defines the parameters before the install and minimize
    the  human error that would occur in a regular gui install.  The
    kickstart install also allowed me to define the exact set of
    packages I wanted for that system.<br>
    <br>
    Another factor are my "rules" for installation  / backup / recovery:<br>
    <ul>
      <li>Rule 0: never, ever install over a working/current system just
        to install the "next release" ... do not do upgrades but fresh
        installs into different partitions/subvolumes.  This means that
        all my systems are multiboot.  In fact, I generally have
        predefined partitioning for last release, current release, new
        release and test release.<br>
      </li>
      <li>Rule 1: Separate all user data from the system/application
        software.  Backup all user data early and often.</li>
      <li>Rule 2: Recovery of user data is to restore it from backups.</li>
      <li>Rule 3: To recover the system and application software, do a
        fresh install.</li>
      <li>Rule 4: You do not want to test the recovery process when you
        really need it because of a hardware failure.  So, occasionally
        test performing a full system, application, and user data
        recovery/restore.</li>
    </ul>
    And then the new approach;<br>
    <br>
    Prior to Fedora 21, I have been using a GA DVD and doing basically a
    netinstall or creating my own DVD based on everything plus updates
    repos which included all of the basic packages I wanted installed. 
    With product-ized Fedora 21 and some rethinking, I realized that a
    better approach would be to use a live install.  A live install not
    only installs faster than the equivalent DVD or netinstall but also
    fixes the release/version for each package installed to a known
    "good" values.<br>
    <br>
    So, we are going to switch to using live installs.  The first thing
    that occurs to me is how I can invoke kickstart from liveinst.  I
    found that anaconda developers really, really do not want to support
    kickstart from liveinst!  However, while investigate that I found
    that turning the question around is doable and supported: doing a
    kickstart install which installs a live image.  For my kickstart
    reference, I use <a class="moz-txt-link-freetext" href="http://fedoraproject.org/wiki/Anaconda/Kickstart">http://fedoraproject.org/wiki/Anaconda/Kickstart</a>
    and the kickstart command of interest is:<br>
    <big><tt>      </tt><code>liveimg --url=<url>
        [--proxy=<proxyurl>] [--checksum=<sha256>]
        [--noverifyssl]</code><tt><br>
      </tt></big>where --url=<path_to_squashfs.img> and can be
    --url=<a class="moz-txt-link-freetext" href="http://">http://</a> or --url=<a class="moz-txt-link-freetext" href="file:///">file:///</a><br>
    <br>
    The squashfs.img is copied from the LiveOS directory of a livecd iso
    and should be renamed something meaningful to differentiate between
    different live installs (e.g., F21-Live-Ws-Beta-4.img).<br>
    <br>
    The simple case which works now is to put the kickstart file and the
    renamed squashfs.img file on a webserver.  Boot up a "good"
    netintall and specify inst.ks=<a class="moz-txt-link-freetext" href="http://">http://</a><path_to_ks_file>.  That
    kickstart file includes<br>
    <big><tt>   </tt><tt>  liveimg
        --url=<a class="moz-txt-link-freetext" href="http://">http://</a><path_to_squashfs.img></tt></big><br>
    <br>
    Done!<br>
    <br>
    Now that we have a basic kickstart plus liveimg install, there are
    some additional opportunities.<br>
    <br>
    1. You can create you own "nonproduct" (semi-product) liveimg using
    livecd-creator and a kickstart file modified to include the set of
    packages you want installed.  Note that you can use the same setup
    described here:<br>
       
<a class="moz-txt-link-freetext" href="https://fedoraproject.org/wiki/How_to_create_a_Fedora_install_ISO_for_testing">https://fedoraproject.org/wiki/How_to_create_a_Fedora_install_ISO_for_testing</a><br>
        <a class="moz-txt-link-freetext" href="https://fedorahosted.org/pungi/wiki/PungiDocs/RunningPungi">https://fedorahosted.org/pungi/wiki/PungiDocs/RunningPungi</a><br>
    to run livecd-creator under mock.  Once the livecd iso has been
    created, mount it and copy out the LiveOS/squashfs.img file. 
    Creating your own livecd has the additional advantage of being able
    to include local updates.  In my case, this includes my updated
    grubby supporting /boot on btrfs [currently targeted for Fedora 22].<br>
    <br>
    2. Since many/most computers these days are able to boot of a
    usb-stick, you can put the netinstall on a stick and include some or
    all of the kickstart and squashfs.img files too.  In fact, you can
    put multiple kickstart files for different systems and multiple
    squashfs.img files for different LiveOS/squashfs.img files on that
    same usb-stick so that you are network independent.<br>
    <br>
    The command to specify getting the squashfs.img frle from the
    usr-stack is:<br>
    <big><tt>      liveimg  --url=<b><a class="moz-txt-link-freetext" href="file:///run/install/repo/">file:///run/install/repo/</a></b><path_to_squashfs.img_file></tt></big><br>
    <br>
    For example:<br>
    <big><tt>      liveimg  --url=<a class="moz-txt-link-freetext" href="file:///run/install/repo/payload/F21-Live-Ws-Beta-4.img">file:///run/install/repo/payload/F21-Live-Ws-Beta-4.img</a></tt></big><br>
    <br>
    <b>Some gotchas</b>:<br>
    <br>
    1.  While the network (liveimg --url=<a class="moz-txt-link-freetext" href="http://">http://</a>) currently works, there
    is a bugfix for anaconda which is needed for <a class="moz-txt-link-freetext" href="file:///">file:///</a> to work. See:<br>
<a class="moz-txt-link-freetext" href="https://lists.fedorahosted.org/pipermail/anaconda-patches/2014-November/014500.html">https://lists.fedorahosted.org/pipermail/anaconda-patches/2014-November/014500.html</a><br>
<a class="moz-txt-link-freetext" href="https://lists.fedorahosted.org/pipermail/anaconda-patches/2014-November/014501.html">https://lists.fedorahosted.org/pipermail/anaconda-patches/2014-November/014501.html</a><br>
<a class="moz-txt-link-freetext" href="https://lists.fedorahosted.org/pipermail/anaconda-patches/2014-November/014513.html">https://lists.fedorahosted.org/pipermail/anaconda-patches/2014-November/014513.html</a><br>
    <br>
    I have this anaconda updates image for the Beta:<br>
    <a class="moz-txt-link-freetext" href="http://czarc.org/fedora/updates/anaconda-21.48.13-1d1-updates.img">http://czarc.org/fedora/updates/anaconda-21.48.13-1d1-updates.img</a><br>
    <br>
    2.  To use a usb-stick with virt-manager, you may need to patch it
    with the update:<br>
    <a class="moz-txt-link-freetext" href="https://bugzilla.redhat.com/show_bug.cgi?id=1146297">https://bugzilla.redhat.com/show_bug.cgi?id=1146297</a><br>
    This patch applies to the fedora-virt-preview repo for Fedora 20.<br>
    <br>
    Please feel free to comment, suggest, or add to this ... it is a
    work in progress.<br>
    <br>
    Gene<br>
  </body>
</html>