Add initial support for ARM based systems (dmarlin)
This commit is contained in:
parent
6d1e637731
commit
30cb18a9ec
78
share/arm.tmpl
Normal file
78
share/arm.tmpl
Normal file
@ -0,0 +1,78 @@
|
||||
<%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',
|
||||
'omap' : '0x80008000',
|
||||
'tegra' : '0x00008000',
|
||||
}
|
||||
%>
|
||||
|
||||
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
|
||||
|
||||
# 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
|
||||
|
||||
|
||||
## FIXME: ARM may need some extra boot config
|
||||
|
@ -22,6 +22,10 @@ installpkg kernel
|
||||
%endif
|
||||
|
||||
## arch-specific packages (bootloaders etc.)
|
||||
%if basearch in ("arm", "armhfp"):
|
||||
installpkg kernel-highbank kernel-imx kernel-kirkwood kernel-omap kernel-tegra
|
||||
installpkg uboot-tools
|
||||
%endif
|
||||
%if basearch == "i386":
|
||||
installpkg kernel-PAE gpart
|
||||
%endif
|
||||
|
@ -52,7 +52,9 @@ class ArchData(DataHolder):
|
||||
lib64_arches = ("x86_64", "ppc64", "sparc64", "s390x", "ia64")
|
||||
bcj_arch = dict(i386="x86", x86_64="x86",
|
||||
ppc="powerpc", ppc64="powerpc",
|
||||
sparc="sparc", sparc64="sparc")
|
||||
sparc="sparc", sparc64="sparc",
|
||||
arm="arm", armhfp="arm")
|
||||
|
||||
def __init__(self, buildarch):
|
||||
self.buildarch = buildarch
|
||||
self.basearch = getBaseArch(buildarch)
|
||||
|
@ -39,6 +39,8 @@ templatemap = {
|
||||
'sparc64': 'sparc.tmpl',
|
||||
's390': 's390.tmpl',
|
||||
's390x': 's390.tmpl',
|
||||
'arm': 'arm.tmpl',
|
||||
'armhfp': 'arm.tmpl',
|
||||
}
|
||||
|
||||
def generate_module_info(moddir, outfile=None):
|
||||
@ -258,7 +260,7 @@ class TreeBuilder(object):
|
||||
|
||||
def findkernels(root="/", kdir="boot"):
|
||||
# To find possible flavors, awk '/BuildKernel/ { print $4 }' kernel.spec
|
||||
flavors = ('debug', 'PAE', 'PAEdebug', 'smp', 'xen')
|
||||
flavors = ('debug', 'PAE', 'PAEdebug', 'smp', 'xen', 'highbank', 'imx', 'kirkwood', 'omap', 'tegra')
|
||||
kre = re.compile(r"vmlinuz-(?P<version>.+?\.(?P<arch>[a-z0-9_]+)"
|
||||
r"(\.(?P<flavor>{0}))?)$".format("|".join(flavors)))
|
||||
kernels = []
|
||||
|
Loading…
Reference in New Issue
Block a user