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

120 lines
4.3 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
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
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 = ','
%>
%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