Commit Graph

1523 Commits

Author SHA1 Message Date
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
Brian C. Lane 8cf8877e50 pylorax: Fix undefind strings on subprocess crash
Set output_string and err_string to None so that a crash will not crash.
2016-03-09 16:41:11 -08:00
David Shea 493ae32d54 Keep /usr/bin/xrdb (#1241724)
Some font parameters are set via Xresources, so keep the tool that does
that.
2016-03-09 16:40:23 -08:00
Vratislav Podzimek c6b4cea40c Install the libblockdev-lvm-dbus plugin (#1264816)
This will allow blivet to make use of the LVM DBus PoC API.
2016-03-09 13:39:03 +01:00
Brian C. Lane a72e9aed0c livemedia-creator: Bump default releasever to 25 2016-03-04 08:57:55 -08:00
Brian C. Lane 0f51bfba5b Add docker-anaconda-addon 2016-03-03 17:23:05 -08:00
Brian C. Lane f8316a7b89 livemedia-creator: Use qemu instead of virt-install
Switching to using qemu directly allows lmc to be more flexible. It can
now run from inside a mock chroot for creation of all image types,
inculding disk images, and can take advantage of KVM on the host system
if /dev/kvm device is present inside the mock.

It should also be possible to create cross-arch images, but without kvm
available this is likely to be a very slow option.
2016-03-03 17:22:50 -08:00
Brian C. Lane 8e47b8a96a Bump version to 25.0 2016-03-03 17:22:22 -08:00
Brian C. Lane a677b472ac Automatic commit of package [lorax] release [24.14-1]. 2016-03-01 18:05:29 -08:00
David Shea 28fb511790 Add glibc-all-langpacks (#1312607)
glibc recently split all of its locale data into subpackages, so if we
install no langpacks we get no locales. Explicitly install all of the
langpacks.
2016-02-29 09:25:44 -05:00