Commit Graph

1632 Commits

Author SHA1 Message Date
Brian C. Lane
f2d50198ef New lorax documentation - 25.6 2016-05-23 16:55:51 -07:00
Brian C. Lane
551b27a8fa Update lmc UEFI support to use the edk2-ovmf package
Fedora now has a edk2 package so use the OVMF code from there. This also
adds using a copy of OVMF_VARS for each boot instead of reusing the one
provided by the package.
2016-05-17 16:44:22 -07:00
Brian C. Lane
bfbc38a40b Automatic commit of package [lorax] release [25.6-1]. 2016-05-13 16:42:28 -07:00
Brian C. Lane
1e1e978dcf Add efi, product, and updates image paths to treeinfo
Include the information about efiboot.img, macboot.img, product.img, and
updates.img in .treeinfo.
2016-05-13 16:35:56 -07:00
Brian C. Lane
2f66212c0f livemedia-creator: Update make-pxe-live to support missing initramfs
In some cases the initramfs may not be present in /boot to save space.
Use it if present, otherwise use the kernel version to recreate the name
of it.

This also fixes problems with dracut running out of space when not using
--live-rootfs-keep-size
2016-05-05 08:22:59 -07:00
Brian C. Lane
50b15d72b5 Rebuild initramfs if it is missing
There's no reason to require the initramfs when we can rebuild it using
the version from the kernel. This adds handling of missing initramfs so
that lmc kickstarts can remove it from the squashfs, saving about 40M on
the iso.
2016-05-05 08:22:52 -07:00
Brian C. Lane
9559acfcb0 Add a new error to the log monitor.
Look for:

The following error occurred while installing.  This is a fatal error
2016-05-04 10:34:57 -07:00
Brian C. Lane
8615d58e80 Fix DataHolder to handle hasattr
It needs to raise an AttributeError if it doesn't have the attribute.
2016-05-04 10:34:02 -07:00
Brian C. Lane
cddb5bf11d Automatic commit of package [lorax] release [25.5-1]. 2016-04-29 18:59:58 -07:00
Brian C. Lane
31db046a80 Add example kickstart for Atomic PXE live no-virt
Because --no-virt uses a fsimage disk you can't create a /boot
partition. This kickstart will also work for creating the PXE files
inside a mock environment.

Also rename rhel-atomic-pxe-live.ks to fedora-atomic-pxe-live.ks
2016-04-29 16:09:06 -07:00
Brian C. Lane
9b151ec2bd Update ostree boot handling
This makes sure the contents of /boot are at the expected locations in
/boot and in sys_root. For partitioned images it mounts the separate
/boot partition on /boot. For both fsimage and partitioned images ir
binf mounts it to sys_root so that the kernel+initrd can be found.

The boot directory isn't always named boot.0, so wildcard it and let the
count check handle failure if there is more than 1.
2016-04-29 16:09:03 -07:00
Brian C. Lane
57a73fe0d4 pylorax: Add delete option to umount
umount tries to delete a mountpoint if it has lorax.imgutils in the
path. This doesn't work right if you try to umount something mounted
deeper on the path.

This adds a delete option, which is True by default, to skip the delete.
2016-04-29 16:09:00 -07:00
Brian C. Lane
6ed2aaed69 Refactor PXE live creation code
This moves the mounting inside make_live_images so that it isn't trying
to copy the fsimage while having it mounted.
2016-04-29 16:08:57 -07:00
Brian C. Lane
efb0cce9b8 Change --make-pxe-live --no-virt use a fsimage
Instead of a partitioned disk image. This will allow a single pass
of lmc to be used to create an ostree live PXE image.
2016-04-29 16:08:54 -07:00
Brian C. Lane
b72b41e690 Allow ostreesetup kickstart
Also make sure that a --make_pxe_live --no-virt doesn't use autopart or
other mountpoints.
2016-04-29 16:08:50 -07:00
Brian C. Lane
5972df8d71 Automatic commit of package [lorax] release [25.4-1]. 2016-04-18 10:49:20 -07:00
Brian C. Lane
607d7c1eeb livemedia-creator: Make sure make-iso kickstart includes dracut-live
iso creation requires the dracut-live package, otherwise rebuilding the
initrd will crash. Since it takes a long time to discover let's fail
early.
2016-04-06 17:10:58 -07:00
Brian C. Lane
bae111d5a3 livemedia-creator: Simplify cleanup for no-virt
If an anaconda no-virt run crashes it can leave things mounted under
/mnt/sysimage. Previously anaconda-cleanup was used to handle this, but
it will also try to cleanup host mountpoints which isn't desired.
2016-04-06 17:04:42 -07:00
Brian C. Lane
701ab02619 Copying same file shouldn't crash (#1269213)
When using the template install command copying the same file to itself
shouldn't crash. Just log the error and continue.

Also copy the s390 configuration files for use with livemedia-creator

Resolves: rhbz#1269213
2016-04-06 16:59:43 -07:00
Brian C. Lane
5a6e56f7b1 Automatic commit of package [lorax] release [25.3-1]. 2016-03-30 14:33:51 -07:00
Brian C. Lane
f753a064b8 livemedia-creator: Use correct suffix on default image names (#1318958)
When an image name hasn't been passed, and the compression type is
something other than xz, the default image name should use the user
specified compression suffix.

Resolves: rhbz#1318958
2016-03-29 09:56:32 -07:00
Brian C. Lane
3740df3756 livemedia-creator: Pass -Xbcj to mksquashfs
Some cases of mksquashfs were not using -Xbcj when it is available for
the arch. This adds a function to return the correct args based on the
arch and the cmdline args.
2016-03-29 09:48:33 -07:00
Brian C. Lane
99e575e61b templates: On 32 bit systems limit the amount of memory xz uses
This uses --memlimit-compress=3700MiB on i386 and arm when building the
product and updates images.
2016-03-29 09:46:07 -07:00
Brian C. Lane
422a9a5859 ltmpl: Add compressor selection and argument passing to installimg
Allow the template to select a different compression type or arguments
for the installimg command.

On 32bit builds running inside a mock xz sees the full amount of system
memory which can result in xz failing with a memory error. This allows
the template to limit the amount of memory it tries to use.
2016-03-29 09:46:07 -07:00
Brian C. Lane
4e495bc918 livemedia-creator: Update example kickstarts
Update the URL, add network command where needed, make sure all auth
commands are using sha512 now.

Removed the fedora-livemedia-ec2 example, Fedora doesn't have grub and
it has never really been tested.
2016-03-29 09:44:53 -07:00
Brian C. Lane
f616d37f59 image-minimizer: Fix argument parsing
Can't pass metavar to args that are just switches.
2016-03-29 09:44:53 -07:00
Brian C. Lane
b91e79d9bc livemedia-creator: Check selinux state and exit
lmc --no-virt was switching selinux to permissive if it was enforcing
and restore it when done. This works fine when it is the only session
running, but would cause problems if it was run in parallel.

It now only checks the state and exits with an error if it isn't already
disabled or in Permissive mode.

Users will need to run setenforce 0 before running lmc.
2016-03-28 16:40:16 -07:00
Brian C. Lane
a7fb48d0da livemedia-creator: Catch dnf download error
If there isn't enough space for DNF to download packages it will log:

"Not enough disk space to download the packages."

So add this to the messages in monitor that trigger an error.
2016-03-24 09:51:20 -07:00
Brian C. Lane
077167cdb2 templates: Fix runtime_img check
commit 66241f7cd7 added a check on
runtime_img to create UDF iso's. Ends up it is only in outroot for live,
so switch all the checks to look at it in inroot instead.
2016-03-24 09:45:23 -07:00
David Shea
8cf7f6d599 Remove gnome-icon-theme
The gnome-icon-theme packages are legacy packages that are now handled
by adwaita-icon-theme.
2016-03-22 13:25:01 -04:00
David Shea
d798497b5b Exclude unused firmware from package selection.
The sound, video and scanner firmware packages were removed during
cleanup. Instead, do not install them to begin with.

uhd-firmware is an addon package for a software radio tool and not
kernel firmware at all. Besides being 86MB on its own, it pulls in boost
and Tk, so leave all of that out.
2016-03-22 13:25:01 -04:00
David Shea
9612f9e16f Add a means of excluding packages from a glob
This makes package selection a little more roundabout, but it allows for
unused packages (and their dependencies) to be removed from globs during
the install phase.

dnf.subject.Subject is the class used by dnf's Base.install to select
packages, so the behavior of installpkg without --except options is the
same as it was before.
2016-03-22 13:25:01 -04:00
David Shea
b8f53d8c74 Clean up /dev.
/dev ends up with the files "null" and "kmsg" from scriptlets
redirecting output to special files that do not exist. Remove this
output.
2016-03-22 13:25:01 -04:00
David Shea
9a244b69dd Remove /var/lib/dnf 2016-03-22 13:25:00 -04:00
David Shea
5da62800df Remove a bunch of stuff pulled in by webkitgtk
webkitgtk4, a dependency of yelp, links to a lot of things. A lot of the
libraries pulled in through the dependency avalanche will never be used,
especially those that are dependencies of gstreamer plugins, so try to
clean some of it up.
2016-03-22 13:25:00 -04:00
Brian C. Lane
47aa0c0f9e lorax-lmc-virt now uses qemu not libvirt and virt-install
Adjust the requires, add a Recommends on qemu-kvm
2016-03-21 15:09:14 -07:00
Brian C. Lane
17e8cfa095 New lorax documentation - 25.2 2016-03-21 14:23:15 -07:00
Brian C. Lane
e12f6b8ede Use Sphinx to generate manpages
Use make -C docs man to regenerate the manpages in docs/man/
2016-03-21 14:21:56 -07:00
Brian C. Lane
12690a0aa3 livemedia-creator: Use sphinx-argparse to document args
Add it to lorax.rst and livemedia-creator.rst
2016-03-21 14:21:56 -07:00
Brian C. Lane
0b9077ceaa Move argument parsers into pylorax.cmdline
This will make it possible to use sphinx-argparse to generate all the
documentation and manual pages.
2016-03-21 14:21:55 -07:00
Brian C. Lane
6798f7c5ec livemedia-creator: Fix off by 1024 error
commit 4699c88109 changed how the disk
size is estimated and not all users took into account that the return
value is in MiB.

This would result in qemu based iso installations having a rootfs.img
that was 1024x too large.
2016-03-21 12:14:28 -07:00
Brian C. Lane
66241f7cd7 Create UDF iso when stage2 is >= 4GiB (#1312158)
Some images are becoming REALLY large. When a file is >= 4GiB we need to
pass -allow-limited-size to mkisofs to tell it to make a UDF image. Note
that the manpage says that this may result in it not booting on all
systems.
2016-03-18 12:05:19 -07:00
Brian C. Lane
3d740cb4de Automatic commit of package [lorax] release [25.2-1]. 2016-03-15 11:57:39 -07:00
Peter Robinson
c9181d06d5 Not all arches currently have docker
At the momenet some PPC and s390 arches don't have docker, in that case we get the following failure when running lorax.

DEBUG util.py:417:  2016-03-12 01:00:27,658:   dnf.exceptions.DepsolveError: nothing provides docker-utils needed by docker-anaconda-addon-0.2-1.fc24.noarch
DEBUG util.py:417:    dnf.exceptions.DepsolveError: nothing provides docker-utils needed by docker-anaconda-addon-0.2-1.fc24.noarch
DEBUG util.py:417:  Traceback (most recent call last):
DEBUG util.py:417:    File "/usr/sbin/lorax", line 353, in <module>
DEBUG util.py:417:      main(sys.argv)
DEBUG util.py:417:    File "/usr/sbin/lorax", line 209, in main
DEBUG util.py:417:      remove_temp=True, verify=opts.verify)
DEBUG util.py:417:    File "/usr/lib/python3.5/site-packages/pylorax/__init__.py", line 277, in run
DEBUG util.py:417:      rb.install()
DEBUG util.py:417:    File "/usr/lib/python3.5/site-packages/pylorax/treebuilder.py", line 119, in install
DEBUG util.py:417:      self._runner.run("runtime-install.tmpl")
DEBUG util.py:417:    File "/usr/lib/python3.5/site-packages/pylorax/ltmpl.py", line 219, in run
DEBUG util.py:417:      self._run(commands)
DEBUG util.py:417:    File "/usr/lib/python3.5/site-packages/pylorax/ltmpl.py", line 238, in _run
DEBUG util.py:417:      f(*args)
DEBUG util.py:417:    File "/usr/lib/python3.5/site-packages/pylorax/ltmpl.py", line 540, in run_pkg_transaction
DEBUG util.py:417:      self.dbo.resolve()
DEBUG util.py:417:    File "/usr/lib/python3.5/site-packages/dnf/base.py", line 547, in resolve
DEBUG util.py:417:      raise exc
DEBUG util.py:417:  dnf.exceptions.DepsolveError: nothing provides docker-utils needed by docker-anaconda-addon-0.2-1.fc24.noarch
DEBUG util.py:542:  Child return code was: 1

Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2016-03-12 07:45:35 +00:00
Brian C. Lane
7a60f26e9e Automatic commit of package [lorax] release [25.1-1]. 2016-03-09 16:42:32 -08:00
Brian C. Lane
8085395678 Change location of basearch to dnf.rpm.basearch (#1312087)
The dnf fix for the busted API change is also busted, so just change it
everywhere.
2016-03-09 16:41:11 -08:00
Brian C. Lane
3e9efdcf48 livemedia-creator: Change fsck.ext4 discard failures to errors
Something is causing problems with the ext4 rootfs.img when running with
no-virt inside koji. This results in a failed image that looks good
until you try to boot it.

make_squashfs will now return False if it fails, and make_live_image
will return None (instead of the result path). lmc will exit with a 1
and log an error.
2016-03-09 16:41:11 -08:00
Brian C. Lane
4fea0ba7f1 pylorax: proc.returncode can be None
So use %s to keep it from generating a Traceback. If a callback is used
and it exits before the process does the returncode can be None.
2016-03-09 16:41:11 -08:00
Brian C. Lane
4699c88109 livemedia-creator: Create runtime using kickstart partition size
When using no-virt the runtime filesystem size comes from the kickstart.
For virt installs lmc was creating a runtime filesystem that was just
slightly larger than the space used by the files installed by anaconda.
This can run into problems with larger filesystem. It is also
inconsistent behavior between virt and no-virt installations.

With this commit the virt runtime filesystem will also come from the
kickstart.
2016-03-09 16:41:11 -08:00
Brian C. Lane
9328100a4d livemedia-creator: Update kickstarts for rawhide 2016-03-09 16:41:11 -08:00