-------- Forwarded Message -------- From: Wookey <[email protected]> To: Ben Hutchings <[email protected]> Subject: Re: linux: Add basic arm64 support Date: Fri, 11 Oct 2013 04:35:32 +0100 Message-id: <[email protected]>
+++ Ben Hutchings [2013-02-07 03:38 +0000]: > Control: tag -1 moreinfo Sorry, I missed this message at the time. > On Thu, 2012-12-06 at 02:02 +0000, Wookey wrote: > > Package: linux > > Version: 3.6.4-1~experimental.1 > > Severity: wishlist > > Tags: upstream experimental patch > > > > This patch adds basic arm64 support, good enough for generating > > linux-libc-dev packages at least. > > It is possible to define an architecture for which only linux-libc-dev > is built, as is done for x32, but this doesn't seem appropriate. > > > The production of actual kernels has > > not yet been tested, but the packaging changes are here and the > > upstream arm64 kernel patch can easily be updated. > > People have working kernels so why not provide a working config file? > This package can be fully cross-built, not just for linux-libc-dev. OK. After some asking around for best default configs I have generated one. > > There is also a patch to make it build taken from this mail: > > https://lkml.org/lkml/2012/7/19/102 > > This is not needed in 3.7 > > Are any patches still required for 3.7 (or 3.8, as it will be out soon)? Nope. And definitely not 3.11. > > The build-dep on gcc-4.7 is arguable, but the issue is that there is > > no gcc-4.6 for arm64, so that can never be satisfied without a major > > backport. > > I see no problem at all with this, but you mustn't define this by > hand-editing debian/control! Add a [base]compiler field to the > debian/config/arm64/defines file. This has become moot too in the meantime. Updated patch attached. Wookey -- Principal hats: Linaro, Emdebian, Wookware, Balloonboard, ARM http://wookware.org/
diff -urN origs/linux-3.10.11/debian/changelog build/linux-3.10.11/debian/changelog --- origs/linux-3.10.11/debian/changelog 2013-09-10 14:13:17.000000000 +0100 +++ build/linux-3.10.11/debian/changelog 2013-10-11 04:05:57.380980848 +0100 @@ -1,3 +1,9 @@ +linux (3.10.11-1~arm64) UNRELEASED; urgency=low + + * Add arm64 packaging + + -- <[email protected]> Sat, 05 Oct 2013 02:24:25 +0100 + linux (3.10.11-1) unstable; urgency=low * New upstream stable update: diff -urN origs/linux-3.10.11/debian/config/arm64/config build/linux-3.10.11/debian/config/arm64/config --- origs/linux-3.10.11/debian/config/arm64/config 1970-01-01 01:00:00.000000000 +0100 +++ build/linux-3.10.11/debian/config/arm64/config 2013-10-09 16:56:22.585330811 +0100 @@ -0,0 +1,35 @@ +## +## File arch/arm64/Kconfig +## +CONFIG_ARCH_VEXPRESS=y +CONFIG_CMDLINE="console=ttyAMA0" + +## +## File drivers/block/Kconfig +## +CONFIG_BLK_DEV_RAM=y + +## +## File mm/Kconfig +## +CONFIG_HUGETLB_PAGE=y + +## +## File drivers/mmc/Kconfig +## +CONFIG_MMC=y + +## +## File drivers/regulator/Kconfig +## +CONFIG_REGULATOR_VEXPRESS=y + +## +## File block/partitions/Kconfig +## +CONFIG_EFI_PARTITION=y + +## +## File fs/nfs/Kconfig +## +CONFIG_ROOT_NFS=y diff -urN origs/linux-3.10.11/debian/config/arm64/config.vexpress build/linux-3.10.11/debian/config/arm64/config.vexpress --- origs/linux-3.10.11/debian/config/arm64/config.vexpress 1970-01-01 01:00:00.000000000 +0100 +++ build/linux-3.10.11/debian/config/arm64/config.vexpress 2013-10-08 03:12:22.195734618 +0100 @@ -0,0 +1,3 @@ +# +# All arm64 flavours are intended to use the same kernel config. +# So nothing in here yet \ No newline at end of file diff -urN origs/linux-3.10.11/debian/config/arm64/defines build/linux-3.10.11/debian/config/arm64/defines --- origs/linux-3.10.11/debian/config/arm64/defines 1970-01-01 01:00:00.000000000 +0100 +++ build/linux-3.10.11/debian/config/arm64/defines 2013-10-05 02:14:21.433172948 +0100 @@ -0,0 +1,15 @@ +[base] +flavours: + vexpress +kernel-arch: arm64 + +[image] +configs: + arm64/config + +[vexpress_build] +image-file: arch/arm64/boot/zImage + +[vexpress_description] +hardware: ARM Ltd. Versatile Express +hardware-long: ARM Ltd. Versatile Express family of processors diff -urN origs/linux-3.10.11/debian/config/defines build/linux-3.10.11/debian/config/defines --- origs/linux-3.10.11/debian/config/defines 2013-09-07 22:48:51.000000000 +0100 +++ build/linux-3.10.11/debian/config/defines 2013-10-05 02:11:11.144228257 +0100 @@ -7,6 +7,7 @@ amd64 armel armhf + arm64 hppa i386 ia64 diff -urN origs/linux-3.10.11/debian/config.defines.dump build/linux-3.10.11/debian/config.defines.dump \ No newline at end of file diff -urN origs/linux-3.10.11/debian/control build/linux-3.10.11/debian/control --- origs/linux-3.10.11/debian/control 2013-09-10 14:13:31.000000000 +0100 +++ build/linux-3.10.11/debian/control 2013-10-11 04:02:48.580045698 +0100 @@ -4,7 +4,7 @@ Maintainer: Debian Kernel Team <[email protected]> Uploaders: Bastian Blank <[email protected]>, Frederik Schüler <[email protected]>, maximilian attems <[email protected]>, Ben Hutchings <[email protected]> Standards-Version: 3.9.4 -Build-Depends: debhelper (>> 7), cpio, kmod | module-init-tools, python (>= 2.7), lzma [armel], kernel-wedge (>= 2.84), quilt, patchutils, bc, gcc-4.7 [alpha amd64 armel armhf i386 ia64 mips mipsel powerpc powerpcspe ppc64 s390 s390x sh4 sparc sparc64], gcc-4.4 [hppa], binutils-hppa64 [hppa], gcc-4.4-hppa64 [hppa], gcc-4.8 [m68k] +Build-Depends: debhelper (>> 7), cpio, kmod | module-init-tools, python (>= 2.7), lzma [armel], kernel-wedge (>= 2.84), quilt, patchutils, bc, gcc-4.7 [alpha amd64 armel armhf arm64 i386 ia64 mips mipsel powerpc powerpcspe ppc64 s390 s390x sh4 sparc sparc64], gcc-4.4 [hppa], binutils-hppa64 [hppa], gcc-4.4-hppa64 [hppa], gcc-4.8 [m68k] Build-Depends-Indep: xz-utils, xmlto Vcs-Svn: svn://anonscm.debian.org/svn/kernel/dists/trunk/linux/ Vcs-Browser: http://anonscm.debian.org/viewvc/kernel/dists/trunk/linux/ @@ -67,7 +67,7 @@ Multi-Arch: foreign Package: linux-libc-dev -Architecture: alpha amd64 armel armhf hppa i386 ia64 m68k mips mipsel powerpc powerpcspe ppc64 s390 s390x sh4 sparc sparc64 x32 +Architecture: alpha amd64 arm64 armel armhf hppa i386 ia64 m68k mips mipsel powerpc powerpcspe ppc64 s390 s390x sh4 sparc sparc64 x32 Section: devel Provides: linux-kernel-headers Depends: ${misc:Depends} @@ -80,7 +80,7 @@ Multi-Arch: same Package: linux-headers-3.10-3-all -Architecture: alpha amd64 armel armhf hppa i386 ia64 m68k mips mipsel powerpc powerpcspe ppc64 s390 s390x sh4 sparc sparc64 +Architecture: alpha amd64 arm64 armel armhf hppa i386 ia64 m68k mips mipsel powerpc powerpcspe ppc64 s390 s390x sh4 sparc sparc64 Depends: linux-headers-3.10-3-all-${kernel:Arch} (= ${binary:Version}), ${misc:Depends} Description: All header files for Linux 3.10 (meta-package) This package depends against all architecture-specific kernel header files @@ -96,7 +96,7 @@ kernel modules. Package: linux-headers-3.10-3-common -Architecture: alpha amd64 armel armhf hppa i386 ia64 m68k mips mipsel powerpc powerpcspe ppc64 s390 s390x sh4 sparc sparc64 +Architecture: alpha amd64 arm64 armel armhf hppa i386 ia64 m68k mips mipsel powerpc powerpcspe ppc64 s390 s390x sh4 sparc sparc64 Depends: ${misc:Depends} Description: Common header files for Linux 3.10-3 This package provides the architecture-specific common kernel header files @@ -3725,10 +3725,10 @@ that load into the kernel provided by the linux-image-3.10-3-omap package. Package: linux-image-3.10-3-vexpress -Architecture: armhf +Architecture: arm64 armhf Provides: linux-image, linux-modules-3.10-3-vexpress Pre-Depends: debconf | debconf-2.0 -Depends: kmod | module-init-tools, linux-base (>= 3~), ${misc:Depends}, initramfs-tools (>= 0.110~) [armhf] | linux-initramfs-tool [armhf] +Depends: kmod | module-init-tools, linux-base (>= 3~), ${misc:Depends}, initramfs-tools (>= 0.110~) [armhf arm64] | linux-initramfs-tool [armhf arm64] Recommends: firmware-linux-free (>= 3~) Suggests: linux-doc-3.10, debian-kernel-handbook, fdutils [armhf] Breaks: at (<< 3.1.12-1+squeeze1), initramfs-tools (<< 0.110~) @@ -3737,7 +3737,7 @@ family of processors. Package: linux-headers-3.10-3-vexpress -Architecture: armhf +Architecture: arm64 armhf Provides: linux-headers Depends: linux-headers-3.10-3-common (= ${binary:Version}), linux-kbuild-3.10, ${misc:Depends}, gcc-4.7 Description: Header files for Linux 3.10-3-vexpress @@ -3748,6 +3748,14 @@ modules that load into the kernel provided by the linux-image-3.10-3-vexpress package. +Package: linux-headers-3.10-3-all-arm64 +Architecture: arm64 +Depends: ${misc:Depends}, linux-headers-3.10-3-vexpress (= ${binary:Version}) +Description: All header files for Linux 3.10 (meta-package) + This package depends against all architecture-specific kernel header files + for Linux kernel version 3.10, generally used for building out-of-tree + kernel modules. + Package: linux-headers-3.10-3-all-hppa Architecture: hppa Depends: ${misc:Depends}, linux-headers-3.10-3-parisc (= ${binary:Version}), linux-headers-3.10-3-parisc-smp (= ${binary:Version}), linux-headers-3.10-3-parisc64 (= ${binary:Version}), linux-headers-3.10-3-parisc64-smp (= ${binary:Version})

