I originally added --add-template to support doing something similar
to pungi, which injects content into the system to be used by default.
However, this causes the content to be part of the squashfs, which
means PXE installations have to download significantly more data that
they may not need (if they actually want to pull the tree data from
the network, which is not an unusual case).
What I actually need is to be able to modify *both* the runtime image
and the arch-specific content. For the runtime, I need to change
/usr/share/anaconda/interactive-defaults.ks to point to the new
content. (Although, potentially we could patch Anaconda itself to
auto-detect an ostree repository configured in disk image, similar to
what it does for yum repositories)
For the arch-specfic image, I want to drop my content into the ISO
root.
So this patch adds --add-arch-template and --add-arch-template-var
in order to do the latter, while preserving the --add-template
to affect the runtime image.
Further, the templates will automatically graft in a directory named
"iso-graft/" from the working directory (if it exists).
(I suggest that external templates create a subdirectory named
"content" to avoid clashes with any future lorax work)
Thus, this will be used by the Atomic Host lorax templates to inject
content/repo, but could be used by e.g. pungi to add content/rpms as
well.
I tried to avoid code deduplication by creating a new template for the
product.img bits and this, but that broke because the parent boot.iso
code needs access to the `${imggraft}` variable. I think a real fix
here would involve turning the product.img, content/, *and* boot.iso
into a new template.
Resolves: rhbz#1202278
With these templates if a package has installed files in
/usr/share/lorax/product or /usr/share/lorax/updates/ they will be used
to create product.img and/or updates.img which will be included in the
images/ directory of the iso and of the final output tree.
These can be used to customize the installation environment or provide
updates. See README.product for current documentation.
Related: rhbz#1202278
This adds the --qcow2 option to create qcow2 disk images in virt and
no-virt modes. You can pass extra options to qemu-img with --qcow2-arg
(cherry picked from commit b73aeb92a9)
Resolves: rhbz#1210413
removekmod GLOB [GLOB...] --allbut KEEPGLOB [KEEPGLOB...]
This can be used to remove kernel modules from under
/lib/modules/*/kernel/ while keeping specific items. This should be
easier than constructing find arguments to select the right things to
save.
(cherry picked from commit 11c9e0e8ee)
Resolves: rhbz#1230356
This appears to cause the rpm-plugin-selinux to fail and some of the
selinux lebels aren't applied correctly.
(cherry picked from commit e1741763a9)
Related: rhbz#1196721
Resolves: rhbz#1184021
--make-pxe-live target generate live squashfs and initrd for pxe boot.
Also generates pxe config template.
--make-ostree-live is used for installations of Atomic Host. Additionally to
--make-pxe-live it ensures using deployment root instead of physical root of
installed disk image where needed. Atomic installation needs to be virt
installation with /boot on separate partition (the only way supported by
Anaconda currently). Content of boot partition is added to live root fs so that
ostree can find deployment by boot configuration.
In this case, we don't need to pass a repo parameter to anaconda. It's running
in a VM and knows how to deal with a kickstart file.
Related: rhbz#1184021
Add iso creation and switch to using gcdaa64.efi instead of grubaa64.efi
Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Brian C. Lane <bcl@redhat.com>
(cherry picked from commit 8f582846af)
Resolves: rhbz#1174475
Virtual machines easily get starved for randomness, and Anaconda insists
on sufficient amounts of entropy when the user requests LUKS disk
encryption. As a result, such installations can hang until Anaconda gives
up (after 10 minutes) and makes do with whatever entropy is available.
The virtualization host can feed randomness to the guest, unblocking the
installation. However, the guest can only consume that randomness through
the virtio-rng module. Let's not remove that module.
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Brian C. Lane <bcl@redhat.com>
Resolves: rhbz#1179000
(cherry picked from commit bd501cccef)
As of kernel-3.18.0-0.54 aarch64 can sort out what to use for the
console on its own, so drop the console= from the aarch64 grub2-efi.cfg
template.
Resolves: rhbz#1170413
(cherry picked from commit 519771a1df)
Older versions of petitboot don't understand the for loop and won't
boot. We also don't shipt 32 bit media anymore so there is no reason
for this to remain.
(cherry picked from commit 5909574a44)
What I need is to make something like the traditional DVD which also
includes packages. At present this is apparently handled by the
entirely separate pungi tool.
At the moment for me, it's the least bad option to modify lorax to
inject data from an external source than to create a new tool, or
attempt to also modify pungi to do this.
This would also allow pungi's DVD creation to eventually be a set of
external templates for Lorax.
(cherry picked from commit 66359415be)
Resolves: rhbz#1157777
We started including it as an unintended side-effect of commit 9ca487f8.
lvm doesn't like it when there are multiple 'global' sections in lvm.conf,
and we add one right at the end of that block. We expect ours to be the
file's only content.
(cherry picked from commit 4a7552d4be)
Related: rhbz#1149992
This is used as a kickstart %post interpreter to streamline
modifications to images.
Also adds an example kickstart.
This Obsoletes the old appliance-tools-minimizer and includes a Provide
so that the transition will be seamless.
(cherry picked from commit 99f2ab9137)
(cherry picked from commit b090a09dca)
Resolves: rhbz#1082642
The help content path has been changed to /usr/share/anaconda/help,
so this Lorax change is no longer needed.
This reverts commit 8bd3d8d232.
Related: rhbz#1072033
The aarch64 change to use shim (6907567) also stopped using mixed-case
names for BOOT${efiarch}.efi (so it's always .EFI and ${efiarch} is X64
IA32 AA64 etc. now), and mkefiboot needs to match that.
Related: rhbz#1100048
Incidentally, this should fix are aych bee zee one zero four three two
seven four.