<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>