Commit Graph

18 Commits

Author SHA1 Message Date
Will Woods
d9c23d1bce don't build upgrade.img anymore
fedup is deprecated and abandoned. Let's save time and disk by not
building `upgrade.img` when nothing is going to use it anymore.

For the record, performing upgrades using an initramfs from the new
system turns out to be fragile and hard to support:

* dracut initramfs isn't generic enough to handle booting all systems
  (e.g. missing vconsole.conf means you get keymaps wrong, so users
  can't unlock encrypted disks)

* The ABI differences between the two versions of plymouth, systemd,
  etc. requires nasty workarounds at best and causes nightmarish
  systemd crashes at worst

This patch removes all the code that built and installed `upgrade.img`.

For backwards compatibility, the API retains the `doupgrade` keyword
argument, and the `--noupgrade` flag is still accepted.

(cherry picked from commit a3e1a275ff)
2015-08-31 16:39:30 -07:00
Colin Walters
67217f5642 Add ability for external templates to graft content into boot.iso
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.
2015-03-19 16:48:16 -04:00
Brian C. Lane
c548084ccf Move stage2 to images/install.img (#815275)
Use the same stage2 location for all arches, put it in images with all
the other images. This only effects boot.iso, live images still use
LiveOS/squashfs.img because that's where dracut's 90dmsquashfs-live
module expects to find it.

For boot.iso anaconda-dracut handles finding stage2, looking at
images/install.img and LiveOS/squashfs.img
2015-03-03 09:01:21 -08:00
Brian C. Lane
142b23b64e Add product.img support for arm templates 2014-11-06 18:56:56 -08:00
Dennis Gilmore
2195ef60e8 ARM: install the dtb files into the install tree.
needed for netbooting platforms that dont provide their own dtb file.
2013-10-16 18:06:27 -05:00
Dennis Gilmore
8d84e9d25a ARM: Don't install or deal with in templates, no longer existing kernels
remove no longer used kernel variants from templates
dont try to install no longer existing kernel-tegra variant
2013-10-16 18:06:20 -05:00
Dennis Gilmore
d751ac82db remove no longer supported arm kernel variants add the new lpae one 2013-04-17 16:21:23 -07:00
d.marlin
f921a362f9 Dynamically generate the list of installed platforms for .treeinfo
The list of ARM platforms was represented as a static list to be
installed in .treeinfo for Beaker support, but as ARM moves to use
the multiplatform kernel the platform specific kernel images will
no longer be needed.  This process is beginning in F18 (3.7 kernel)
with HighBank being the first to use the baseline kernel.  Due to
this change, there will be no 'highbank' platform images, but Beaker
tries to import all platforms listed in .treeinfo.  To avoid errors,
we should dynamically create the list of ARM plaforms, including
only those that are actually provided.

Signed-off-by: David A. Marlin <dmarlin@redhat.com>
2013-01-25 17:53:09 -08:00
d.marlin
53675e36ef Add a U-Boot wrapped image of 'upgrade.img'.
For ARM systems that require U-Boot wrapped images,
perform mkimage to create one for 'upgrade.img'.

Signed-off-by: David A. Marlin <dmarlin@redhat.com>
2013-01-25 17:53:09 -08:00
Martin Gracik
a0791d3074 Only run installupgradeinitrd if upgrade 2012-12-18 14:31:45 +01:00
d.marlin
b039e50294 Correct argument to installupgradeinitrd.
Signed-off-by: David A. Marlin <dmarlin@redhat.com>
2012-12-05 17:22:44 -08:00
Dennis Gilmore
78e3d0f115 add installupgradeinitrd function and use it to install the upgrade initrds 2012-11-30 13:28:38 -06:00
Dennis Gilmore
138cb06cd5 use installinitrd to install the upgrade.img initramfs so that we get correct permissions 2012-11-30 13:28:38 -06:00
Dennis Gilmore
69c251aa20 ppc and arm need to use kernel.upgrade not kernel.upgrader 2012-11-30 13:28:38 -06:00
Will Woods
88f027d506 make templates install upgrade.img 2012-11-30 13:28:38 -06:00
d.marlin
0f02b5c920 Add platforms to the treeinfo for Beaker support. 2012-08-13 15:39:53 +02:00
d.marlin
f170b6dc49 Add 'mvebu' to list of recognized ARM kernels.
Signed-off-by: David A. Marlin <dmarlin@redhat.com>
2012-07-25 12:43:23 +02:00
Martin Gracik
30cb18a9ec Add initial support for ARM based systems (dmarlin) 2012-06-21 09:33:53 +02:00