<%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', 'lpae' : '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