Commit Graph

664 Commits

Author SHA1 Message Date
Brian C. Lane
3c745aed8d Revert "lorax: Remove vmlinuz from install.img /boot"
This reverts commit 6025da1421.

It ends up that using the install.img with qemu and PXE and fips=1 is a
common use case. Without vmlinuz in the install.img rootfs it has
nothing to run the check against.

Related: rhbz#1782737
2020-06-01 13:49:22 -07:00
Dan Horák
564f78e629 drop 32-bit support from ppc live image grub.cfg
Seems petitboot can't properly parse the live image grub config on ppc, thus
booting fails on bare-metal. Fix the problem by removing the obsolete 32-bit
entries.
2020-05-19 14:10:50 -07:00
Brian C. Lane
6fdb09f9e2 rsyslog: Disable journal ratelimits during install
Every log entry is sacred

Resolves: rhbz#1752754
2020-04-28 13:47:57 -07:00
Brian C. Lane
6025da1421 lorax: Remove vmlinuz from install.img /boot
The kernel in /boot is not needed. Keep the .vmlinuz*hmac file so that
fips mode can check it (this requires dracut-050 or later).

Related: rhbz#1782737
2020-03-26 08:17:51 -07:00
Brian C. Lane
e2e8deb906 lorax: Write package lists in run_transaction
A change in glibc now requires /proc be mounted in order to run mknod
which is needed in order to run rpm from runtime-postinstall.

This drops that code from the template and moves writing the package
list into run_transaction, which already has all of the needed
information to generate the list.

Resolves: rhbz#1812895
2020-03-16 11:51:11 -07:00
Brian C. Lane
a30531d41b Add dig and comm to the boot.iso
The /usr/libexec/chrony-helper script requires them.

Resolves: rhbz#1812127
2020-03-11 08:42:01 -07:00
Brian C. Lane
54548e4076 lorax: Cleanup the removefrom --allbut files
Some of the files no longer exist, some of them have moved. In the case
of dracut the 98systemd directory was renamed to 98dracut-systemd, but
nobody noticed.

This updates the following:
 * rename 98systemd to 98dracut-systemd so scripts are in the
   install.img
 * drop fedora-release removefrom, it now only has os-release
   fedora-repos has the repo files, not anaconda, they are moved by
   runtime-postinstall.tmpl
 * Use initscripts to keep the /etc/init.d, chkconfig only has an empty
   directory.
 * gtk2-engines is no longer installed
 * metacity doesn't include anything in /etc/
 * /usr/share/X11/rgb.txt is no longer installed
 * libgstbadallocators-1.0.so
2020-02-27 08:50:32 -08:00
Brian C. Lane
622e15c85a lorax: Add eject back into the boot.iso
The eject utility moved into util-linux and the package was dropped, but
since the runtime-cleanup template is using `removefrom util-linux
--allbut` it was never added to the boot.iso after the move.

This removes the package request for eject and adds it to the list of
binaries to keep from util-linux.
2020-02-20 10:00:53 -08:00
Akira TAGOH
7d7d158399 Reflect fonts packages from comps
Add lohit-marathi-fonts for Marathi.

Replace kacst-*-fonts with paktype-naskh-basic-fonts for Urdu,
for Arabic, we use dejavu-sans-fonts.

Replace lklug-fonts with google-noto-sans-sinhala-vf-fonts for Sinhala.

Replace lohit-gurmukhi-fonts with google-noto-sans-gurmukhi-fonts for Gurmukhi.
2020-02-10 12:03:54 -08:00
Brian C. Lane
f7688f9c8d lorax-composer: Add cloud-init support to the vhd image
This adds cloud-init support to the vhd image.
Also limits the cloud-init datasource to Azure, and includes
cloud-utils-growpart to expand the filesystem to fit the available
space.

Resolves: rhbz#1754711
2019-11-18 14:00:24 -08:00
Brian C. Lane
c5f6fd6d30 Add dmidecode on supported architectures
Currently supported on i386, x86_64, aarch64

Related: rhbz#1714793
2019-11-14 11:46:46 -08:00
Brian C. Lane
d8bf3427a6 Add live iso support to s390
With this patch lmc and lorax-composer can be used to create a live iso
when running on s390 systems.
2019-10-31 09:47:18 -07:00
Brian C. Lane
6f0473c742 Remove lifted azure support
The python modules that Ansible depends on for Azure support are old,
and incompatible with Fedora. Drop support until the azure playbook is
supported with Fedora packages.
2019-10-16 09:17:54 -07:00
Brian C. Lane
c2620b0c85 lifted: Add support for AWS upload
This uses a new Ansible module, ec2_snapshot_import, which is included
here until it is available from upstream.

It will upload the AMI to s3, convert it to a snapshot, and then
register the snapshot as an AMI. The s3 object is deleted when it has
been successfully uploaded.
2019-10-16 09:17:54 -07:00
Brian C. Lane
45498f2b93 All providers should have 'supported_types'
even if it is empty.
2019-10-16 09:17:53 -07:00
Evan Goode
2692e8138c Automatically upload composed images to the cloud
Currently, Azure, vSphere, and OpenStack are supported. See
https://github.com/weldr/lorax/pull/826 for more details about this new
feature.

I've called the upload library "lifted" as a reference to Seuss'
The Lorax -- in the book, the Lorax lifts himself up by the seat of his
pants through a hole in the smog clouds, and they start calling him the
"Lifted Lorax."

This adds new features to the /compose route under API v1
2019-10-16 09:17:53 -07:00
Brian C. Lane
5efaa876e1 aarch64: Fix live-iso creation on aarch64
Drop unneeded uboot-tools, and remove iso-graft from the aarch64.tmpl

Related: rhbz#1752002
2019-09-25 11:07:20 -07:00
Martin Kolman
6f01aedc8a Keep the zramctl utility from util-linux on boot.iso
Anaconda uses zram to allow installation on low memory systems.
We used to have a custom script called "zram-stats", that can be
used to test and debug zram usage during installation.

The script no longer works & zramctl now provides much better
output than our script ever did. So we decided to decommission
the old Anaconda provided script & use zramctl instead.

So change the cleanup rule in the Lorax boot.iso template
to keep the zramctl utility.

Related: rhbz#1561773
2019-09-20 08:52:50 -07:00
David Lehman
b8c1e706bb Use smarter multipath detection logic.
This new setting for 'find_multipaths' tries to prevent things like
LVM from going ahead and activating LVM on the individual disks/paths
until there is reasonable certainty (via a timeout) that the device
is not a component of a multipath set.

NOTE: 'smart' is supported by device-mapper-multipath v0.7.7 and later.
2019-08-20 16:23:15 -07:00
Brian C. Lane
b9d18216ef lorax-composer: Add liveimg-tar image type
This creates a tar suitable for use with the anaconda kickstart liveimg
command. It adds the kernel, grub2, and grub2-tools packages to the tar
template.
2019-08-05 14:50:32 -07:00
Pat Riehecky
fb1fcce0fd Remove .build-id from install media 2019-07-29 13:25:57 -07:00
Dan Horák
9f9cba35a2 don't skip Xorg packages on s390x to allow local GUI installation under KVM 2019-07-25 08:49:14 -07:00
Pat Riehecky
e11fc2037f Leave lscpu in the image for additional debugging 2019-07-09 11:42:23 -07:00
Jan Stodola
f24877b06e Fix path to generic.prm
Also quote ${extra_boot_args} as in the other templates

Related: rhbz#1712822
2019-05-23 15:28:31 -07:00
Brian C. Lane
708314a1fe Update composer live-iso template 2019-05-23 15:27:02 -07:00
Brian C. Lane
ddb82ef598 Add kernel to ext4-filesystem template
The filesystem was too small because Anaconda always adds the kernel,
but the template uses --nocore so it doesn't take that into account.
Add it to the template so that the filesystem size will be large enough
to hold the extra packages.
2019-05-16 10:26:30 -07:00
Brian C. Lane
e5a8700bdf lorax-composer: Add locale support to blueprints
You can now set the keyboard layout and language. Eg.

[customizations.locale]
languages = ["en_CA.utf8", "en_HK.utf8"]
keyboard = "de (dvorak)"

Existing entries in the kickstart templates are replaced with the new
ones. If there are no entries then it will default to 'keyboard us' and
'lang en_US.UTF-8'

Includes tests, and leaves the existing keyboard and lang entries in the
templates with a note that they can be replaced by the blueprint.
2019-05-02 16:21:36 -07:00
Brian C. Lane
9bdbb29662 lorax-composer: Add timezone support to blueprint
For example:

[customizations.timezone]
timezone = "US/Samoa"
ntpservers = ["0.pool.ntp.org"]

Also includes tests.

This removes the timezone kickstart command from all of the templates
except for google.ks which needs to set it's own ntp servers and timezone.

If timezone isn't included in the blueprint, and it is not already in a
template, it will be set to 'timezone UTC' by default.

If timezone is set in a template it is left as-is, under the assumption
that the image type requires it to boot correctly.
2019-05-02 16:21:36 -07:00
Brian C. Lane
8a89edf7bf Add -iso-level 3 when the install.img is > 4GiB
xorrisofs needs to use iso-level 3 when creating images with large
files. This adds tests to all the relevant templates, just like we used
to do for udf and mkisofs.
2019-04-05 15:06:48 -07:00
David Shea
35e44ffb37 Fix the google cloud boot console settings
Forgot the 'console=' part.
2019-04-03 13:41:29 -04:00
David Shea
44e14176bb Add a compose type for alibaba.
This compose type creates a partitioned disk as a qcow2 file, but with
only one partition instead of using a separate /boot.
2019-04-03 13:05:31 -04:00
David Shea
434fe58c28 Add a new compose type for Hyper-V
This is based on the VHD compose type, with the following differences:

  * Use the vhdx format instead of vhd
  * No WALinuxAgent
  * Install hyperv-daemons

The hyperv-daemons are activated through udev rules, so there is no need
to add them to the services line.
2019-04-03 13:00:37 -04:00
David Shea
bd804c271b Add a compose type for Google Compute Engine 2019-04-02 10:15:42 -04:00
Brian C. Lane
6ccbfe0585 Don't remove chmem and lsmem from install.img 2019-03-26 13:29:35 -07:00
Brian C. Lane
235813212f Add extra boot args to the livemedia-creator iso templates
This adds a new livemedia-creator argument, --extra-boot-args, which can
be used to add arguments to the kernel command-line in the templates.
2019-03-26 11:06:57 -07:00
Brian C. Lane
372bef945f Update ppc64le isolabel to match x86_64 logic
It was substituting _ which didn't match what pungi uses for creating
the DVD. Make things consistent and use - as the replacement character.

Resolves: rhbz#1687882
2019-03-15 11:16:58 -07:00
Brian C. Lane
b1407900ac Add blacklist_exceptions to multipath.conf
Resolves: rhbz#1685363
2019-03-15 08:30:51 -07:00
Brian C. Lane
f3c147448a Add a ppc64le template for live iso creation 2019-02-25 13:49:12 -08:00
Brian C. Lane
3b8de2a233 Move the package requirements for live-iso setup out of the template
In order to support iso creation on multiple arches with the templates
we need to be able to select different packages based on arch.
lorax-composer uses the arch-specific Lorax templates in order to
generate the output iso so this patch:

1. Creates a new template and type to parse it, live-install.tmpl
   which contains only installpkg commands and #if clauses for arch
2. Removes bootloader related packages from the live-iso.ks
3. Remove dracut-config-rescue exclusion because it can cause problems
   with some blueprints.
4. Switch logo requirement to system-logos which is satisfied by
   generic-logos or fedora-logos. This prevents conflicts when a blueprint
   installs fedora-release-workstation.

So in the future, if x86.tmpl, etc. need a new package to support
creating the iso it should be added to the correct section in
./share/live/live-install.tmpl
2019-02-25 13:49:12 -08:00
Brian C. Lane
822bc7ac68 Remove exclusions from lorax-composer templates
If a package is excluded in the template and later added by a blueprint
or dependency, anaconda will fail to finish the installation. So remove
the -dracut-config-rescue exclusion and instead remove the rescue
artifacts in %post
2019-02-25 13:49:12 -08:00
Brian C. Lane
a0ff34dcb1 lorax-composer: Use reqpart --add-boot for partitioned disk templates
Some platforms, like ppc64, require that the /boot partition be present.
It doesn't hurt to have it there on other platforms so instead of trying
to add per-arch kickstart templates just use reqpart --add-boot
everywhere.
2019-02-25 13:49:12 -08:00
Brian C. Lane
d27b4fcbd4 Make the lorax-composer ks templates more generic
Some platforms do not have grub2, and some require other partitions.

Anaconda will add platform specific partitions if the 'reqpart' command
is included, and it will add bootloader specific packages to the list if
they are needed.
2019-02-25 13:49:12 -08:00
Jiri Konecny
d64a320ba1 Remove unsupported anaconda-docker-addon (#619)
It is failing to load on Fedora for quite some time and there no-one
complaining about this so it would be easier to disable it instead of
fixing it.
2019-02-21 08:44:29 -08:00
sharkcz
d35232d9cc drop Apple/HFS bits from the templates (#602)
Drop the remaining non-ppc64le bits from the templates. Make the ISO creation
work with xorriso.

fixes https://bugzilla.redhat.com/show_bug.cgi?id=1676411
2019-02-12 10:14:32 -08:00
Brian C. Lane
458d120afe Copy .discinfo to the boot.iso
This should close #187
2019-01-29 14:06:28 -08:00
Brian C. Lane
2a3c41e1ce Use xorrisofs instead of mkisofs
Update the templates to use xorrisofs, require the newer version of
syslinux and syslinux-nonlinux.

This closes issue #326
2019-01-29 14:01:05 -08:00
Brian C. Lane
8a2e2a7a36 dracut-fips is no longer a subpackage, it is included in dracut. 2019-01-18 08:24:25 -08:00
Dan Horák
c53de4e63c set inst.stage2 for ppc64le image (rhbz#1577587) 2019-01-08 08:49:42 -08:00
Dan Horák
e939469524 all supported arches have docker 2019-01-07 13:52:46 -08:00
Dan Horák
a477db33d6 drop big endian ppc/ppc64 support 2019-01-07 13:52:46 -08:00