lorax/share/arm.tmpl
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

121 lines
4.4 KiB
Cheetah

<%page args="kernels, runtime_img, runtime_base, basearch, outroot, arch"/>
<%
configdir="tmp/config_files/uboot"
PXEBOOTDIR="images/pxeboot"
BOOTDIR="boot"
KERNELDIR=PXEBOOTDIR
LIVEDIR="LiveOS"
# different platforms use different kernel load addresses.
# include a 'baseline' kernel for no 'flavor'.
kernelAddress = { 'baseline' : '0x00008000',
'highbank' : '0x00008000',
'imx' : '0x90008000',
'kirkwood' : '0x00008000',
'mvebu' : '0x00008000',
'omap' : '0x80008000',
'tegra' : '0x00008000',
}
# keep a comma-delimited list of platforms installed to add to .treeinfo
platforms = ""
delimiter = ''
%>
mkdir ${LIVEDIR}
install ${runtime_img} ${LIVEDIR}/squashfs.img
treeinfo stage2 mainimage ${LIVEDIR}/squashfs.img
## 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 = ','
%>
%if doupgrade:
## install upgrade image
installupgradeinitrd images-${kernel.flavor}-${basearch} ${kernel.upgrade.path} ${KERNELDIR}/upgrade-${kernel.flavor}.img
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}/upgrade-${kernel.flavor}.img \
${outroot}/${KERNELDIR}/uUpgrade-${kernel.flavor}
treeinfo images-${kernel.flavor}-${basearch} uupgrade ${KERNELDIR}/uUpgrade-${kernel.flavor}
%endif
## 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
%if doupgrade:
## install upgrade image
installupgradeinitrd images-${basearch} ${kernel.upgrade.path} ${KERNELDIR}/upgrade.img
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}/upgrade.img \
${outroot}/${KERNELDIR}/uUpgrade
treeinfo images-${basearch} uupgrade ${KERNELDIR}/uUpgrade
%endif
## 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}
## FIXME: ARM may need some extra boot config