diff --git a/builds/any/installer/installer.sh.in b/builds/any/installer/installer.sh.in index c5e33f3b..401c4dd4 100644 --- a/builds/any/installer/installer.sh.in +++ b/builds/any/installer/installer.sh.in @@ -19,6 +19,7 @@ if test "$ARCH" != "$IARCH"; then # identify mappings between kernel arch and debian arch case "$IARCH:$ARCH" in armel:armv7l) ;; + armhf:armv7l) ;; arm64:aarch64) ;; powerpc:ppc) ;; *) diff --git a/make/config.armhf.mk b/make/config.armhf.mk new file mode 100644 index 00000000..7aba1e5b --- /dev/null +++ b/make/config.armhf.mk @@ -0,0 +1,12 @@ +############################################################ +# +# Open Network Linux +# +############################################################ +include $(ONL)/make/config.mk +export TOOLCHAIN := arm-linux-gnueabihf +export CROSS_COMPILER := $(TOOLCHAIN)- +export ARCH := armhf +export UARCH := ARMHF +export ARCH_BOOT := uboot +export __$(ARCH)__ := 1 diff --git a/make/pkg.mk b/make/pkg.mk index 2589308e..98d9dfd6 100644 --- a/make/pkg.mk +++ b/make/pkg.mk @@ -14,7 +14,7 @@ include $(ONL)/make/config.mk # directory tree. # ifndef ARCHES -ARCHES := amd64 powerpc armel arm64 all +ARCHES := amd64 powerpc armel armhf arm64 all endif ONLPM_ENVIRONMENT = \ diff --git a/packages/base/all/initrds/loader-initrd-files/src/bin/swiprep b/packages/base/all/initrds/loader-initrd-files/src/bin/swiprep index 88cb76c6..d5a72f8e 100755 --- a/packages/base/all/initrds/loader-initrd-files/src/bin/swiprep +++ b/packages/base/all/initrds/loader-initrd-files/src/bin/swiprep @@ -138,7 +138,7 @@ case $(uname -m) in ARCH_LIST="x86_64 amd64" ;; armv7l) - ARCH_LIST="armel" + ARCH_LIST="armel armhf" ;; aarch64) ARCH_LIST="arm64" diff --git a/packages/base/all/vendor-config-onl/src/python/onl/platform/baseconfig.py b/packages/base/all/vendor-config-onl/src/python/onl/platform/baseconfig.py index c30832bb..779009aa 100644 --- a/packages/base/all/vendor-config-onl/src/python/onl/platform/baseconfig.py +++ b/packages/base/all/vendor-config-onl/src/python/onl/platform/baseconfig.py @@ -33,6 +33,7 @@ def baseconfig(): 'i386-linux-gnu', 'x86_64-linux-gnu', 'arm-linux-gnueabi', + 'arm-linux-gnueabihf', 'aarch64-linux-gnu', ] diff --git a/tools/flat-image-tree.py b/tools/flat-image-tree.py index 19ad7f9c..c4290daf 100755 --- a/tools/flat-image-tree.py +++ b/tools/flat-image-tree.py @@ -66,7 +66,7 @@ class Image(object): self.wl(""" description = "%s";""" % self.description) self.wl(""" type = "%s";""" % self.type) self.wl(""" data = /incbin/("%s");""" % self.data) - self.wl(""" arch = "%s";""" % ("arm" if ops.arch == 'armel' else ops.arch)) + self.wl(""" arch = "%s";""" % ("arm" if ops.arch in [ 'armel', 'armhf' ] else ops.arch)) self.wl(""" compression = "%s";""" % self.compression) if self.os: self.wl(""" os = %s;""" % self.os) @@ -95,7 +95,7 @@ class KernelImage(Image): if arch == 'powerpc': self.load = "<0x0>" self.entry = "<0x0>" - elif arch == 'armel': + elif arch in [ 'armel', 'armhf' ]: self.load = "<0x61008000>" self.entry = "<0x61008000>" elif arch == 'arm64': @@ -117,7 +117,7 @@ class InitrdImage(Image): if arch == 'powerpc': self.load = "<0x1000000>" self.entry ="<0x1000000>" - elif arch == 'armel': + elif arch in [ 'armel', 'armhf' ]: self.load = "<0x0000000>" self.entry ="<0x0000000>" elif arch == 'arm64': @@ -306,7 +306,7 @@ if __name__ == '__main__': ap.add_argument("--desc", nargs=1, help="Flat Image Tree description", default="ONL Flat Image Tree.") ap.add_argument("--itb", metavar='itb-file', help="Compile result to an image tree blob file.") ap.add_argument("--its", metavar='its-file', help="Write result to an image tree source file.") - ap.add_argument("--arch", choices=['powerpc', 'armel', 'arm64'], required=True) + ap.add_argument("--arch", choices=['powerpc', 'armel', 'armhf', 'arm64'], required=True) ops=ap.parse_args() fit = FlatImageTree(ops.desc) diff --git a/tools/mkinstaller.py b/tools/mkinstaller.py index 9ca57909..6989c02a 100755 --- a/tools/mkinstaller.py +++ b/tools/mkinstaller.py @@ -175,7 +175,7 @@ if __name__ == '__main__': ap = argparse.ArgumentParser(NAME) ap.add_argument("--arch", help="Installer Architecture.", required=True, - choices = ['amd64', 'powerpc', 'armel', 'arm64']) + choices = ['amd64', 'powerpc', 'armel', 'armhf', 'arm64']) ap.add_argument("--initrd", nargs=2, help="The system initrd.") ap.add_argument("--fit", nargs=2, help="The system FIT image.") ap.add_argument("--boot-config", help="The boot-config source.") diff --git a/tools/onlrfs.py b/tools/onlrfs.py index 46749d3b..85c51b28 100755 --- a/tools/onlrfs.py +++ b/tools/onlrfs.py @@ -334,7 +334,7 @@ class OnlRfsBuilder(object): if not os.path.exists(self.QEMU_PPC): raise OnlRfsError("%s is missing." % self.QEMU_PPC) - if self.arch == 'armel': + if self.arch in [ 'armel', 'armhf' ]: if not os.path.exists(self.QEMU_ARM): raise OnlRfsError("%s is missing." % self.QEMU_ARM) @@ -378,7 +378,7 @@ class OnlRfsBuilder(object): def dpkg_configure(self, dir_): if self.arch == 'powerpc': onlu.execute('sudo cp %s %s' % (self.QEMU_PPC, os.path.join(dir_, 'usr/bin'))) - if self.arch == 'armel': + if self.arch in [ 'armel', 'armhf' ]: onlu.execute('sudo cp %s %s' % (self.QEMU_ARM, os.path.join(dir_, 'usr/bin'))) if self.arch == 'arm64': onlu.execute('sudo cp %s %s' % (self.QEMU_ARM64, os.path.join(dir_, 'usr/bin')))