[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

A new way to install Fedora

While not exactly new I have not seen this described elsewhere.

First, some background:

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.

Another factor are my "rules" for installation  / backup / recovery:
  • 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.
  • Rule 1: Separate all user data from the system/application software.  Backup all user data early and often.
  • Rule 2: Recovery of user data is to restore it from backups.
  • Rule 3: To recover the system and application software, do a fresh install.
  • 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.
And then the new approach;

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.

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 http://fedoraproject.org/wiki/Anaconda/Kickstart and the kickstart command of interest is:
      liveimg --url="" [--proxy=<proxyurl>] [--checksum=<sha256>] [--noverifyssl]
where --url="" and can be --url="" class="moz-txt-link-freetext" href="http://">http:// or --url="" class="moz-txt-link-freetext" href="file:///">file:///

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

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=http://<path_to_ks_file>.  That kickstart file includes
     liveimg --url="" class="moz-txt-link-freetext" href="http://">http://<path_to_squashfs.img>


Now that we have a basic kickstart plus liveimg install, there are some additional opportunities.

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:
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].

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.

The command to specify getting the squashfs.img frle from the usr-stack is:
      liveimg  --url="">file:///run/install/repo/<path_to_squashfs.img_file>

For example:
      liveimg  --url="" 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

Some gotchas:

1.  While the network (liveimg --url="" class="moz-txt-link-freetext" href="http://">http://) currently works, there is a bugfix for anaconda which is needed for file:/// to work. See:

I have this anaconda updates image for the Beta:

2.  To use a usb-stick with virt-manager, you may need to patch it with the update:
This patch applies to the fedora-virt-preview repo for Fedora 20.

Please feel free to comment, suggest, or add to this ... it is a work in progress.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]