Lorax 24.6 Documentation

This commit is contained in:
Brian C. Lane 2015-12-04 10:16:16 -08:00
parent 1a076ff29a
commit 5ebeeb65a8
44 changed files with 969 additions and 573 deletions

View File

@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 84f72fa8a4daf7d19bfd5ac195b5abab
config: 187800f7fe75b395eca127bd57ac4ff9
tags: 645f666f9bcd5a90fca523b33c5a78b7

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Overview: module code &mdash; Lorax 24.3 documentation</title>
<title>Overview: module code &mdash; Lorax 24.6 documentation</title>
@ -30,7 +30,7 @@
<link rel="top" title="Lorax 24.3 documentation" href="../index.html"/>
<link rel="top" title="Lorax 24.6 documentation" href="../index.html"/>
<script src="_static/js/modernizr.min.js"></script>
@ -87,6 +87,9 @@
<li class="toctree-l2"><a class="reference internal" href="../livemedia-creator.html#using-mock-to-create-images">Using Mock to Create Images</a></li>
<li class="toctree-l2"><a class="reference internal" href="../livemedia-creator.html#openstack-image-creation">OpenStack Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../livemedia-creator.html#docker-image-creation">Docker Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../livemedia-creator.html#open-container-initiative-image-creation">Open Container Initiative Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../livemedia-creator.html#vagrant-image-creation">Vagrant Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../livemedia-creator.html#creating-uefi-disk-images-with-virt">Creating UEFI disk images with virt</a></li>
<li class="toctree-l2"><a class="reference internal" href="../livemedia-creator.html#debugging-problems">Debugging problems</a></li>
<li class="toctree-l2"><a class="reference internal" href="../livemedia-creator.html#hacking">Hacking</a></li>
</ul>
@ -195,7 +198,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../',
VERSION:'24.3',
VERSION:'24.6',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax &mdash; Lorax 24.3 documentation</title>
<title>pylorax &mdash; Lorax 24.6 documentation</title>
@ -30,7 +30,7 @@
<link rel="top" title="Lorax 24.3 documentation" href="../index.html"/>
<link rel="top" title="Lorax 24.6 documentation" href="../index.html"/>
<link rel="up" title="Module code" href="index.html"/>
@ -88,6 +88,9 @@
<li class="toctree-l2"><a class="reference internal" href="../livemedia-creator.html#using-mock-to-create-images">Using Mock to Create Images</a></li>
<li class="toctree-l2"><a class="reference internal" href="../livemedia-creator.html#openstack-image-creation">OpenStack Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../livemedia-creator.html#docker-image-creation">Docker Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../livemedia-creator.html#open-container-initiative-image-creation">Open Container Initiative Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../livemedia-creator.html#vagrant-image-creation">Vagrant Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../livemedia-creator.html#creating-uefi-disk-images-with-virt">Creating UEFI disk images with virt</a></li>
<li class="toctree-l2"><a class="reference internal" href="../livemedia-creator.html#debugging-problems">Debugging problems</a></li>
<li class="toctree-l2"><a class="reference internal" href="../livemedia-creator.html#hacking">Hacking</a></li>
</ul>
@ -481,7 +484,7 @@
<span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s">&quot;rebuilding initramfs images&quot;</span><span class="p">)</span>
<span class="n">dracut_args</span> <span class="o">=</span> <span class="p">[</span><span class="s">&quot;--xz&quot;</span><span class="p">,</span> <span class="s">&quot;--install&quot;</span><span class="p">,</span> <span class="s">&quot;/.buildstamp&quot;</span><span class="p">,</span> <span class="s">&quot;--no-early-microcode&quot;</span><span class="p">]</span>
<span class="n">anaconda_args</span> <span class="o">=</span> <span class="n">dracut_args</span> <span class="o">+</span> <span class="p">[</span><span class="s">&quot;--add&quot;</span><span class="p">,</span> <span class="s">&quot;anaconda pollcdrom&quot;</span><span class="p">]</span>
<span class="n">anaconda_args</span> <span class="o">=</span> <span class="n">dracut_args</span> <span class="o">+</span> <span class="p">[</span><span class="s">&quot;--add&quot;</span><span class="p">,</span> <span class="s">&quot;anaconda pollcdrom qemu qemu-net&quot;</span><span class="p">]</span>
<span class="c"># ppc64 cannot boot an initrd &gt; 32MiB so remove some drivers</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">arch</span><span class="o">.</span><span class="n">basearch</span> <span class="ow">in</span> <span class="p">(</span><span class="s">&quot;ppc64&quot;</span><span class="p">,</span> <span class="s">&quot;ppc64le&quot;</span><span class="p">):</span>
@ -591,7 +594,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../',
VERSION:'24.3',
VERSION:'24.6',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.base &mdash; Lorax 24.3 documentation</title>
<title>pylorax.base &mdash; Lorax 24.6 documentation</title>
@ -30,7 +30,7 @@
<link rel="top" title="Lorax 24.3 documentation" href="../../index.html"/>
<link rel="top" title="Lorax 24.6 documentation" href="../../index.html"/>
<link rel="up" title="pylorax" href="../pylorax.html"/>
@ -88,6 +88,9 @@
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#using-mock-to-create-images">Using Mock to Create Images</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#openstack-image-creation">OpenStack Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#docker-image-creation">Docker Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#open-container-initiative-image-creation">Open Container Initiative Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#vagrant-image-creation">Vagrant Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#creating-uefi-disk-images-with-virt">Creating UEFI disk images with virt</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#debugging-problems">Debugging problems</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#hacking">Hacking</a></li>
</ul>
@ -250,7 +253,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../',
VERSION:'24.3',
VERSION:'24.6',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.buildstamp &mdash; Lorax 24.3 documentation</title>
<title>pylorax.buildstamp &mdash; Lorax 24.6 documentation</title>
@ -30,7 +30,7 @@
<link rel="top" title="Lorax 24.3 documentation" href="../../index.html"/>
<link rel="top" title="Lorax 24.6 documentation" href="../../index.html"/>
<link rel="up" title="pylorax" href="../pylorax.html"/>
@ -88,6 +88,9 @@
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#using-mock-to-create-images">Using Mock to Create Images</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#openstack-image-creation">OpenStack Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#docker-image-creation">Docker Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#open-container-initiative-image-creation">Open Container Initiative Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#vagrant-image-creation">Vagrant Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#creating-uefi-disk-images-with-virt">Creating UEFI disk images with virt</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#debugging-problems">Debugging problems</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#hacking">Hacking</a></li>
</ul>
@ -244,7 +247,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../',
VERSION:'24.3',
VERSION:'24.6',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.decorators &mdash; Lorax 24.3 documentation</title>
<title>pylorax.decorators &mdash; Lorax 24.6 documentation</title>
@ -30,7 +30,7 @@
<link rel="top" title="Lorax 24.3 documentation" href="../../index.html"/>
<link rel="top" title="Lorax 24.6 documentation" href="../../index.html"/>
<link rel="up" title="pylorax" href="../pylorax.html"/>
@ -88,6 +88,9 @@
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#using-mock-to-create-images">Using Mock to Create Images</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#openstack-image-creation">OpenStack Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#docker-image-creation">Docker Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#open-container-initiative-image-creation">Open Container Initiative Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#vagrant-image-creation">Vagrant Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#creating-uefi-disk-images-with-virt">Creating UEFI disk images with virt</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#debugging-problems">Debugging problems</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#hacking">Hacking</a></li>
</ul>
@ -216,7 +219,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../',
VERSION:'24.3',
VERSION:'24.6',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.discinfo &mdash; Lorax 24.3 documentation</title>
<title>pylorax.discinfo &mdash; Lorax 24.6 documentation</title>
@ -30,7 +30,7 @@
<link rel="top" title="Lorax 24.3 documentation" href="../../index.html"/>
<link rel="top" title="Lorax 24.6 documentation" href="../../index.html"/>
<link rel="up" title="pylorax" href="../pylorax.html"/>
@ -88,6 +88,9 @@
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#using-mock-to-create-images">Using Mock to Create Images</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#openstack-image-creation">OpenStack Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#docker-image-creation">Docker Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#open-container-initiative-image-creation">Open Container Initiative Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#vagrant-image-creation">Vagrant Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#creating-uefi-disk-images-with-virt">Creating UEFI disk images with virt</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#debugging-problems">Debugging problems</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#hacking">Hacking</a></li>
</ul>
@ -225,7 +228,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../',
VERSION:'24.3',
VERSION:'24.6',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.dnfhelper &mdash; Lorax 24.3 documentation</title>
<title>pylorax.dnfhelper &mdash; Lorax 24.6 documentation</title>
@ -30,7 +30,7 @@
<link rel="top" title="Lorax 24.3 documentation" href="../../index.html"/>
<link rel="top" title="Lorax 24.6 documentation" href="../../index.html"/>
<link rel="up" title="pylorax" href="../pylorax.html"/>
@ -88,6 +88,9 @@
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#using-mock-to-create-images">Using Mock to Create Images</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#openstack-image-creation">OpenStack Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#docker-image-creation">Docker Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#open-container-initiative-image-creation">Open Container Initiative Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#vagrant-image-creation">Vagrant Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#creating-uefi-disk-images-with-virt">Creating UEFI disk images with virt</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#debugging-problems">Debugging problems</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#hacking">Hacking</a></li>
</ul>
@ -293,7 +296,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../',
VERSION:'24.3',
VERSION:'24.6',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.executils &mdash; Lorax 24.3 documentation</title>
<title>pylorax.executils &mdash; Lorax 24.6 documentation</title>
@ -30,7 +30,7 @@
<link rel="top" title="Lorax 24.3 documentation" href="../../index.html"/>
<link rel="top" title="Lorax 24.6 documentation" href="../../index.html"/>
<link rel="up" title="pylorax" href="../pylorax.html"/>
@ -88,6 +88,9 @@
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#using-mock-to-create-images">Using Mock to Create Images</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#openstack-image-creation">OpenStack Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#docker-image-creation">Docker Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#open-container-initiative-image-creation">Open Container Initiative Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#vagrant-image-creation">Vagrant Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#creating-uefi-disk-images-with-virt">Creating UEFI disk images with virt</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#debugging-problems">Debugging problems</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#hacking">Hacking</a></li>
</ul>
@ -531,7 +534,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../',
VERSION:'24.3',
VERSION:'24.6',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.imgutils &mdash; Lorax 24.3 documentation</title>
<title>pylorax.imgutils &mdash; Lorax 24.6 documentation</title>
@ -30,7 +30,7 @@
<link rel="top" title="Lorax 24.3 documentation" href="../../index.html"/>
<link rel="top" title="Lorax 24.6 documentation" href="../../index.html"/>
<link rel="up" title="pylorax" href="../pylorax.html"/>
@ -88,6 +88,9 @@
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#using-mock-to-create-images">Using Mock to Create Images</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#openstack-image-creation">OpenStack Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#docker-image-creation">Docker Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#open-container-initiative-image-creation">Open Container Initiative Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#vagrant-image-creation">Vagrant Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#creating-uefi-disk-images-with-virt">Creating UEFI disk images with virt</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#debugging-problems">Debugging problems</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#hacking">Hacking</a></li>
</ul>
@ -184,6 +187,7 @@
<span class="kn">import</span> <span class="nn">traceback</span>
<span class="kn">import</span> <span class="nn">multiprocessing</span>
<span class="kn">from</span> <span class="nn">time</span> <span class="kn">import</span> <span class="n">sleep</span>
<span class="kn">import</span> <span class="nn">shutil</span>
<span class="kn">from</span> <span class="nn">pylorax.sysutils</span> <span class="kn">import</span> <span class="n">cpfile</span>
<span class="kn">from</span> <span class="nn">pylorax.executils</span> <span class="kn">import</span> <span class="n">execWithRedirect</span><span class="p">,</span> <span class="n">execWithCapture</span>
@ -236,10 +240,13 @@
<span class="k">return</span> <span class="n">compress</span><span class="p">([</span><span class="s">&quot;cpio&quot;</span><span class="p">,</span> <span class="s">&quot;--null&quot;</span><span class="p">,</span> <span class="s">&quot;--quiet&quot;</span><span class="p">,</span> <span class="s">&quot;-H&quot;</span><span class="p">,</span> <span class="s">&quot;newc&quot;</span><span class="p">,</span> <span class="s">&quot;-o&quot;</span><span class="p">],</span>
<span class="n">rootdir</span><span class="p">,</span> <span class="n">outfile</span><span class="p">,</span> <span class="n">compression</span><span class="p">,</span> <span class="n">compressargs</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="mktar"><a class="viewcode-back" href="../../pylorax.html#pylorax.imgutils.mktar">[docs]</a><span class="k">def</span> <span class="nf">mktar</span><span class="p">(</span><span class="n">rootdir</span><span class="p">,</span> <span class="n">outfile</span><span class="p">,</span> <span class="n">compression</span><span class="o">=</span><span class="s">&quot;xz&quot;</span><span class="p">,</span> <span class="n">compressargs</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
<div class="viewcode-block" id="mktar"><a class="viewcode-back" href="../../pylorax.html#pylorax.imgutils.mktar">[docs]</a><span class="k">def</span> <span class="nf">mktar</span><span class="p">(</span><span class="n">rootdir</span><span class="p">,</span> <span class="n">outfile</span><span class="p">,</span> <span class="n">compression</span><span class="o">=</span><span class="s">&quot;xz&quot;</span><span class="p">,</span> <span class="n">compressargs</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">selinux</span><span class="o">=</span><span class="bp">True</span><span class="p">):</span>
<span class="n">compressargs</span> <span class="o">=</span> <span class="n">compressargs</span> <span class="ow">or</span> <span class="p">[</span><span class="s">&quot;-9&quot;</span><span class="p">]</span>
<span class="k">return</span> <span class="n">compress</span><span class="p">([</span><span class="s">&quot;tar&quot;</span><span class="p">,</span> <span class="s">&quot;--no-recursion&quot;</span><span class="p">,</span> <span class="s">&quot;--selinux&quot;</span><span class="p">,</span> <span class="s">&quot;--acls&quot;</span><span class="p">,</span> <span class="s">&quot;--xattrs&quot;</span><span class="p">,</span> <span class="s">&quot;-cf-&quot;</span><span class="p">,</span> <span class="s">&quot;--null&quot;</span><span class="p">,</span> <span class="s">&quot;-T-&quot;</span><span class="p">],</span>
<span class="n">rootdir</span><span class="p">,</span> <span class="n">outfile</span><span class="p">,</span> <span class="n">compression</span><span class="p">,</span> <span class="n">compressargs</span><span class="p">)</span>
<span class="n">tar_cmd</span> <span class="o">=</span> <span class="p">[</span><span class="s">&quot;tar&quot;</span><span class="p">,</span> <span class="s">&quot;--no-recursion&quot;</span><span class="p">]</span>
<span class="k">if</span> <span class="n">selinux</span><span class="p">:</span>
<span class="n">tar_cmd</span> <span class="o">+=</span> <span class="p">[</span><span class="s">&quot;--selinux&quot;</span><span class="p">,</span> <span class="s">&quot;--acls&quot;</span><span class="p">,</span> <span class="s">&quot;--xattrs&quot;</span><span class="p">]</span>
<span class="n">tar_cmd</span> <span class="o">+=</span> <span class="p">[</span><span class="s">&quot;-cf-&quot;</span><span class="p">,</span> <span class="s">&quot;--null&quot;</span><span class="p">,</span> <span class="s">&quot;-T-&quot;</span><span class="p">]</span>
<span class="k">return</span> <span class="n">compress</span><span class="p">(</span><span class="n">tar_cmd</span><span class="p">,</span> <span class="n">rootdir</span><span class="p">,</span> <span class="n">outfile</span><span class="p">,</span> <span class="n">compression</span><span class="p">,</span> <span class="n">compressargs</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="mksquashfs"><a class="viewcode-back" href="../../pylorax.html#pylorax.imgutils.mksquashfs">[docs]</a><span class="k">def</span> <span class="nf">mksquashfs</span><span class="p">(</span><span class="n">rootdir</span><span class="p">,</span> <span class="n">outfile</span><span class="p">,</span> <span class="n">compression</span><span class="o">=</span><span class="s">&quot;default&quot;</span><span class="p">,</span> <span class="n">compressargs</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
<span class="sd">&#39;&#39;&#39;Make a squashfs image containing the given rootdir.&#39;&#39;&#39;</span>
@ -462,17 +469,30 @@
</div>
<div class="viewcode-block" id="PartitionMount"><a class="viewcode-back" href="../../pylorax.html#pylorax.imgutils.PartitionMount">[docs]</a><span class="k">class</span> <span class="nc">PartitionMount</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot; Mount a partitioned image file using kpartx &quot;&quot;&quot;</span>
<span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">disk_img</span><span class="p">,</span> <span class="n">mount_ok</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
<span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">disk_img</span><span class="p">,</span> <span class="n">mount_ok</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">submount</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> disk_img is the full path to a partitioned disk image</span>
<span class="sd"> mount_ok is a function that is passed the mount point and</span>
<span class="sd"> returns True if it should be mounted.</span>
<span class="sd"> :param str disk_img: The full path to a partitioned disk image</span>
<span class="sd"> :param mount_ok: A function that is passed the mount point and</span>
<span class="sd"> returns True if it should be mounted.</span>
<span class="sd"> :param str submount: Directory inside mount_dir to mount at</span>
<span class="sd"> If mount_ok is not set it will look for /etc/passwd</span>
<span class="sd"> If the partition is found it will be mounted under a temporary</span>
<span class="sd"> directory and self.temp_dir set to it. If submount is passed it will be</span>
<span class="sd"> created and mounted there instead, with self.mount_dir set to point to</span>
<span class="sd"> it. self.mount_dev is set to the loop device, and self.mount_size is</span>
<span class="sd"> set to the size of the partition.</span>
<span class="sd"> When no subdir is passed self.temp_dir and self.mount_dir will be the same.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">mount_dev</span> <span class="o">=</span> <span class="bp">None</span>
<span class="bp">self</span><span class="o">.</span><span class="n">mount_size</span> <span class="o">=</span> <span class="bp">None</span>
<span class="bp">self</span><span class="o">.</span><span class="n">mount_dir</span> <span class="o">=</span> <span class="bp">None</span>
<span class="bp">self</span><span class="o">.</span><span class="n">disk_img</span> <span class="o">=</span> <span class="n">disk_img</span>
<span class="bp">self</span><span class="o">.</span><span class="n">mount_ok</span> <span class="o">=</span> <span class="n">mount_ok</span>
<span class="bp">self</span><span class="o">.</span><span class="n">submount</span> <span class="o">=</span> <span class="n">submount</span>
<span class="bp">self</span><span class="o">.</span><span class="n">temp_dir</span> <span class="o">=</span> <span class="bp">None</span>
<span class="c"># Default is to mount partition with /etc/passwd</span>
<span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">mount_ok</span><span class="p">:</span>
@ -496,7 +516,12 @@
<span class="k">def</span> <span class="nf">__enter__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="c"># Mount the device selected by mount_ok, if possible</span>
<span class="n">mount_dir</span> <span class="o">=</span> <span class="n">tempfile</span><span class="o">.</span><span class="n">mkdtemp</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">temp_dir</span> <span class="o">=</span> <span class="n">tempfile</span><span class="o">.</span><span class="n">mkdtemp</span><span class="p">()</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">submount</span><span class="p">:</span>
<span class="n">mount_dir</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">normpath</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">sep</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="bp">self</span><span class="o">.</span><span class="n">temp_dir</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">submount</span><span class="p">]))</span>
<span class="n">os</span><span class="o">.</span><span class="n">makedirs</span><span class="p">(</span><span class="n">mount_dir</span><span class="p">,</span> <span class="n">mode</span><span class="o">=</span><span class="mi">0</span><span class="n">o755</span><span class="p">,</span> <span class="n">exist_ok</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">mount_dir</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">temp_dir</span>
<span class="k">for</span> <span class="n">dev</span><span class="p">,</span> <span class="n">size</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">loop_devices</span><span class="p">:</span>
<span class="k">try</span><span class="p">:</span>
<span class="n">mount</span><span class="p">(</span> <span class="s">&quot;/dev/mapper/&quot;</span><span class="o">+</span><span class="n">dev</span><span class="p">,</span> <span class="n">mnt</span><span class="o">=</span><span class="n">mount_dir</span> <span class="p">)</span>
@ -512,14 +537,16 @@
<span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s">&quot;Partition mounted on </span><span class="si">%s</span><span class="s"> size=</span><span class="si">%s</span><span class="s">&quot;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">mount_dir</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">mount_size</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">logger</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">&quot;Unable to mount anything from </span><span class="si">%s</span><span class="s">&quot;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">disk_img</span><span class="p">)</span>
<span class="n">os</span><span class="o">.</span><span class="n">rmdir</span><span class="p">(</span><span class="n">mount_dir</span><span class="p">)</span>
<span class="n">os</span><span class="o">.</span><span class="n">rmdir</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">temp_dir</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">temp_dir</span> <span class="o">=</span> <span class="bp">None</span>
<span class="k">return</span> <span class="bp">self</span>
<span class="k">def</span> <span class="nf">__exit__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">exc_type</span><span class="p">,</span> <span class="n">exc_value</span><span class="p">,</span> <span class="n">tracebk</span><span class="p">):</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">mount_dir</span><span class="p">:</span>
<span class="n">umount</span><span class="p">(</span> <span class="bp">self</span><span class="o">.</span><span class="n">mount_dir</span> <span class="p">)</span>
<span class="n">os</span><span class="o">.</span><span class="n">rmdir</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">mount_dir</span><span class="p">)</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">temp_dir</span><span class="p">:</span>
<span class="n">umount</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">mount_dir</span><span class="p">)</span>
<span class="n">shutil</span><span class="o">.</span><span class="n">rmtree</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">temp_dir</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">mount_dir</span> <span class="o">=</span> <span class="bp">None</span>
<span class="bp">self</span><span class="o">.</span><span class="n">temp_dir</span> <span class="o">=</span> <span class="bp">None</span>
<span class="n">execWithRedirect</span><span class="p">(</span><span class="s">&quot;kpartx&quot;</span><span class="p">,</span> <span class="p">[</span><span class="s">&quot;-d&quot;</span><span class="p">,</span> <span class="s">&quot;-s&quot;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">disk_img</span><span class="p">])</span>
@ -603,7 +630,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../',
VERSION:'24.3',
VERSION:'24.6',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.ltmpl &mdash; Lorax 24.3 documentation</title>
<title>pylorax.ltmpl &mdash; Lorax 24.6 documentation</title>
@ -30,7 +30,7 @@
<link rel="top" title="Lorax 24.3 documentation" href="../../index.html"/>
<link rel="top" title="Lorax 24.6 documentation" href="../../index.html"/>
<link rel="up" title="pylorax" href="../pylorax.html"/>
@ -88,6 +88,9 @@
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#using-mock-to-create-images">Using Mock to Create Images</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#openstack-image-creation">OpenStack Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#docker-image-creation">Docker Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#open-container-initiative-image-creation">Open Container Initiative Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#vagrant-image-creation">Vagrant Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#creating-uefi-disk-images-with-virt">Creating UEFI disk images with virt</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#debugging-problems">Debugging problems</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#hacking">Hacking</a></li>
</ul>
@ -857,7 +860,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../',
VERSION:'24.3',
VERSION:'24.6',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.monitor &mdash; Lorax 24.3 documentation</title>
<title>pylorax.monitor &mdash; Lorax 24.6 documentation</title>
@ -30,7 +30,7 @@
<link rel="top" title="Lorax 24.3 documentation" href="../../index.html"/>
<link rel="top" title="Lorax 24.6 documentation" href="../../index.html"/>
<link rel="up" title="pylorax" href="../pylorax.html"/>
@ -88,6 +88,9 @@
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#using-mock-to-create-images">Using Mock to Create Images</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#openstack-image-creation">OpenStack Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#docker-image-creation">Docker Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#open-container-initiative-image-creation">Open Container Initiative Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#vagrant-image-creation">Vagrant Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#creating-uefi-disk-images-with-virt">Creating UEFI disk images with virt</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#debugging-problems">Debugging problems</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#hacking">Hacking</a></li>
</ul>
@ -378,7 +381,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../',
VERSION:'24.3',
VERSION:'24.6',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.mount &mdash; Lorax 24.3 documentation</title>
<title>pylorax.mount &mdash; Lorax 24.6 documentation</title>
@ -30,7 +30,7 @@
<link rel="top" title="Lorax 24.3 documentation" href="../../index.html"/>
<link rel="top" title="Lorax 24.6 documentation" href="../../index.html"/>
<link rel="up" title="pylorax" href="../pylorax.html"/>
@ -88,6 +88,9 @@
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#using-mock-to-create-images">Using Mock to Create Images</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#openstack-image-creation">OpenStack Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#docker-image-creation">Docker Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#open-container-initiative-image-creation">Open Container Initiative Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#vagrant-image-creation">Vagrant Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#creating-uefi-disk-images-with-virt">Creating UEFI disk images with virt</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#debugging-problems">Debugging problems</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#hacking">Hacking</a></li>
</ul>
@ -282,7 +285,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../',
VERSION:'24.3',
VERSION:'24.6',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.sysutils &mdash; Lorax 24.3 documentation</title>
<title>pylorax.sysutils &mdash; Lorax 24.6 documentation</title>
@ -30,7 +30,7 @@
<link rel="top" title="Lorax 24.3 documentation" href="../../index.html"/>
<link rel="top" title="Lorax 24.6 documentation" href="../../index.html"/>
<link rel="up" title="pylorax" href="../pylorax.html"/>
@ -88,6 +88,9 @@
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#using-mock-to-create-images">Using Mock to Create Images</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#openstack-image-creation">OpenStack Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#docker-image-creation">Docker Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#open-container-initiative-image-creation">Open Container Initiative Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#vagrant-image-creation">Vagrant Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#creating-uefi-disk-images-with-virt">Creating UEFI disk images with virt</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#debugging-problems">Debugging problems</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#hacking">Hacking</a></li>
</ul>
@ -294,7 +297,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../',
VERSION:'24.3',
VERSION:'24.6',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.treebuilder &mdash; Lorax 24.3 documentation</title>
<title>pylorax.treebuilder &mdash; Lorax 24.6 documentation</title>
@ -30,7 +30,7 @@
<link rel="top" title="Lorax 24.3 documentation" href="../../index.html"/>
<link rel="top" title="Lorax 24.6 documentation" href="../../index.html"/>
<link rel="up" title="pylorax" href="../pylorax.html"/>
@ -88,6 +88,9 @@
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#using-mock-to-create-images">Using Mock to Create Images</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#openstack-image-creation">OpenStack Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#docker-image-creation">Docker Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#open-container-initiative-image-creation">Open Container Initiative Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#vagrant-image-creation">Vagrant Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#creating-uefi-disk-images-with-virt">Creating UEFI disk images with virt</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#debugging-problems">Debugging problems</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#hacking">Hacking</a></li>
</ul>
@ -575,7 +578,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../',
VERSION:'24.3',
VERSION:'24.6',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.treeinfo &mdash; Lorax 24.3 documentation</title>
<title>pylorax.treeinfo &mdash; Lorax 24.6 documentation</title>
@ -30,7 +30,7 @@
<link rel="top" title="Lorax 24.3 documentation" href="../../index.html"/>
<link rel="top" title="Lorax 24.6 documentation" href="../../index.html"/>
<link rel="up" title="pylorax" href="../pylorax.html"/>
@ -88,6 +88,9 @@
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#using-mock-to-create-images">Using Mock to Create Images</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#openstack-image-creation">OpenStack Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#docker-image-creation">Docker Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#open-container-initiative-image-creation">Open Container Initiative Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#vagrant-image-creation">Vagrant Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#creating-uefi-disk-images-with-virt">Creating UEFI disk images with virt</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#debugging-problems">Debugging problems</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../livemedia-creator.html#hacking">Hacking</a></li>
</ul>
@ -243,7 +246,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../',
VERSION:'24.3',
VERSION:'24.6',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true

View File

@ -200,6 +200,12 @@ Example cmdline:
``sudo livemedia-creator --make-iso --no-virt --ks=./fedora-livemedia.ks``
.. note::
Using no-virt to create a partitioned disk image (eg. --make-disk or
--make-vagrant) will only create disks usable on the host platform (BIOS
or UEFI). You can create BIOS partitioned disk images on UEFI by using
virt.
AMI Images
----------
@ -399,7 +405,7 @@ OpenStack supports partitioned disk images so ``--make-disk`` can be used to
create images for importing into glance, OpenStack's image storage component.
You need to have access to an OpenStack provider that allows image uploads, or
setup your own using the instructions from the `RDO Project
<https://www.rdoproject.org/Quickstart>`.
<https://www.rdoproject.org/Quickstart>`_.
The example kickstart, fedora-openstack.ks, is only slightly different than the
fedora-minimal.ks one. It adds the cloud-init and cloud-utils-growpart
@ -436,6 +442,83 @@ And then run bash inside of it:
``sudo docker run -i -t fedora-root /bin/bash``
Open Container Initiative Image Creation
----------------------------------------
The OCI is a new specification that is still being worked on. You can read more about it at
`the Open Container Initiative website <https://www.opencontainers.org/>`_. You can create
OCI images using the following command::
sudo livemedia-creator --make-oci --oci-config /path/to/config.json --oci-runtime /path/to/runtime.json \
--iso=/path/to/boot.iso --ks=/path/to/fedora-minimal.ks
You must provide the config.json and runtime.json files to be included in the bundle,
their specifications can be found `on the OCI github project <https://github.com/opencontainers/specs>`_
output will be in the results directory with a default name of bundle.tar.xz
This will work with ``--no-virt`` and inside a mock since it doesn't use any
partitioned disk images.
Vagrant Image Creation
----------------------
`Vagrant <https://www.vagrantup.com/>`_ images can be created using the following command::
sudo livemedia-creator --make-vagrant --vagrant-metadata /path/to/metadata.json \
--iso=/path/to/boot.iso --ks=/path/to/fedora-vagrant.ks
The image created is a `vagrant-libvirt
<https://github.com/pradels/vagrant-libvirt>`_ provider image and needs to have
vagrant setup with libvirt before you can use it.
The ``--vagrant-metadata`` file is optional, it will create a minimal one by
default, and if one is passed it will make sure the disk size is setup
correctly. If you pass a ``--vagrant-vagrantfile`` it will be included in the
image verbatim. By default no vagrantfile is created.
There is an example Vagrant kickstart file in the docs directory that sets up
the vagrant user with the default insecure SSH pubkey and a few useful
utilities.
This also works with ``--no-virt``, but will not work inside a mock due to its
use of partitioned disk images and qcow2.
Creating UEFI disk images with virt
-----------------------------------
Partitioned disk images can only be created for the same platform as the host system (BIOS or
UEFI). You can use virt to create BIOS images on UEFI systems, and it is also possible
to create UEFI images on BIOS systems using OVMF. You first need to setup your system with
the OVMF firmware. The details can be `found here linux-kvm OVMF page <http://www.linux-kvm.org/page/OVMF>`_
but it amounts to:
1. Download the firmware.repo from `Gerd Hoffmann <https://www.kraxel.org/repos/>`_ and install it
in /etc/yum.repos.d/
2. Install the edk2.git-ovmf-x64 package
3. Copy /usr/share/edk2.git/ovmf-x64/OVMF_CODE-pure-efi.fd to /usr/share/OVMF/OVMF_CODE.fd
4. Copy /usr/share/edk2.git/ovmf-x64/OVMF_VARS-pure-efi.fd to /usr/share/OVMF/OVMF_VARS.fd
Now you can run livemedia-creator with ``--virt-uefi`` to boot and install using UEFI::
sudo livemedia-creator --make-disk --virt-uefi --iso=/path/to/boot.iso \
--ks=/path/to/fedora-minimal.ks
Make sure that the kickstart you are using creates a /boot/efi partition by including this::
part /boot/efi --fstype="efi" --size=500
.. note::
When using the resulting image with the current version of OVMF (edk2.git-ovmf-x64-0-20151103.b1295.ge5cffca)
it will not boot automatically because there is a problem with the fallback path.
You can boot it by entering the UEFI shell and running EFI/fedora/shim.efi and
then using efibootmgr to setup the correct boot entry.
Debugging problems
------------------

View File

@ -2,12 +2,15 @@ Product and Updates Images
==========================
Lorax now supports creation of product.img and updates.img as part of the build
process. This is implemented using the installimg command which will take the
contents of a directory and create a compressed archive from it. The x86, ppc,
ppc64le and aarch64 templates all look for /usr/share/lorax/product/ and
/usr/share/lorax/updates/ directories while creating the final install tree. If
there are files in those directories lorax will create images/product.img
and/or images/updates.img
process. This is implemented using the installimg template command which will
take the contents of a directory and create a compressed archive from it. The
directory must be created by one of the packages installed by
runtime-install.tmpl or by passing ``--installpkgs <pkgname>`` to lorax at
runtime. The x86, ppc, ppc64le and aarch64 templates all look for
/usr/share/lorax/product/ and /usr/share/lorax/updates/ directories in the
install chroot while creating the final install tree. If there are files in
those directories lorax will create images/product.img and/or
images/updates.img
These archives are just like an anaconda updates image -- their contents are
copied over the top of the filesystem at boot time so that you can drop in

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 248 KiB

After

Width:  |  Height:  |  Size: 348 KiB

View File

@ -40,6 +40,7 @@
.highlight .nv { color: #bb60d5 } /* Name.Variable */
.highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #208050 } /* Literal.Number.Bin */
.highlight .mf { color: #208050 } /* Literal.Number.Float */
.highlight .mh { color: #208050 } /* Literal.Number.Hex */
.highlight .mi { color: #208050 } /* Literal.Number.Integer */

View File

@ -9,7 +9,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Index &mdash; Lorax 24.3 documentation</title>
<title>Index &mdash; Lorax 24.6 documentation</title>
@ -31,7 +31,7 @@
<link rel="top" title="Lorax 24.3 documentation" href="index.html"/>
<link rel="top" title="Lorax 24.6 documentation" href="index.html"/>
<script src="_static/js/modernizr.min.js"></script>
@ -88,6 +88,9 @@
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#using-mock-to-create-images">Using Mock to Create Images</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#openstack-image-creation">OpenStack Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#docker-image-creation">Docker Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#open-container-initiative-image-creation">Open Container Initiative Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#vagrant-image-creation">Vagrant Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#creating-uefi-disk-images-with-virt">Creating UEFI disk images with virt</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#debugging-problems">Debugging problems</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#hacking">Hacking</a></li>
</ul>
@ -1011,7 +1014,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./',
VERSION:'24.3',
VERSION:'24.6',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Welcome to Loraxs documentation! &mdash; Lorax 24.3 documentation</title>
<title>Welcome to Loraxs documentation! &mdash; Lorax 24.6 documentation</title>
@ -30,7 +30,7 @@
<link rel="top" title="Lorax 24.3 documentation" href="#"/>
<link rel="top" title="Lorax 24.6 documentation" href="#"/>
<link rel="next" title="Introduction to Lorax" href="intro.html"/>
@ -88,6 +88,9 @@
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#using-mock-to-create-images">Using Mock to Create Images</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#openstack-image-creation">OpenStack Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#docker-image-creation">Docker Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#open-container-initiative-image-creation">Open Container Initiative Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#vagrant-image-creation">Vagrant Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#creating-uefi-disk-images-with-virt">Creating UEFI disk images with virt</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#debugging-problems">Debugging problems</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#hacking">Hacking</a></li>
</ul>
@ -212,7 +215,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./',
VERSION:'24.3',
VERSION:'24.6',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Introduction to Lorax &mdash; Lorax 24.3 documentation</title>
<title>Introduction to Lorax &mdash; Lorax 24.6 documentation</title>
@ -30,7 +30,7 @@
<link rel="top" title="Lorax 24.3 documentation" href="index.html"/>
<link rel="top" title="Lorax 24.6 documentation" href="index.html"/>
<link rel="next" title="lorax" href="lorax.html"/>
<link rel="prev" title="Welcome to Loraxs documentation!" href="index.html"/>
@ -89,6 +89,9 @@
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#using-mock-to-create-images">Using Mock to Create Images</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#openstack-image-creation">OpenStack Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#docker-image-creation">Docker Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#open-container-initiative-image-creation">Open Container Initiative Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#vagrant-image-creation">Vagrant Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#creating-uefi-disk-images-with-virt">Creating UEFI disk images with virt</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#debugging-problems">Debugging problems</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#hacking">Hacking</a></li>
</ul>
@ -244,7 +247,7 @@ upd-instroot and mk-images* scripts.</p>
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./',
VERSION:'24.3',
VERSION:'24.6',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>livemedia-creator &mdash; Lorax 24.3 documentation</title>
<title>livemedia-creator &mdash; Lorax 24.6 documentation</title>
@ -30,7 +30,7 @@
<link rel="top" title="Lorax 24.3 documentation" href="index.html"/>
<link rel="top" title="Lorax 24.6 documentation" href="index.html"/>
<link rel="next" title="Product and Updates Images" href="product-images.html"/>
<link rel="prev" title="lorax" href="lorax.html"/>
@ -89,6 +89,9 @@
<li class="toctree-l2"><a class="reference internal" href="#using-mock-to-create-images">Using Mock to Create Images</a></li>
<li class="toctree-l2"><a class="reference internal" href="#openstack-image-creation">OpenStack Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="#docker-image-creation">Docker Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="#open-container-initiative-image-creation">Open Container Initiative Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="#vagrant-image-creation">Vagrant Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="#creating-uefi-disk-images-with-virt">Creating UEFI disk images with virt</a></li>
<li class="toctree-l2"><a class="reference internal" href="#debugging-problems">Debugging problems</a></li>
<li class="toctree-l2"><a class="reference internal" href="#hacking">Hacking</a></li>
</ul>
@ -333,6 +336,13 @@ afford to lose all data from.</li>
the current directory or in the directory used for &#8211;logfile</p>
<p>Example cmdline:</p>
<p><tt class="docutils literal"><span class="pre">sudo</span> <span class="pre">livemedia-creator</span> <span class="pre">--make-iso</span> <span class="pre">--no-virt</span> <span class="pre">--ks=./fedora-livemedia.ks</span></tt></p>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">Using no-virt to create a partitioned disk image (eg. &#8211;make-disk or
&#8211;make-vagrant) will only create disks usable on the host platform (BIOS
or UEFI). You can create BIOS partitioned disk images on UEFI by using
virt.</p>
</div>
</div>
<div class="section" id="ami-images">
<h2>AMI Images<a class="headerlink" href="#ami-images" title="Permalink to this headline"></a></h2>
@ -500,8 +510,7 @@ directory tree will also contain the vmlinuz, initrd, etc.</p>
<p>OpenStack supports partitioned disk images so <tt class="docutils literal"><span class="pre">--make-disk</span></tt> can be used to
create images for importing into glance, OpenStack&#8217;s image storage component.
You need to have access to an OpenStack provider that allows image uploads, or
setup your own using the instructions from the <cite>RDO Project
&lt;https://www.rdoproject.org/Quickstart&gt;</cite>.</p>
setup your own using the instructions from the <a class="reference external" href="https://www.rdoproject.org/Quickstart">RDO Project</a>.</p>
<p>The example kickstart, fedora-openstack.ks, is only slightly different than the
fedora-minimal.ks one. It adds the cloud-init and cloud-utils-growpart
packages. OpenStack supports setting up the image using cloud-init, and
@ -531,6 +540,71 @@ fedora-docker.ks example kickstart which removes the requirement for core files
<blockquote>
<div><tt class="docutils literal"><span class="pre">sudo</span> <span class="pre">docker</span> <span class="pre">run</span> <span class="pre">-i</span> <span class="pre">-t</span> <span class="pre">fedora-root</span> <span class="pre">/bin/bash</span></tt></div></blockquote>
</div>
<div class="section" id="open-container-initiative-image-creation">
<h2>Open Container Initiative Image Creation<a class="headerlink" href="#open-container-initiative-image-creation" title="Permalink to this headline"></a></h2>
<p>The OCI is a new specification that is still being worked on. You can read more about it at
<a class="reference external" href="https://www.opencontainers.org/">the Open Container Initiative website</a>. You can create
OCI images using the following command:</p>
<div class="highlight-python"><div class="highlight"><pre>sudo livemedia-creator --make-oci --oci-config /path/to/config.json --oci-runtime /path/to/runtime.json \
--iso=/path/to/boot.iso --ks=/path/to/fedora-minimal.ks
</pre></div>
</div>
<p>You must provide the config.json and runtime.json files to be included in the bundle,
their specifications can be found <a class="reference external" href="https://github.com/opencontainers/specs">on the OCI github project</a>
output will be in the results directory with a default name of bundle.tar.xz</p>
<p>This will work with <tt class="docutils literal"><span class="pre">--no-virt</span></tt> and inside a mock since it doesn&#8217;t use any
partitioned disk images.</p>
</div>
<div class="section" id="vagrant-image-creation">
<h2>Vagrant Image Creation<a class="headerlink" href="#vagrant-image-creation" title="Permalink to this headline"></a></h2>
<p><a class="reference external" href="https://www.vagrantup.com/">Vagrant</a> images can be created using the following command:</p>
<div class="highlight-python"><div class="highlight"><pre>sudo livemedia-creator --make-vagrant --vagrant-metadata /path/to/metadata.json \
--iso=/path/to/boot.iso --ks=/path/to/fedora-vagrant.ks
</pre></div>
</div>
<p>The image created is a <a class="reference external" href="https://github.com/pradels/vagrant-libvirt">vagrant-libvirt</a> provider image and needs to have
vagrant setup with libvirt before you can use it.</p>
<p>The <tt class="docutils literal"><span class="pre">--vagrant-metadata</span></tt> file is optional, it will create a minimal one by
default, and if one is passed it will make sure the disk size is setup
correctly. If you pass a <tt class="docutils literal"><span class="pre">--vagrant-vagrantfile</span></tt> it will be included in the
image verbatim. By default no vagrantfile is created.</p>
<p>There is an example Vagrant kickstart file in the docs directory that sets up
the vagrant user with the default insecure SSH pubkey and a few useful
utilities.</p>
<p>This also works with <tt class="docutils literal"><span class="pre">--no-virt</span></tt>, but will not work inside a mock due to its
use of partitioned disk images and qcow2.</p>
</div>
<div class="section" id="creating-uefi-disk-images-with-virt">
<h2>Creating UEFI disk images with virt<a class="headerlink" href="#creating-uefi-disk-images-with-virt" title="Permalink to this headline"></a></h2>
<p>Partitioned disk images can only be created for the same platform as the host system (BIOS or
UEFI). You can use virt to create BIOS images on UEFI systems, and it is also possible
to create UEFI images on BIOS systems using OVMF. You first need to setup your system with
the OVMF firmware. The details can be <a class="reference external" href="http://www.linux-kvm.org/page/OVMF">found here linux-kvm OVMF page</a>
but it amounts to:</p>
<ol class="arabic simple">
<li>Download the firmware.repo from <a class="reference external" href="https://www.kraxel.org/repos/">Gerd Hoffmann</a> and install it
in /etc/yum.repos.d/</li>
<li>Install the edk2.git-ovmf-x64 package</li>
<li>Copy /usr/share/edk2.git/ovmf-x64/OVMF_CODE-pure-efi.fd to /usr/share/OVMF/OVMF_CODE.fd</li>
<li>Copy /usr/share/edk2.git/ovmf-x64/OVMF_VARS-pure-efi.fd to /usr/share/OVMF/OVMF_VARS.fd</li>
</ol>
<p>Now you can run livemedia-creator with <tt class="docutils literal"><span class="pre">--virt-uefi</span></tt> to boot and install using UEFI:</p>
<div class="highlight-python"><div class="highlight"><pre>sudo livemedia-creator --make-disk --virt-uefi --iso=/path/to/boot.iso \
--ks=/path/to/fedora-minimal.ks
</pre></div>
</div>
<p>Make sure that the kickstart you are using creates a /boot/efi partition by including this:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="n">part</span> <span class="o">/</span><span class="n">boot</span><span class="o">/</span><span class="n">efi</span> <span class="o">--</span><span class="n">fstype</span><span class="o">=</span><span class="s">&quot;efi&quot;</span> <span class="o">--</span><span class="n">size</span><span class="o">=</span><span class="mi">500</span>
</pre></div>
</div>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">When using the resulting image with the current version of OVMF (edk2.git-ovmf-x64-0-20151103.b1295.ge5cffca)
it will not boot automatically because there is a problem with the fallback path.
You can boot it by entering the UEFI shell and running EFI/fedora/shim.efi and
then using efibootmgr to setup the correct boot entry.</p>
</div>
</div>
<div class="section" id="debugging-problems">
<h2>Debugging problems<a class="headerlink" href="#debugging-problems" title="Permalink to this headline"></a></h2>
<p>Sometimes an installation will get stuck. When using virt-install the logs will
@ -611,7 +685,7 @@ report bugs against the lorax component.</p>
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./',
VERSION:'24.3',
VERSION:'24.6',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>lorax &mdash; Lorax 24.3 documentation</title>
<title>lorax &mdash; Lorax 24.6 documentation</title>
@ -30,7 +30,7 @@
<link rel="top" title="Lorax 24.3 documentation" href="index.html"/>
<link rel="top" title="Lorax 24.6 documentation" href="index.html"/>
<link rel="next" title="livemedia-creator" href="livemedia-creator.html"/>
<link rel="prev" title="Introduction to Lorax" href="intro.html"/>
@ -89,6 +89,9 @@
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#using-mock-to-create-images">Using Mock to Create Images</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#openstack-image-creation">OpenStack Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#docker-image-creation">Docker Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#open-container-initiative-image-creation">Open Container Initiative Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#vagrant-image-creation">Vagrant Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#creating-uefi-disk-images-with-virt">Creating UEFI disk images with virt</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#debugging-problems">Debugging problems</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#hacking">Hacking</a></li>
</ul>
@ -197,7 +200,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./',
VERSION:'24.3',
VERSION:'24.6',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax &mdash; Lorax 24.3 documentation</title>
<title>pylorax &mdash; Lorax 24.6 documentation</title>
@ -30,7 +30,7 @@
<link rel="top" title="Lorax 24.3 documentation" href="index.html"/>
<link rel="top" title="Lorax 24.6 documentation" href="index.html"/>
<link rel="next" title="pylorax package" href="pylorax.html"/>
<link rel="prev" title="Product and Updates Images" href="product-images.html"/>
@ -89,6 +89,9 @@
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#using-mock-to-create-images">Using Mock to Create Images</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#openstack-image-creation">OpenStack Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#docker-image-creation">Docker Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#open-container-initiative-image-creation">Open Container Initiative Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#vagrant-image-creation">Vagrant Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#creating-uefi-disk-images-with-virt">Creating UEFI disk images with virt</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#debugging-problems">Debugging problems</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#hacking">Hacking</a></li>
</ul>
@ -219,7 +222,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./',
VERSION:'24.3',
VERSION:'24.6',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true

Binary file not shown.

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Product and Updates Images &mdash; Lorax 24.3 documentation</title>
<title>Product and Updates Images &mdash; Lorax 24.6 documentation</title>
@ -30,7 +30,7 @@
<link rel="top" title="Lorax 24.3 documentation" href="index.html"/>
<link rel="top" title="Lorax 24.6 documentation" href="index.html"/>
<link rel="next" title="pylorax" href="modules.html"/>
<link rel="prev" title="livemedia-creator" href="livemedia-creator.html"/>
@ -89,6 +89,9 @@
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#using-mock-to-create-images">Using Mock to Create Images</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#openstack-image-creation">OpenStack Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#docker-image-creation">Docker Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#open-container-initiative-image-creation">Open Container Initiative Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#vagrant-image-creation">Vagrant Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#creating-uefi-disk-images-with-virt">Creating UEFI disk images with virt</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#debugging-problems">Debugging problems</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#hacking">Hacking</a></li>
</ul>
@ -156,12 +159,15 @@
<div class="section" id="product-and-updates-images">
<h1>Product and Updates Images<a class="headerlink" href="#product-and-updates-images" title="Permalink to this headline"></a></h1>
<p>Lorax now supports creation of product.img and updates.img as part of the build
process. This is implemented using the installimg command which will take the
contents of a directory and create a compressed archive from it. The x86, ppc,
ppc64le and aarch64 templates all look for /usr/share/lorax/product/ and
/usr/share/lorax/updates/ directories while creating the final install tree. If
there are files in those directories lorax will create images/product.img
and/or images/updates.img</p>
process. This is implemented using the installimg template command which will
take the contents of a directory and create a compressed archive from it. The
directory must be created by one of the packages installed by
runtime-install.tmpl or by passing <tt class="docutils literal"><span class="pre">--installpkgs</span> <span class="pre">&lt;pkgname&gt;</span></tt> to lorax at
runtime. The x86, ppc, ppc64le and aarch64 templates all look for
/usr/share/lorax/product/ and /usr/share/lorax/updates/ directories in the
install chroot while creating the final install tree. If there are files in
those directories lorax will create images/product.img and/or
images/updates.img</p>
<p>These archives are just like an anaconda updates image &#8211; their contents are
copied over the top of the filesystem at boot time so that you can drop in
files to add to or replace anything on the filesystem.</p>
@ -213,7 +219,7 @@ command or the installpkgs paramater of <a class="reference internal" href="pylo
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./',
VERSION:'24.3',
VERSION:'24.6',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Python Module Index &mdash; Lorax 24.3 documentation</title>
<title>Python Module Index &mdash; Lorax 24.6 documentation</title>
@ -30,7 +30,7 @@
<link rel="top" title="Lorax 24.3 documentation" href="index.html"/>
<link rel="top" title="Lorax 24.6 documentation" href="index.html"/>
@ -90,6 +90,9 @@
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#using-mock-to-create-images">Using Mock to Create Images</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#openstack-image-creation">OpenStack Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#docker-image-creation">Docker Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#open-container-initiative-image-creation">Open Container Initiative Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#vagrant-image-creation">Vagrant Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#creating-uefi-disk-images-with-virt">Creating UEFI disk images with virt</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#debugging-problems">Debugging problems</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#hacking">Hacking</a></li>
</ul>
@ -271,7 +274,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./',
VERSION:'24.3',
VERSION:'24.6',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax package &mdash; Lorax 24.3 documentation</title>
<title>pylorax package &mdash; Lorax 24.6 documentation</title>
@ -30,7 +30,7 @@
<link rel="top" title="Lorax 24.3 documentation" href="index.html"/>
<link rel="top" title="Lorax 24.6 documentation" href="index.html"/>
<link rel="up" title="pylorax" href="modules.html"/>
<link rel="prev" title="pylorax" href="modules.html"/>
@ -89,6 +89,9 @@
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#using-mock-to-create-images">Using Mock to Create Images</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#openstack-image-creation">OpenStack Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#docker-image-creation">Docker Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#open-container-initiative-image-creation">Open Container Initiative Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#vagrant-image-creation">Vagrant Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#creating-uefi-disk-images-with-virt">Creating UEFI disk images with virt</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#debugging-problems">Debugging problems</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#hacking">Hacking</a></li>
</ul>
@ -296,7 +299,7 @@
<dl class="function">
<dt id="pylorax.executils.execReadlines">
<tt class="descclassname">pylorax.executils.</tt><tt class="descname">execReadlines</tt><big>(</big><em>command</em>, <em>argv</em>, <em>stdin=None</em>, <em>root='/'</em>, <em>env_prune=None</em>, <em>filter_stderr=False</em>, <em>callback=&lt;function &lt;lambda&gt; at 0x7feb4d341400&gt;</em>, <em>env_add=None</em>, <em>reset_handlers=True</em>, <em>reset_lang=True</em><big>)</big><a class="reference internal" href="_modules/pylorax/executils.html#execReadlines"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.executils.execReadlines" title="Permalink to this definition"></a></dt>
<tt class="descclassname">pylorax.executils.</tt><tt class="descname">execReadlines</tt><big>(</big><em>command</em>, <em>argv</em>, <em>stdin=None</em>, <em>root='/'</em>, <em>env_prune=None</em>, <em>filter_stderr=False</em>, <em>callback=&lt;function &lt;lambda&gt; at 0x7fdc67952d08&gt;</em>, <em>env_add=None</em>, <em>reset_handlers=True</em>, <em>reset_lang=True</em><big>)</big><a class="reference internal" href="_modules/pylorax/executils.html#execReadlines"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.executils.execReadlines" title="Permalink to this definition"></a></dt>
<dd><p>Execute an external command and return the line output of the command
in real-time.</p>
<p>This method assumes that there is a reasonably low delay between the
@ -485,7 +488,7 @@ last.</p>
<dl class="class">
<dt id="pylorax.imgutils.PartitionMount">
<em class="property">class </em><tt class="descclassname">pylorax.imgutils.</tt><tt class="descname">PartitionMount</tt><big>(</big><em>disk_img</em>, <em>mount_ok=None</em><big>)</big><a class="reference internal" href="_modules/pylorax/imgutils.html#PartitionMount"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.imgutils.PartitionMount" title="Permalink to this definition"></a></dt>
<em class="property">class </em><tt class="descclassname">pylorax.imgutils.</tt><tt class="descname">PartitionMount</tt><big>(</big><em>disk_img</em>, <em>mount_ok=None</em>, <em>submount=None</em><big>)</big><a class="reference internal" href="_modules/pylorax/imgutils.html#PartitionMount"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.imgutils.PartitionMount" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">builtins.object</span></tt></p>
<p>Mount a partitioned image file using kpartx</p>
</dd></dl>
@ -635,7 +638,7 @@ in options.</p>
<dl class="function">
<dt id="pylorax.imgutils.mktar">
<tt class="descclassname">pylorax.imgutils.</tt><tt class="descname">mktar</tt><big>(</big><em>rootdir</em>, <em>outfile</em>, <em>compression='xz'</em>, <em>compressargs=None</em><big>)</big><a class="reference internal" href="_modules/pylorax/imgutils.html#mktar"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.imgutils.mktar" title="Permalink to this definition"></a></dt>
<tt class="descclassname">pylorax.imgutils.</tt><tt class="descname">mktar</tt><big>(</big><em>rootdir</em>, <em>outfile</em>, <em>compression='xz'</em>, <em>compressargs=None</em>, <em>selinux=True</em><big>)</big><a class="reference internal" href="_modules/pylorax/imgutils.html#mktar"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.imgutils.mktar" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
@ -1418,7 +1421,7 @@ image is built with the filename &#8220;${prefix}-${kernel.version}.img&#8221;</
<dd><p>Bases: <a class="reference internal" href="#pylorax.base.DataHolder" title="pylorax.base.DataHolder"><tt class="xref py py-class docutils literal"><span class="pre">pylorax.base.DataHolder</span></tt></a></p>
<dl class="attribute">
<dt id="pylorax.ArchData.bcj_arch">
<tt class="descname">bcj_arch</tt><em class="property"> = {'ppc64': 'powerpc', 'i386': 'x86', 'ppc': 'powerpc', 'ppc64le': 'powerpc', 'x86_64': 'x86', 'arm': 'arm', 'armhfp': 'arm'}</em><a class="headerlink" href="#pylorax.ArchData.bcj_arch" title="Permalink to this definition"></a></dt>
<tt class="descname">bcj_arch</tt><em class="property"> = {'armhfp': 'arm', 'i386': 'x86', 'arm': 'arm', 'ppc': 'powerpc', 'x86_64': 'x86', 'ppc64': 'powerpc', 'ppc64le': 'powerpc'}</em><a class="headerlink" href="#pylorax.ArchData.bcj_arch" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
@ -1517,7 +1520,7 @@ image is built with the filename &#8220;${prefix}-${kernel.version}.img&#8221;</
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./',
VERSION:'24.3',
VERSION:'24.6',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Search &mdash; Lorax 24.3 documentation</title>
<title>Search &mdash; Lorax 24.6 documentation</title>
@ -30,7 +30,7 @@
<link rel="top" title="Lorax 24.3 documentation" href="index.html"/>
<link rel="top" title="Lorax 24.6 documentation" href="index.html"/>
<script src="_static/js/modernizr.min.js"></script>
@ -87,6 +87,9 @@
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#using-mock-to-create-images">Using Mock to Create Images</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#openstack-image-creation">OpenStack Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#docker-image-creation">Docker Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#open-container-initiative-image-creation">Open Container Initiative Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#vagrant-image-creation">Vagrant Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#creating-uefi-disk-images-with-virt">Creating UEFI disk images with virt</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#debugging-problems">Debugging problems</a></li>
<li class="toctree-l2"><a class="reference internal" href="livemedia-creator.html#hacking">Hacking</a></li>
</ul>
@ -190,7 +193,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./',
VERSION:'24.3',
VERSION:'24.6',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true

File diff suppressed because one or more lines are too long