d9c23d1bce
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
)
103 lines
3.5 KiB
Cheetah
103 lines
3.5 KiB
Cheetah
<%page args="kernels, runtime_img, runtime_base, basearch, outroot, arch"/>
|
|
<%
|
|
configdir="tmp/config_files/uboot"
|
|
PXEBOOTDIR="images/pxeboot"
|
|
DTBDIR="images/pxeboot/dtb"
|
|
BOOTDIR="boot"
|
|
KERNELDIR=PXEBOOTDIR
|
|
STAGE2IMG="images/install.img"
|
|
LORAXDIR="usr/share/lorax/"
|
|
|
|
# different platforms use different kernel load addresses.
|
|
# include a 'baseline' kernel for no 'flavor'.
|
|
kernelAddress = { 'baseline' : '0x00008000',
|
|
'lpae' : '0x00008000',
|
|
}
|
|
|
|
# keep a comma-delimited list of platforms installed to add to .treeinfo
|
|
platforms = ""
|
|
delimiter = ''
|
|
%>
|
|
|
|
mkdir images
|
|
install ${runtime_img} ${STAGE2IMG}
|
|
treeinfo stage2 mainimage ${STAGE2IMG}
|
|
|
|
mkdir ${DTBDIR}
|
|
install boot/dtb-*/*dtb ${DTBDIR}/
|
|
|
|
## install kernels
|
|
mkdir ${KERNELDIR}
|
|
%for kernel in kernels:
|
|
%if kernel.flavor:
|
|
installkernel images-${kernel.flavor}-${basearch} ${kernel.path} ${KERNELDIR}/vmlinuz-${kernel.flavor}
|
|
installinitrd images-${kernel.flavor}-${basearch} ${kernel.initrd.path} ${KERNELDIR}/initrd-${kernel.flavor}.img
|
|
<%
|
|
platforms = platforms + delimiter + kernel.flavor
|
|
delimiter = ','
|
|
%>
|
|
## create U-Boot wrapped images
|
|
|
|
runcmd mkimage \
|
|
-A arm -O linux -T ramdisk -C none \
|
|
-a 0 -e 0 \
|
|
-n "${product.name} ${product.version} ${kernel.flavor} ${kernel.arch}" \
|
|
-d ${outroot}/${KERNELDIR}/initrd-${kernel.flavor}.img \
|
|
${outroot}/${KERNELDIR}/uInitrd-${kernel.flavor}
|
|
|
|
runcmd mkimage \
|
|
-A arm -O linux -T kernel -C none \
|
|
-a ${kernelAddress[kernel.flavor]} -e ${kernelAddress[kernel.flavor]} \
|
|
-n "${product.name} ${product.version} ${kernel.flavor} ${kernel.arch}" \
|
|
-d ${outroot}/${KERNELDIR}/vmlinuz-${kernel.flavor} \
|
|
${outroot}/${KERNELDIR}/uImage-${kernel.flavor}
|
|
|
|
treeinfo images-${kernel.flavor}-${basearch} uimage ${KERNELDIR}/uImage-${kernel.flavor}
|
|
treeinfo images-${kernel.flavor}-${basearch} uinitrd ${KERNELDIR}/uInitrd-${kernel.flavor}
|
|
|
|
%else:
|
|
installkernel images-${basearch} ${kernel.path} ${KERNELDIR}/vmlinuz
|
|
installinitrd images-${basearch} ${kernel.initrd.path} ${KERNELDIR}/initrd.img
|
|
|
|
## create U-Boot wrapped images
|
|
|
|
runcmd mkimage \
|
|
-A arm -O linux -T ramdisk -C none \
|
|
-a 0 -e 0 \
|
|
-n "${product.name} ${product.version} ${kernel.arch}" \
|
|
-d ${outroot}/${KERNELDIR}/initrd.img \
|
|
${outroot}/${KERNELDIR}/uInitrd
|
|
|
|
runcmd mkimage \
|
|
-A arm -O linux -T kernel -C none \
|
|
-a ${kernelAddress['baseline']} -e ${kernelAddress['baseline']} \
|
|
-n "${product.name} ${product.version} ${kernel.arch}" \
|
|
-d ${outroot}/${KERNELDIR}/vmlinuz \
|
|
${outroot}/${KERNELDIR}/uImage
|
|
|
|
treeinfo images-${basearch} uimage ${KERNELDIR}/uImage
|
|
treeinfo images-${basearch} uinitrd ${KERNELDIR}/uInitrd
|
|
|
|
%endif
|
|
%endfor
|
|
|
|
# add platform to treeinfo for Beaker support
|
|
treeinfo ${basearch} platforms ${platforms}
|
|
|
|
# Create optional product.img and updates.img
|
|
<% images=["product", "updates"] %>
|
|
%for img in images:
|
|
%if exists("%s/%s/" % (LORAXDIR, img)):
|
|
installimg ${LORAXDIR}/${img}/ images/${img}.img
|
|
%endif
|
|
%endfor
|
|
|
|
# Inherit iso-graft/ if it exists from external templates
|
|
<%
|
|
import os
|
|
if os.path.exists(workdir + "/iso-graft"):
|
|
imggraft += " " + workdir + "/iso-graft"
|
|
%>
|
|
|
|
## FIXME: ARM may need some extra boot config
|