diff --git a/docs/live-wrapper/_modules/index.html b/docs/live-wrapper/_modules/index.html deleted file mode 100644 index 8b64f5374f8d3c0e2161996bb2b30d859f21634d..0000000000000000000000000000000000000000 --- a/docs/live-wrapper/_modules/index.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - Overview: module code — live-wrapper 0.7 documentation - - - - - - - - - - - - - - -
-
-
-
- -

All modules for which code is available

- - -
-
-
- -
-
- - - - \ No newline at end of file diff --git a/docs/live-wrapper/_modules/lwr/disk.html b/docs/live-wrapper/_modules/lwr/disk.html deleted file mode 100644 index 7cee89845a4e39a2ddcc552a716fed68a61bab34..0000000000000000000000000000000000000000 --- a/docs/live-wrapper/_modules/lwr/disk.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - - lwr.disk — live-wrapper 0.7 documentation - - - - - - - - - - - - - - -
-
-
-
- -

Source code for lwr.disk

-# live-wrapper - Wrapper for vmdebootstrap for creating live images
-# (C) Iain R. Learmonth 2015 <irl@debian.org>
-# See COPYING for terms of usage, modification and redistribution.
-#
-# lwr/disk.py - .disk folder helpers
-
-"""
-This module provides helpers for generating the metadata stored in .disk/ on
-the cdroot.
-"""
-
-import os
-from datetime import datetime
-
-
[docs]def get_default_description(distribution): - distribution = distribution if distribution else "dist" - if 'official' in os.environ.get('LWR_DEBUG', ''): - return "Official Debian GNU/Linux '%s' Live" % (distribution,) - else: - return "Unofficial Debian GNU/Linux '%s' Live" % (distribution,)
- - -
[docs]def install_disk_info(cdroot, description, xorriso_args): - """ - This function creates the .disk/ metadata and installs it into the - specified cdroot. - """ - - timestamp = datetime.utcnow().strftime("%Y-%m-%dT%H:%M") - metadir = cdroot['.disk'].path - with open(os.path.join(metadir, "info"), "w") as i: - i.write("%s %s" % (description, timestamp,)) - with open(os.path.join(metadir, "udeb_include"), "w") as i: - i.write("netcfg\nethdetect\npcmciautils-udeb\nlive-installer\n") - with open(os.path.join(metadir, "cd_type"), "w") as i: - i.write("live") - with open(os.path.join(metadir, "base_installable"), "w") as i: - i.write("") - with open(os.path.join(metadir, "base_components"), "w") as i: - i.write("main") - with open(os.path.join(metadir, "mkisofs"), "w") as i: - i.write(xorriso_args)
-
- -
-
-
- -
-
- - - - \ No newline at end of file diff --git a/docs/live-wrapper/_modules/lwr/grub.html b/docs/live-wrapper/_modules/lwr/grub.html deleted file mode 100644 index 95f196e98514447d937c3e3c0cc36871b779a2cc..0000000000000000000000000000000000000000 --- a/docs/live-wrapper/_modules/lwr/grub.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - - - lwr.grub — live-wrapper 0.7 documentation - - - - - - - - - - - - - - -
-
-
-
- -

Source code for lwr.grub

-# live-wrapper - Wrapper for vmdebootstrap for creating live images
-# (C) Iain R. Learmonth 2015 <irl@debian.org>
-# See COPYING for terms of usage, modification and redistribution.
-#
-# lwr/grub.py - Grub 2 helpers
-
-"""
-The lwr.grub module contains helpers for GRUB 2 including the installation
-of GRUB files to the cdroot and the generation of the grub.cfg and loopback.cfg
-files.
-"""
-
-import os
-
-
[docs]def generate_cfg(bootconfig, submenu=False): - if not submenu: - ret = ("if [ ${iso_path} ] ; then\nset loopback=\"" + - "findiso=${iso_path}\"\nfi\n\n") - else: - ret = str() - for entry in bootconfig.entries: - if entry['type'] == "menu": - if entry['subentries'].is_empty(["linux", "menu"]): - continue - ret += "submenu \"%s\" {\n" % (entry['description'],) - ret += generate_cfg(entry['subentries'], submenu=True) - ret += "}\n" - if entry['type'] == "linux": - ret += "menuentry \"%s\" {\n" % (entry['description'],) - ret += " linux %s %s \"${loopback}\"\n" % (entry['kernel'], entry.get('cmdline', ''),) - if entry.get('initrd') is not None: - ret += " initrd %s\n" % (entry['initrd'],) - ret += "}\n" - return ret
- -
[docs]def install_grub(cdroot, bootconfig): - """ - Can use cdroot as a relative path inside the actual cdroot. - The d-i/ and live/ directories are used directly. - """ - cfg = generate_cfg(bootconfig) - with open("%s/boot/grub/grub.cfg" % (cdroot,), "a") as cfgout: - cfgout.write(cfg) - with open("%s/boot/grub/loopback.cfg" % (cdroot,), "w") as loopout: - loopout.write("source /grub/grub.cfg")
-
- -
-
-
- -
-
- - - - \ No newline at end of file diff --git a/docs/live-wrapper/_modules/lwr/isolinux.html b/docs/live-wrapper/_modules/lwr/isolinux.html deleted file mode 100644 index 4c932da8ced05dd2281af0a44c41240527a2268b..0000000000000000000000000000000000000000 --- a/docs/live-wrapper/_modules/lwr/isolinux.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - - lwr.isolinux — live-wrapper 0.7 documentation - - - - - - - - - - - - - - -
-
-
-
- -

Source code for lwr.isolinux

-# live-wrapper - Wrapper for vmdebootstrap for creating live images
-# (C) Iain R. Learmonth 2015 <irl@debian.org>
-# See COPYING for terms of usage, modification and redistribution.
-#
-# lwr/isolinux.py - ISOLINUX helpers
-
-"""
-The lwr.isolinux module contains helpers for isolinux including the
-installation of isolinux files to the cdroot and the generation of the
-isolinux.cfg files.
-Directory listing of /isolinux/
-advanced.cfg boot.cat hdt.c32 install.cfg isolinux.bin isolinux.cfg
-ldlinux.c32 libcom32.c32 libutil.c32 live.cfg menu.cfg splash.png
-stdmenu.cfg vesamenu.c32
-"""
-
-import os
-import sys
-import shutil
-import string
-import fileinput
-import tempfile
-import cliapp
-from vmdebootstrap.base import runcmd
-from lwr.vm import detect_kernels
-from lwr.apt_udeb import get_apt_handler
-
-# pylint: disable=missing-docstring
-
-
[docs]def generate_cfg(bootconfig, submenu=False): - ret = str() - if not submenu: - first = True - ret += "INCLUDE stdmenu.cfg\n" - ret += "MENU title Main Menu\n" - else: - first = False - - for entry in bootconfig.entries: - label = "%s" % (entry['description'],) - if entry['type'] is 'menu': - if entry['subentries'].is_empty(["menu", "linux", "linux16", "com32"]): - continue - ret += "MENU begin advanced\n" - ret += "MENU title %s\n" % (label,) - ret += generate_cfg(entry['subentries'], submenu=True) - ret += " LABEL mainmenu \n " - ret += " MENU label Back\n " - ret += " MENU exit\n " - ret += " MENU end\n " - - # do not want to default to menus - if first: - ret += "DEFAULT %s\n" % (label,) - first = False - if entry['type'].startswith('linux') or entry['type'] is 'com32': - type = 'linux' if entry['type'].startswith('linux') else entry['type'] - ret += "LABEL %s\n" % (label,) - ret += " SAY \"Booting %s...\"\n" % (entry['description'],) - ret += " %s %s\n" % (entry['type'], entry['kernel'],) - if entry.get('initrd') is not None: - ret += " APPEND initrd=%s %s\n" % (entry['initrd'], entry.get('cmdline', ''),) - elif entry.get('cmdline') is not None: - ret += " APPEND %s\n" % (entry['cmdline'],) - ret += "\n" - return ret
- -
[docs]def install_isolinux(cdroot, mirror, suite, architecture, bootconfig): - """ - Download and unpack the correct syslinux-common - and isolinux packages for isolinux support. - ISOLINUX looks first in boot/isolinux/ then isolinux/ then / - This function puts all files into isolinux/ - """ - destdir = tempfile.mkdtemp() - handler = get_apt_handler(destdir, mirror, suite, architecture) - filename = handler.download_package('syslinux-common', destdir) - # these files are put directly into cdroot/isolinux - syslinux_files = [ - 'ldlinux.c32', 'libcom32.c32', 'vesamenu.c32', - 'libutil.c32', 'libmenu.c32', 'libgpl.c32', 'hdt.c32' - ] - if filename: - runcmd(['dpkg', '-x', filename, destdir]) - for syslinux_file in syslinux_files: - shutil.copyfile( - os.path.join(destdir, "usr/lib/syslinux/modules/bios/%s" % syslinux_file), - "%s/%s" % (cdroot, syslinux_file)) - shutil.copyfile( - os.path.join(destdir, "usr/lib/syslinux/memdisk"), - "%s/memdisk" % (cdroot,)) - else: - handler.clean_up_apt() - shutil.rmtree(destdir) - raise cliapp.AppException('Unable to download syslinux-common') - filename = handler.download_package('isolinux', destdir) - if filename: - runcmd(['dpkg', '-x', filename, destdir]) - shutil.copyfile( - os.path.join(destdir, "usr/lib/ISOLINUX/isolinux.bin"), - "%s/isolinux.bin" % cdroot) - else: - handler.clean_up_apt() - shutil.rmtree(destdir) - raise cliapp.AppException('Unable to download isolinux') - handler.clean_up_apt() - shutil.rmtree(destdir) - - cfg = generate_cfg(bootconfig) - with open("%s/%s" % (cdroot, "menu.cfg"), "w") as cfgout: - cfgout.write(cfg) - - # Fix the menu display size in stdmeny.cfg (#861421) - runcmd(['sed', '-i', 's,menu rows 12,menu rows 8,g', - os.path.join(cdroot, 'stdmenu.cfg')])
-
- -
-
-
- -
-
- - - - \ No newline at end of file diff --git a/docs/live-wrapper/_modules/lwr/vm.html b/docs/live-wrapper/_modules/lwr/vm.html deleted file mode 100644 index b43a728a1bc201b0d00d23edb0db266fdc95877f..0000000000000000000000000000000000000000 --- a/docs/live-wrapper/_modules/lwr/vm.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - lwr.vm — live-wrapper 0.7 documentation - - - - - - - - - - - - - - -
-
-
-
- -

Source code for lwr.vm

-# live-wrapper - Wrapper for vmdebootstrap for creating live images
-# (C) Iain R. Learmonth 2015 <irl@debian.org>
-# See COPYING for terms of usage, modification and redistribution.
-#
-# lwr/vm.py - vmdebootstrap helpers
-
-"""
-The lwr.vm module provides helpers for calling vmdebootstrap as part of the
-image creation process.
-
-Directory listing of /live/
-filesystem.packages
-filesystem.packages-remove
-filesystem.squashfs
-initrd.img
-vmlinuz
-
-.. note::
-    This module requires that the vmdebootstrap modules be available in the
-    Python path.
-"""
-
-import os
-import logging
-
-import cliapp
-from vmdebootstrap.base import runcmd
-
-# pylint: disable=superfluous-parens,missing-docstring,too-few-public-methods
-
-
[docs]class VMDebootstrap(object): - - def __init__(self, distribution, architecture, mirror, cdroot, customise, apt_mirror): - self.cdroot = cdroot - self.args = ["vmdebootstrap", - "--sudo", "--lock-root-password", - "--no-systemd-networkd", - "--arch", architecture, - "--enable-dhcp", "--configure-apt", "--verbose", - "--log", "vmdebootstrap.log", - "--squash=%s" % os.path.join(self.cdroot, 'live'), - "--log-level", "debug"] - self.args.extend(["--distribution", distribution]) - self.args.extend(["--mirror", mirror]) - self.args.extend(["--apt-mirror", apt_mirror]) - - # FIXME: Logging should happen here - if os.path.exists(customise): - self.args.extend(["--customize", customise]) - else: - raise cliapp.AppException("Could not read customise script at %s" % customise) - -
[docs] def run(self): - logging.debug("vmdebootstrap command: %s" % (' '.join(self.args),)) - runcmd(self.args) - logging.debug("vmdebootstrap completed, see vmdebootstrap.log for details")
- - -
[docs]def detect_kernels(cdroot): - versions = [] - filenames = os.listdir(os.path.join(cdroot, "live")) - for filename in filenames: - if filename[0:8] == "vmlinuz-": - versions.append(filename[8:]) - return versions
-
- -
-
-
- -
-
- - - - \ No newline at end of file diff --git a/docs/live-wrapper/_modules/lwr/xorriso.html b/docs/live-wrapper/_modules/lwr/xorriso.html deleted file mode 100644 index 25a84f3e430309a4b268ad3319d1cffd9b232e46..0000000000000000000000000000000000000000 --- a/docs/live-wrapper/_modules/lwr/xorriso.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - - lwr.xorriso — live-wrapper 0.7 documentation - - - - - - - - - - - - - - -
-
-
-
- -

Source code for lwr.xorriso

-# live-wrapper - Wrapper for vmdebootstrap for creating live images
-# (C) Iain R. Learmonth 2015 <irl@debian.org>
-# See COPYING for terms of usage, modification and redistribution.
-#
-# lwr/xorriso.py - xorriso helpers
-
-"""
-The lwr.xorriso module provides helpers for calling xorriso as part of the
-image creation process.
-
-.. note:: This module requires that the vmdebootstrap modules be available in
-          the Python path.
-"""
-
-import cliapp
-from vmdebootstrap.base import runcmd
-
-# pylint: disable=missing-docstring,superfluous-parens
-
-
[docs]class Xorriso(object): - """ - This class acts as a wrapper for ``xorriso`` and allows for the command - line arguments passed to be built based on the settings given to the main - application. - """ - - def __init__(self, image_output, volume_id, isolinux=True, grub=True): - self.image_output = image_output - self.volume_id = volume_id - self.isolinux = isolinux - self.grub = grub - self.args = ['xorriso'] - -
[docs] def build_args(self, cdroot): - if len(self.args) > 1: - cliapp.AppException("Attempted to rebuild xorriso arguments while" - "they are already defined!") - self.args.extend(['-outdev', self.image_output]) - self.args.extend(['-volid', self.volume_id]) - self.args.extend(['-map', cdroot, '/']) - self.args.extend(['-chmod', '0755', '/', '--']) - - if self.isolinux: - self.args.extend(['-boot_image', 'isolinux', 'dir=/isolinux', - '-boot_image', 'isolinux', - 'system_area=/usr/lib/ISOLINUX/isohdpfx.bin']) - - if self.grub: - self.args.extend(['-boot_image', 'any', 'next', - '-boot_image', 'any', 'efi_path=boot/grub/efi.img', - '-boot_image', 'isolinux', 'partition_entry=gpt_basdat' - ]) - - return self.args
- -
[docs] def build_image(self): - """ - This will call ``xorriso`` with the arguments built. - - .. note:: - :any:`Xorriso.build_args` must have been called before - calling :any:`Xorriso.build_image`. - - .. warning:: - The ``xorriso`` binary must be present in the current PATH. - """ - if len(self.args) == 1: - cliapp.AppException("Attempted to run xorriso before building " - "arguments!") - print(' '.join(self.args)) - runcmd(self.args)
-
- -
-
-
- -
-
- - - - \ No newline at end of file diff --git a/docs/live-wrapper/_sources/advanced.rst.txt b/docs/live-wrapper/_sources/advanced.rst.txt deleted file mode 100644 index b3b42998e24f2ce63b0af9c789698de8e0be0065..0000000000000000000000000000000000000000 --- a/docs/live-wrapper/_sources/advanced.rst.txt +++ /dev/null @@ -1,29 +0,0 @@ -Advanced Topics -=============== - -Bootloader Customisation ------------------------- - -By default, both ISOLINUX (for BIOS boot) and GRUB 2 (for EFI boot) are -installed into the images. A ``loopback.cfg`` file is also installed to allow -for the image to be booted while still an ISO image in a filesystem. - -You can pass ``--no-isolinux`` to prevent the installation of ISOLINUX to the -image if you do not want ISOLINUX. - -You can pass ``--no-grub`` to prevent the installation of GRUB to the image. - -If you do not want GRUB installed but you would still like the ``loopback.cfg`` -file to be installed, you can pass ``--grub-loopback-only``. - -Using an Alternative Build Directory ------------------------------------- - -Temporary directories are created using the Python standard library functions -for doing so. On Debian systems, this typically means that the directories are -created in ``/tmp``. If this is problematic for you, perhaps due to filesystem -permissions, you can change the path that Python will use to create directories -in by using the ``TMP`` environment variable, for example:: - - sudo TMP=/other/path lwr --blah --blah - diff --git a/docs/live-wrapper/_sources/dev.rst.txt b/docs/live-wrapper/_sources/dev.rst.txt deleted file mode 100644 index bcdb85d16b3961e3c33d38f2d863f263590cd88e..0000000000000000000000000000000000000000 --- a/docs/live-wrapper/_sources/dev.rst.txt +++ /dev/null @@ -1,9 +0,0 @@ - -Developer Documentation -======================= - -.. toctree:: - :maxdepth: 2 - - lwr - diff --git a/docs/live-wrapper/_sources/index.rst.txt b/docs/live-wrapper/_sources/index.rst.txt deleted file mode 100644 index 1b9e5dc1c134ade0f14af0597d04e9d0eac3f8f4..0000000000000000000000000000000000000000 --- a/docs/live-wrapper/_sources/index.rst.txt +++ /dev/null @@ -1,20 +0,0 @@ -Welcome to live-wrapper's documentation! -========================================= - -Contents: - -.. toctree:: - :maxdepth: 2 - - intro - quickstart - advanced - dev - -Indices and tables -================== - -* :ref:`genindex` -* :ref:`modindex` -* :ref:`search` - diff --git a/docs/live-wrapper/_sources/intro.rst.txt b/docs/live-wrapper/_sources/intro.rst.txt deleted file mode 100644 index afcac0e3ef6cd914d3ffe4be404da72d91209fbd..0000000000000000000000000000000000000000 --- a/docs/live-wrapper/_sources/intro.rst.txt +++ /dev/null @@ -1,11 +0,0 @@ -Introduction -============ - -live-wrapper is a tool produced by the `Debian Live Team -`_ that can be used to create -Debian-based live images for use with CDs, DVDs or USB sticks. - -live-wrapper is designed to, as far as is possible, exist only as glue between -existing tools. The root filesystem is built using `vmdebootstrap` and -isohybrid image creation is provided by `xorriso`. - diff --git a/docs/live-wrapper/_sources/lwr.rst.txt b/docs/live-wrapper/_sources/lwr.rst.txt deleted file mode 100644 index db707c935d14f68c885364ebde67f6f6d0910ffc..0000000000000000000000000000000000000000 --- a/docs/live-wrapper/_sources/lwr.rst.txt +++ /dev/null @@ -1,36 +0,0 @@ - -Helper Documentation -==================== - -Root Filesystem Helpers ------------------------ - -.. automodule:: lwr.vm - :members: - :undoc-members: - -Bootloader Helpers ------------------- - -.. automodule:: lwr.grub - :members: - :undoc-members: - -.. automodule:: lwr.isolinux - :members: - :undoc-members: - -CD Filesystem Helpers ---------------------- - -.. automodule:: lwr.disk - :members: - :undoc-members: - -ISO Creation Helpers --------------------- - -.. automodule:: lwr.xorriso - :members: - :undoc-members: - diff --git a/docs/live-wrapper/_sources/quickstart.rst.txt b/docs/live-wrapper/_sources/quickstart.rst.txt deleted file mode 100644 index ba078d405ecc19768fc5ccf1c316131d1ab15ee9..0000000000000000000000000000000000000000 --- a/docs/live-wrapper/_sources/quickstart.rst.txt +++ /dev/null @@ -1,181 +0,0 @@ -Quickstart -========== - -Super Fast Quickstart ---------------------- - -Building images with live-wrapper is quite simple. For the impatient: - -.. code-block:: shell - - sudo apt install live-wrapper - sudo lwr - -This will build you a file named ``output.iso`` in the current directory -containing a minimal live-image. - -.. warning:: - - Currently live-wrapper will create a lot of files and directories in the - current working directory. There is a TODO item to move these to a temporary - location and clean up afterwards, though this has not yet been fully - implemented. You may want to use an empty directory to run ``lwr`` in. - -Customising the Image ---------------------- - -There are a number of supported command-line arguments that can be passed to -live-wrapper. These change the behaviour to create a customised image. - -Changing the Distribution -~~~~~~~~~~~~~~~~~~~~~~~~~ - -By default, the ISO image will be built using the ``stretch`` distribution. If -you'd like to build using ``buster`` or ``sid`` you can pass the ``-d`` -parameter to live-wrapper like so: - -.. code-block:: shell - - sudo lwr -d buster - -.. note:: - - You must use the codename, and not the suite (e.g. stable), when specifying - the distribution. - -Using an Alternative Mirror -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -By default, ``vmdebootstrap`` will use the mirror configured in your -``/etc/apt/sources.list``. If you have a faster mirror available, you may want -to change the mirror you're using to create the image. You can do this with the -``-m`` parameter: - -.. code-block:: shell - - sudo lwr -m http://localhost/debian/ - -You may also configure the mirror that will be configured *inside* the -image. This will be used for any extra packages that are specified, -and will also be the mirror that the image will use after the build is -complete. Change this with the ``--apt-mirror`` parameter: - -.. code-block:: shell - - sudo lwr -m http://localhost/debian/ --apt-mirror http://deb.debian.org/debian - -By default this is set to ``http://deb.debian.org/debian`` - -Customising Packages -~~~~~~~~~~~~~~~~~~~~ - -There are several methods for specifying extra packages to be -installed into the live image: - - * ``-t`` / ``--tasks`` should be used to give a list of **task** - packages to be included in the image. These will be installed as - part of the ``vmdebootstrap`` hook, so all their "Depends" and - "Recommends" will be installed too. - - * ``-e`` / ``--extra`` allows for a list of extra non-task packages - to be installed, again with all their "Depends" and "Recommends" - included. - - * ``-f`` / ``--firmware`` allows for a list of firmware packages to - be installed in the image, again with all their "Depends" and - "Recommends" included. **Also** each of these packages will be - downloaded and saved into the image so that an included installer - will automatically find them for installation. **BEWARE** that - using this option is likely to mean your image will include - non-free software. Check the licensing carefully before - distributing it. - -For example: - -.. code-block:: shell - - sudo lwr -e vim -t science-typesetting - -.. code-block:: shell - - sudo lwr -e "emacs25 jed" -t live-task-xfce -f "firmware-iwlwifi firmware-realtek" - -Finally, if you want to make a live image that will work as a -standalone source for installation you will need to specify a list of -"base" packages. This is the list of packages that will need to be -installed *after* the contents of the live image is copied to the new -system. This is essentially a list of bootloader packages and a few -utility packages that they use. Specify this list with the -``--base_debs`` parameter. For example, this is the list needed for -Debian Stretch on amd64: - -.. code-block:: shell - - sudo lwr --base_debs "eject pciutils usbutils \ - keyboard-configuration console-setup \ - grub-efi-amd64 grub-efi-amd64-bin grub-pc" - -The customise script also has a part to play in this area, to ensure -that all the needed dependencies for these packages are also added to -the image. - -Setting the Volume ID ---------------------- - -The Volume ID is the embedded label in the ISO image; this is what -will be displayed on the desktop when a DVD or USB flash drive -containing the image is inserted into a computer. The default is -``DEBIAN LIVE``, or you can change this using the ``--volume_id`` -parameter. There is a 32-character limit for what can be specified -here. Example: - -.. code-block:: shell - - sudo lwr --volume_id "My live image" - -Testing the Image with QEMU ---------------------------- - -You can easily test your created live images with QEMU. - -.. warning:: You will need to increase the amount of memory available to - QEMU when running the live image. The image will crash if run - with the default memory limit. - -To test the image using BIOS boot: - -.. code-block:: shell - - qemu-system-x86_64 -m 2G -cdrom live.iso - -For EFI boot you will need to install the ``ovmf`` package and then run: - - -.. code-block:: shell - - qemu-system-x86_64 -bios /usr/share/ovmf/OVMF.fd -m 2G -cdrom live.iso - -To test with an emulated USB device, run: - -.. code-block:: shell - - qemu-system-x86_64 -m 2G -usbdevice disk:live.iso - -To test the speech synthesis installer option, you will need to add the -following to the QEMU invocation: - -.. code-block:: shell - - -soundhw sb16,es1370,adlib - -.. note:: - - Using -hda to attach the disk image will prevent the installer from detecting - the "CD-ROM" as this is not a removable device, it is an emulated attached hard - disk drive. - -Next Steps ----------- - -To learn more about using live-wrapper, you can read the man page or check out -the :doc:`advanced` section of this documentation. diff --git a/docs/live-wrapper/advanced.html b/docs/live-wrapper/advanced.html deleted file mode 100644 index 901f645d5898f555124a1d640305c63a93cfa737..0000000000000000000000000000000000000000 --- a/docs/live-wrapper/advanced.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - Advanced Topics — live-wrapper 0.7 documentation - - - - - - - - - - - - - - - - -
-
-
-
- -
-

Advanced Topics

-
-

Bootloader Customisation

-

By default, both ISOLINUX (for BIOS boot) and GRUB 2 (for EFI boot) are -installed into the images. A loopback.cfg file is also installed to allow -for the image to be booted while still an ISO image in a filesystem.

-

You can pass --no-isolinux to prevent the installation of ISOLINUX to the -image if you do not want ISOLINUX.

-

You can pass --no-grub to prevent the installation of GRUB to the image.

-

If you do not want GRUB installed but you would still like the loopback.cfg -file to be installed, you can pass --grub-loopback-only.

-
-
-

Using an Alternative Build Directory

-

Temporary directories are created using the Python standard library functions -for doing so. On Debian systems, this typically means that the directories are -created in /tmp. If this is problematic for you, perhaps due to filesystem -permissions, you can change the path that Python will use to create directories -in by using the TMP environment variable, for example:

-
sudo TMP=/other/path lwr --blah --blah
-
-
-
-
- - -
-
-
- -
-
- - - - \ No newline at end of file diff --git a/docs/live-wrapper/copyright b/docs/live-wrapper/copyright deleted file mode 100644 index 6e008bd717528cef83e407abd392bcd5bde9ef55..0000000000000000000000000000000000000000 --- a/docs/live-wrapper/copyright +++ /dev/null @@ -1,52 +0,0 @@ -Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ - -Files: * -Copyright: (C) 2015 Iain R. Learmonth -License: BSD-2-clause - -License: BSD-2-clause - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - . - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - . - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - . - THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - SUCH DAMAGE. - -Files: yarns/* -Copyright: (c) 2015 Lars Wirzenius - (c) 2016 Neil Williams -License: GPL-3.0+ - -License: GPL-3.0+ - This package is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - . - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - . - You should have received a copy of the GNU General Public License - along with this program. If not, see . - . - On Debian systems, the complete text of the GNU General - Public License version 2 can be found in "/usr/share/common-licenses/GPL-3". - diff --git a/docs/live-wrapper/dev.html b/docs/live-wrapper/dev.html deleted file mode 100644 index 86b6a8b5965b390f7fd0a2c13b3b456d0bf9d186..0000000000000000000000000000000000000000 --- a/docs/live-wrapper/dev.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - Developer Documentation — live-wrapper 0.7 documentation - - - - - - - - - - - - - - - - -
- - -
-
- - - - \ No newline at end of file diff --git a/docs/live-wrapper/genindex.html b/docs/live-wrapper/genindex.html deleted file mode 100644 index 56bf34335c56d4c7ab2430b48c24becd80202add..0000000000000000000000000000000000000000 --- a/docs/live-wrapper/genindex.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - - - - Index — live-wrapper 0.7 documentation - - - - - - - - - - - - - - -
- - -
-
- - - - \ No newline at end of file diff --git a/docs/live-wrapper/index.html b/docs/live-wrapper/index.html deleted file mode 100644 index e518502a463a8f51d9a2f524db9f3904a68ff3aa..0000000000000000000000000000000000000000 --- a/docs/live-wrapper/index.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - - Welcome to live-wrapper’s documentation! — live-wrapper 0.7 documentation - - - - - - - - - - - - - - - -
- - -
-
- - - - \ No newline at end of file diff --git a/docs/live-wrapper/intro.html b/docs/live-wrapper/intro.html deleted file mode 100644 index 364c117dba7edd89c0f95cf3fc28dd455cdd03cb..0000000000000000000000000000000000000000 --- a/docs/live-wrapper/intro.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - - Introduction — live-wrapper 0.7 documentation - - - - - - - - - - - - - - - - -
-
-
-
- -
-

Introduction

-

live-wrapper is a tool produced by the Debian Live Team that can be used to create -Debian-based live images for use with CDs, DVDs or USB sticks.

-

live-wrapper is designed to, as far as is possible, exist only as glue between -existing tools. The root filesystem is built using vmdebootstrap and -isohybrid image creation is provided by xorriso.

-
- - -
-
-
- -
-
- - - - \ No newline at end of file diff --git a/docs/live-wrapper/lwr.html b/docs/live-wrapper/lwr.html deleted file mode 100644 index b498a544d366f2a0ecfe5a56d39ef0f79d966568..0000000000000000000000000000000000000000 --- a/docs/live-wrapper/lwr.html +++ /dev/null @@ -1,245 +0,0 @@ - - - - - - - - Helper Documentation — live-wrapper 0.7 documentation - - - - - - - - - - - - - - - -
-
-
-
- -
-

Helper Documentation

-
-

Root Filesystem Helpers

-

The lwr.vm module provides helpers for calling vmdebootstrap as part of the -image creation process.

-

Directory listing of /live/ -filesystem.packages -filesystem.packages-remove -filesystem.squashfs -initrd.img -vmlinuz

-
-

Note

-

This module requires that the vmdebootstrap modules be available in the -Python path.

-
-
-
-class lwr.vm.VMDebootstrap(distribution, architecture, mirror, cdroot, customise, apt_mirror)[source]
-
-
-run()[source]
-
- -
- -
-
-lwr.vm.detect_kernels(cdroot)[source]
-
- -
-
-

Bootloader Helpers

-

The lwr.grub module contains helpers for GRUB 2 including the installation -of GRUB files to the cdroot and the generation of the grub.cfg and loopback.cfg -files.

-
-
-lwr.grub.generate_cfg(bootconfig, submenu=False)[source]
-
- -
-
-lwr.grub.install_grub(cdroot, bootconfig)[source]
-

Can use cdroot as a relative path inside the actual cdroot. -The d-i/ and live/ directories are used directly.

-
- -

The lwr.isolinux module contains helpers for isolinux including the -installation of isolinux files to the cdroot and the generation of the -isolinux.cfg files. -Directory listing of /isolinux/ -advanced.cfg boot.cat hdt.c32 install.cfg isolinux.bin isolinux.cfg -ldlinux.c32 libcom32.c32 libutil.c32 live.cfg menu.cfg splash.png -stdmenu.cfg vesamenu.c32

-
-
-lwr.isolinux.generate_cfg(bootconfig, submenu=False)[source]
-
- -
-
-lwr.isolinux.install_isolinux(cdroot, mirror, suite, architecture, bootconfig)[source]
-

Download and unpack the correct syslinux-common -and isolinux packages for isolinux support. -ISOLINUX looks first in boot/isolinux/ then isolinux/ then / -This function puts all files into isolinux/

-
- -
-
-

CD Filesystem Helpers

-

This module provides helpers for generating the metadata stored in .disk/ on -the cdroot.

-
-
-lwr.disk.get_default_description(distribution)[source]
-
- -
-
-lwr.disk.install_disk_info(cdroot, description, xorriso_args)[source]
-

This function creates the .disk/ metadata and installs it into the -specified cdroot.

-
- -
-
-

ISO Creation Helpers

-

The lwr.xorriso module provides helpers for calling xorriso as part of the -image creation process.

-
-

Note

-

This module requires that the vmdebootstrap modules be available in -the Python path.

-
-
-
-class lwr.xorriso.Xorriso(image_output, volume_id, isolinux=True, grub=True)[source]
-

This class acts as a wrapper for xorriso and allows for the command -line arguments passed to be built based on the settings given to the main -application.

-
-
-build_args(cdroot)[source]
-
- -
-
-build_image()[source]
-

This will call xorriso with the arguments built.

-
-

Note

-

Xorriso.build_args must have been called before -calling Xorriso.build_image.

-
-
-

Warning

-

The xorriso binary must be present in the current PATH.

-
-
- -
- -
-
- - -
-
-
- -
-
- - - - \ No newline at end of file diff --git a/docs/live-wrapper/objects.inv b/docs/live-wrapper/objects.inv deleted file mode 100644 index 3533f1445d9d783d67b4e8688307c083f0f09d89..0000000000000000000000000000000000000000 Binary files a/docs/live-wrapper/objects.inv and /dev/null differ diff --git a/docs/live-wrapper/py-modindex.html b/docs/live-wrapper/py-modindex.html deleted file mode 100644 index 7d02b92db2527ae1307365ec8aca4a316beac38d..0000000000000000000000000000000000000000 --- a/docs/live-wrapper/py-modindex.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - Python Module Index — live-wrapper 0.7 documentation - - - - - - - - - - - - - - - - - -
-
-
-
- - -

Python Module Index

- -
- l -
- - - - - - - - - - - - - - - - - - - - - - -
 
- l
- lwr -
    - lwr.disk -
    - lwr.grub -
    - lwr.isolinux -
    - lwr.vm -
    - lwr.xorriso -
- - -
-
-
- -
-
- - - - \ No newline at end of file diff --git a/docs/live-wrapper/quickstart.html b/docs/live-wrapper/quickstart.html deleted file mode 100644 index da7c6de19566756bd178d00d45875710f03b63ad..0000000000000000000000000000000000000000 --- a/docs/live-wrapper/quickstart.html +++ /dev/null @@ -1,285 +0,0 @@ - - - - - - - - Quickstart — live-wrapper 0.7 documentation - - - - - - - - - - - - - - - - -
-
-
-
- -
-

Quickstart

-
-

Super Fast Quickstart

-

Building images with live-wrapper is quite simple. For the impatient:

-
sudo apt install live-wrapper
-sudo lwr
-
-
-

This will build you a file named output.iso in the current directory -containing a minimal live-image.

-
-

Warning

-

Currently live-wrapper will create a lot of files and directories in the -current working directory. There is a TODO item to move these to a temporary -location and clean up afterwards, though this has not yet been fully -implemented. You may want to use an empty directory to run lwr in.

-
-
-
-

Customising the Image

-

There are a number of supported command-line arguments that can be passed to -live-wrapper. These change the behaviour to create a customised image.

-
-

Changing the Distribution

-

By default, the ISO image will be built using the stretch distribution. If -you’d like to build using buster or sid you can pass the -d -parameter to live-wrapper like so:

-
sudo lwr -d buster
-
-
-
-

Note

-

You must use the codename, and not the suite (e.g. stable), when specifying -the distribution.

-
-
-
-

Using an Alternative Mirror

-

By default, vmdebootstrap will use the mirror configured in your -/etc/apt/sources.list. If you have a faster mirror available, you may want -to change the mirror you’re using to create the image. You can do this with the --m parameter:

-
sudo lwr -m http://localhost/debian/
-
-
-

You may also configure the mirror that will be configured inside the -image. This will be used for any extra packages that are specified, -and will also be the mirror that the image will use after the build is -complete. Change this with the --apt-mirror parameter:

-
sudo lwr -m http://localhost/debian/ --apt-mirror http://deb.debian.org/debian
-
-
-

By default this is set to http://deb.debian.org/debian

-
-
-

Customising Packages

-

There are several methods for specifying extra packages to be -installed into the live image:

-
-
    -
  • -t / --tasks should be used to give a list of task -packages to be included in the image. These will be installed as -part of the vmdebootstrap hook, so all their “Depends” and -“Recommends” will be installed too.
  • -
  • -e / --extra allows for a list of extra non-task packages -to be installed, again with all their “Depends” and “Recommends” -included.
  • -
  • -f / --firmware allows for a list of firmware packages to -be installed in the image, again with all their “Depends” and -“Recommends” included. Also each of these packages will be -downloaded and saved into the image so that an included installer -will automatically find them for installation. BEWARE that -using this option is likely to mean your image will include -non-free software. Check the licensing carefully before -distributing it.
  • -
-
-

For example:

-
sudo lwr -e vim -t science-typesetting
-
-
-
sudo lwr -e "emacs25 jed" -t live-task-xfce -f "firmware-iwlwifi firmware-realtek"
-
-
-

Finally, if you want to make a live image that will work as a -standalone source for installation you will need to specify a list of -“base” packages. This is the list of packages that will need to be -installed after the contents of the live image is copied to the new -system. This is essentially a list of bootloader packages and a few -utility packages that they use. Specify this list with the ---base_debs parameter. For example, this is the list needed for -Debian Stretch on amd64:

-
sudo lwr --base_debs "eject pciutils usbutils \
-                      keyboard-configuration console-setup \
-                      grub-efi-amd64 grub-efi-amd64-bin grub-pc"
-
-
-

The customise script also has a part to play in this area, to ensure -that all the needed dependencies for these packages are also added to -the image.

-
-
-
-

Setting the Volume ID

-

The Volume ID is the embedded label in the ISO image; this is what -will be displayed on the desktop when a DVD or USB flash drive -containing the image is inserted into a computer. The default is -DEBIAN LIVE, or you can change this using the --volume_id -parameter. There is a 32-character limit for what can be specified -here. Example:

-
sudo lwr --volume_id "My live image"
-
-
-
-
-

Testing the Image with QEMU

-

You can easily test your created live images with QEMU.

-
-

Warning

-

You will need to increase the amount of memory available to -QEMU when running the live image. The image will crash if run -with the default memory limit.

-
-

To test the image using BIOS boot:

-
qemu-system-x86_64 -m 2G -cdrom live.iso
-
-
-

For EFI boot you will need to install the ovmf package and then run:

-
qemu-system-x86_64 -bios /usr/share/ovmf/OVMF.fd -m 2G -cdrom live.iso
-
-
-

To test with an emulated USB device, run:

-
qemu-system-x86_64 -m 2G -usbdevice disk:live.iso
-
-
-

To test the speech synthesis installer option, you will need to add the -following to the QEMU invocation:

-
-soundhw sb16,es1370,adlib
-
-
-
-

Note

-

Using -hda to attach the disk image will prevent the installer from detecting -the “CD-ROM” as this is not a removable device, it is an emulated attached hard -disk drive.

-
-
-
-

Next Steps

-

To learn more about using live-wrapper, you can read the man page or check out -the Advanced Topics section of this documentation.

-
-
- - -
-
-
- -
-
- - - - \ No newline at end of file diff --git a/docs/live-wrapper/search.html b/docs/live-wrapper/search.html deleted file mode 100644 index 755fc6fb3db0c608565c811199f941858e0c1bf2..0000000000000000000000000000000000000000 --- a/docs/live-wrapper/search.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - - - Search — live-wrapper 0.7 documentation - - - - - - - - - - - - - - - - - - - - -
-
-
-
- -

Search

-
- -

- Please activate JavaScript to enable the search - functionality. -

-
-

- From here you can search these documents. Enter your search - words into the box below and click "search". Note that the search - function will automatically search for all of the words. Pages - containing fewer words won't appear in the result list. -

-
- - - -
- -
- -
- -
-
-
- -
-
- - - - \ No newline at end of file diff --git a/docs/live-wrapper/searchindex.js b/docs/live-wrapper/searchindex.js deleted file mode 100644 index acd706b9d0c1173e5c83f11dd9966902a78fc248..0000000000000000000000000000000000000000 --- a/docs/live-wrapper/searchindex.js +++ /dev/null @@ -1 +0,0 @@ -Search.setIndex({docnames:["advanced","dev","index","intro","lwr","quickstart"],envversion:50,filenames:["advanced.rst","dev.rst","index.rst","intro.rst","lwr.rst","quickstart.rst"],objects:{"lwr.disk":{get_default_description:[4,1,1,""],install_disk_info:[4,1,1,""]},"lwr.grub":{generate_cfg:[4,1,1,""],install_grub:[4,1,1,""]},"lwr.isolinux":{generate_cfg:[4,1,1,""],install_isolinux:[4,1,1,""]},"lwr.vm":{VMDebootstrap:[4,2,1,""],detect_kernels:[4,1,1,""]},"lwr.vm.VMDebootstrap":{run:[4,3,1,""]},"lwr.xorriso":{Xorriso:[4,2,1,""]},"lwr.xorriso.Xorriso":{build_args:[4,3,1,""],build_image:[4,3,1,""]},lwr:{disk:[4,0,0,"-"],grub:[4,0,0,"-"],isolinux:[4,0,0,"-"],vm:[4,0,0,"-"],xorriso:[4,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","method","Python method"]},objtypes:{"0":"py:module","1":"py:function","2":"py:class","3":"py:method"},terms:{"class":4,"default":[0,5],"final":5,"function":[0,4],"new":5,"super":2,"true":4,"while":0,CDs:3,For:5,The:[3,4,5],There:5,These:5,Using:2,about:5,act:4,actual:4,add:5,added:5,adlib:5,advanc:[2,4,5],after:5,afterward:5,again:5,all:[4,5],allow:[0,4,5],also:[0,5],altern:2,amd64:5,amount:5,ani:5,applic:4,apt:5,apt_mirror:4,architectur:4,area:5,argument:[4,5],attach:5,automat:5,avail:[4,5],base:[3,4,5],base_deb:5,been:[4,5],befor:[4,5],behaviour:5,between:3,bewar:5,bin:[4,5],binari:4,bio:[0,5],blah:0,boot:[0,4,5],bootconfig:4,bootload:[1,2,5],both:0,build:[2,5],build_arg:4,build_imag:4,built:[3,4,5],buster:5,c32:4,call:4,can:[0,3,4,5],carefulli:5,cat:4,cdrom:5,cdroot:4,cfg:[0,4],chang:0,charact:5,check:5,clean:5,codenam:5,command:[4,5],common:4,complet:5,comput:5,configur:5,consol:5,contain:[4,5],content:[2,5],copi:5,correct:4,crash:5,creat:[0,3,4,5],creation:[1,3],current:[4,5],customis:[2,4],deb:5,debian:[0,3,5],depend:5,descript:4,design:3,desktop:5,detect:5,detect_kernel:4,develop:2,devic:5,directli:4,directori:[2,4,5],disk:[4,5],displai:5,distribut:4,document:5,doing:0,download:[4,5],drive:5,due:0,dvd:[3,5],each:5,easili:5,efi:[0,5],eject:5,emacs25:5,embed:5,empti:5,emul:5,ensur:5,environ:0,es1370:5,essenti:5,etc:5,exampl:[0,5],exist:3,extra:5,fals:4,far:3,fast:2,faster:5,few:5,file:[0,4,5],filesystem:[0,1,3],find:5,firmwar:5,first:4,flash:5,follow:5,free:5,from:5,fulli:5,gener:4,generate_cfg:4,get_default_descript:4,give:5,given:4,glue:3,grub:[0,4,5],hard:5,has:5,have:[4,5],hda:5,hdt:4,helper:[1,2],here:5,hook:5,http:5,imag:[0,2,3,4],image_output:4,img:4,impati:5,implement:5,includ:[4,5],increas:5,index:2,initrd:4,insert:5,insid:[4,5],instal:[0,4,5],install_disk_info:4,install_grub:4,install_isolinux:4,introduct:2,invoc:5,iso:[0,1,5],isohybrid:3,isolinux:[0,4],item:5,iwlwifi:5,jed:5,keyboard:5,label:5,ldlinux:4,learn:5,libcom32:4,librari:0,libutil:4,licens:5,like:[0,5],limit:5,line:[4,5],list:[4,5],live:[3,4,5],localhost:5,locat:5,look:4,loopback:[0,4],lot:5,lwr:[0,4,5],mai:5,main:4,make:5,man:5,mean:[0,5],memori:5,menu:4,metadata:4,method:5,minim:5,mirror:4,modul:[2,4],more:5,move:5,must:[4,5],name:5,need:5,next:2,non:5,number:5,onli:[0,3],option:5,org:5,other:0,out:5,output:5,ovmf:5,packag:4,page:[2,5],paramet:5,part:[4,5],pass:[0,4,5],path:[0,4],pciutil:5,perhap:0,permiss:0,plai:5,png:4,possibl:3,present:4,prevent:[0,5],problemat:0,process:4,produc:3,provid:[3,4],put:4,python:[0,4],qemu:2,quickstart:2,quit:5,read:5,realtek:5,recommend:5,rel:4,remov:[4,5],requir:4,rom:5,root:[1,3],run:[4,5],save:5,sb16:5,scienc:5,script:5,search:2,section:5,set:[2,4],setup:5,sever:5,share:5,should:5,sid:5,simpl:5,softwar:5,soundhw:5,sourc:[4,5],specifi:[4,5],speech:5,splash:4,squashf:4,stabl:5,standalon:5,standard:0,stdmenu:4,step:2,stick:3,still:0,store:4,stretch:5,submenu:4,sudo:[0,5],suit:[4,5],support:[4,5],synthesi:5,syslinux:4,system:[0,5],task:5,team:3,temporari:[0,5],test:2,thei:5,them:5,thi:[0,4,5],though:5,tmp:0,todo:5,too:5,tool:3,topic:[2,5],typeset:5,typic:0,unpack:4,usb:[3,5],usbdevic:5,usbutil:5,use:[0,3,4,5],used:[3,4,5],using:[0,3,5],usr:5,util:5,variabl:0,vesamenu:4,vim:5,vmdebootstrap:[3,4,5],vmlinuz:4,volum:2,volume_id:[4,5],want:[0,5],what:5,when:5,work:5,would:0,wrapper:[3,4,5],x86_64:5,xfce:5,xorriso:[3,4],xorriso_arg:4,yet:5,you:[0,5],your:5},titles:["Advanced Topics","Developer Documentation","Welcome to live-wrapper’s documentation!","Introduction","Helper Documentation","Quickstart"],titleterms:{"super":5,Using:[0,5],advanc:0,altern:[0,5],bootload:[0,4],build:0,chang:5,creation:4,customis:[0,5],develop:1,directori:0,distribut:5,document:[1,2,4],fast:5,filesystem:4,helper:4,imag:5,indic:2,introduct:3,iso:4,live:2,mirror:5,next:5,packag:5,qemu:5,quickstart:5,root:4,set:5,step:5,tabl:2,test:5,topic:0,volum:5,welcom:2,wrapper:2}}) \ No newline at end of file