Package: src:linux Version: 3.14.1-1~exp1 Severity: wishlist Tags: patch X-Debbugs-CC: Wookey <woo...@wookware.org> User: debian-...@lists.debian.org Usertags: arm64
The attached patch enables building a kernel for the arm64 platform. It enables vexpress and xgene arch support. Currently it can't be built due to missing build-deps: The following packages have unmet dependencies: sbuild-build-depends-linux-dummy : Depends: python but it is not going to be installed Depends: python-six but it is not going to be installed Depends: patchutils but it is not installable E: Unable to correct problems, you have held broken packages. However with the little patch below it cross builds with the Linaro 4.8.2 compiler and: DEB_HOST_ARCH=arm64 debuild --prepend-path=$CROSSBIN/gcc-linaro-aarch64-linux-gnu-4.8-2013.08_linux/bin/ -B -aarm64 -j4 I've not actually booted this one anything but it seems like a good starting point. Ian. diff --git a/linux/debian/config/defines b/linux/debian/config/defines index 76948a2..6b62b49 100644 --- a/linux/debian/config/defines +++ b/linux/debian/config/defines @@ -23,7 +23,7 @@ arches: sparc sparc64 x32 -compiler: gcc-4.8 +compiler: gcc-4.8.2 featuresets: none rt @@ -47,6 +47,7 @@ gcc-4.4: gcc-4.4 gcc-4.6: gcc-4.6 gcc-4.7: gcc-4.7 gcc-4.8: gcc-4.8 +gcc-4.8.2: gcc-4.8.2 # initramfs-generators initramfs-fallback: linux-initramfs-tool
>From bcfe5f5b118276269d0e5556adf42a6a7e00a86c Mon Sep 17 00:00:00 2001 From: Ian Campbell <ian.campb...@citrix.com> Date: Sun, 20 Apr 2014 20:04:16 +0100 Subject: [PATCH] [arm64] Initial kernel configuration and packaging. --- linux/debian/changelog | 1 + linux/debian/config/arm64/defines | 16 +++++++++++++++- linux/debian/installer/arm64/kernel-versions | 2 ++ linux/debian/installer/arm64/modules/arm64/ata-modules | 1 + linux/debian/installer/arm64/modules/arm64/btrfs-modules | 1 + linux/debian/installer/arm64/modules/arm64/core-modules | 1 + linux/debian/installer/arm64/modules/arm64/crc-modules | 1 + .../installer/arm64/modules/arm64/crypto-dm-modules | 1 + .../debian/installer/arm64/modules/arm64/crypto-modules | 1 + linux/debian/installer/arm64/modules/arm64/event-modules | 1 + linux/debian/installer/arm64/modules/arm64/ext4-modules | 1 + linux/debian/installer/arm64/modules/arm64/fat-modules | 1 + linux/debian/installer/arm64/modules/arm64/fuse-modules | 1 + linux/debian/installer/arm64/modules/arm64/input-modules | 1 + linux/debian/installer/arm64/modules/arm64/isofs-modules | 1 + linux/debian/installer/arm64/modules/arm64/jfs-modules | 1 + linux/debian/installer/arm64/modules/arm64/kernel-image | 1 + linux/debian/installer/arm64/modules/arm64/loop-modules | 1 + linux/debian/installer/arm64/modules/arm64/md-modules | 1 + linux/debian/installer/arm64/modules/arm64/mmc-modules | 1 + .../installer/arm64/modules/arm64/multipath-modules | 1 + linux/debian/installer/arm64/modules/arm64/nbd-modules | 1 + linux/debian/installer/arm64/modules/arm64/nic-modules | 1 + .../installer/arm64/modules/arm64/nic-shared-modules | 1 + .../debian/installer/arm64/modules/arm64/nic-usb-modules | 1 + .../installer/arm64/modules/arm64/nic-wireless-modules | 1 + linux/debian/installer/arm64/modules/arm64/ppp-modules | 1 + linux/debian/installer/arm64/modules/arm64/sata-modules | 1 + .../installer/arm64/modules/arm64/scsi-core-modules | 1 + linux/debian/installer/arm64/modules/arm64/scsi-modules | 2 ++ .../installer/arm64/modules/arm64/squashfs-modules | 1 + linux/debian/installer/arm64/modules/arm64/udf-modules | 1 + .../debian/installer/arm64/modules/arm64/uinput-modules | 1 + linux/debian/installer/arm64/modules/arm64/usb-modules | 1 + .../installer/arm64/modules/arm64/usb-storage-modules | 2 ++ linux/debian/installer/arm64/modules/arm64/zlib-modules | 1 + linux/debian/installer/arm64/package-list | 7 +++++++ linux/debian/rules.real | 8 ++++++++ 38 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 linux/debian/installer/arm64/kernel-versions create mode 100644 linux/debian/installer/arm64/modules/arm64/ata-modules create mode 100644 linux/debian/installer/arm64/modules/arm64/btrfs-modules create mode 100644 linux/debian/installer/arm64/modules/arm64/core-modules create mode 100644 linux/debian/installer/arm64/modules/arm64/crc-modules create mode 100644 linux/debian/installer/arm64/modules/arm64/crypto-dm-modules create mode 100644 linux/debian/installer/arm64/modules/arm64/crypto-modules create mode 100644 linux/debian/installer/arm64/modules/arm64/event-modules create mode 100644 linux/debian/installer/arm64/modules/arm64/ext4-modules create mode 100644 linux/debian/installer/arm64/modules/arm64/fat-modules create mode 100644 linux/debian/installer/arm64/modules/arm64/fuse-modules create mode 100644 linux/debian/installer/arm64/modules/arm64/input-modules create mode 100644 linux/debian/installer/arm64/modules/arm64/isofs-modules create mode 100644 linux/debian/installer/arm64/modules/arm64/jfs-modules create mode 100644 linux/debian/installer/arm64/modules/arm64/kernel-image create mode 100644 linux/debian/installer/arm64/modules/arm64/loop-modules create mode 100644 linux/debian/installer/arm64/modules/arm64/md-modules create mode 100644 linux/debian/installer/arm64/modules/arm64/mmc-modules create mode 100644 linux/debian/installer/arm64/modules/arm64/multipath-modules create mode 100644 linux/debian/installer/arm64/modules/arm64/nbd-modules create mode 100644 linux/debian/installer/arm64/modules/arm64/nic-modules create mode 100644 linux/debian/installer/arm64/modules/arm64/nic-shared-modules create mode 100644 linux/debian/installer/arm64/modules/arm64/nic-usb-modules create mode 100644 linux/debian/installer/arm64/modules/arm64/nic-wireless-modules create mode 100644 linux/debian/installer/arm64/modules/arm64/ppp-modules create mode 100644 linux/debian/installer/arm64/modules/arm64/sata-modules create mode 100644 linux/debian/installer/arm64/modules/arm64/scsi-core-modules create mode 100644 linux/debian/installer/arm64/modules/arm64/scsi-modules create mode 100644 linux/debian/installer/arm64/modules/arm64/squashfs-modules create mode 100644 linux/debian/installer/arm64/modules/arm64/udf-modules create mode 100644 linux/debian/installer/arm64/modules/arm64/uinput-modules create mode 100644 linux/debian/installer/arm64/modules/arm64/usb-modules create mode 100644 linux/debian/installer/arm64/modules/arm64/usb-storage-modules create mode 100644 linux/debian/installer/arm64/modules/arm64/zlib-modules create mode 100644 linux/debian/installer/arm64/package-list diff --git a/linux/debian/changelog b/linux/debian/changelog index 5450f8d..a91c3f5 100644 --- a/linux/debian/changelog +++ b/linux/debian/changelog @@ -10,6 +10,7 @@ linux (3.14.1-1~exp1) UNRELEASED; urgency=medium [ Ian Campbell ] * [armhf] Drop suffix from kernel udeb. + * [arm64] Initial kernel configuration and packaging. -- Ben Hutchings <b...@decadent.org.uk> Mon, 14 Apr 2014 01:58:22 +0100 diff --git a/linux/debian/config/arm64/defines b/linux/debian/config/arm64/defines index d201ee9..7eedea8 100644 --- a/linux/debian/config/arm64/defines +++ b/linux/debian/config/arm64/defines @@ -1,4 +1,18 @@ [base] kernel-arch: arm64 featuresets: -# empty; we don't have initramfs working yet + none + +[build] +debug-info: true + +[image] +configs: +image-file: arch/arm64/boot/Image + +[arm64_description] +hardware: 64-bit ARMv8 machines + +[arm64_image] +configs: + arm64/config diff --git a/linux/debian/installer/arm64/kernel-versions b/linux/debian/installer/arm64/kernel-versions new file mode 100644 index 0000000..11d7399 --- /dev/null +++ b/linux/debian/installer/arm64/kernel-versions @@ -0,0 +1,2 @@ +# arch version flavour installedname suffix build-depends +arm64 - arm64 - - - diff --git a/linux/debian/installer/arm64/modules/arm64/ata-modules b/linux/debian/installer/arm64/modules/arm64/ata-modules new file mode 100644 index 0000000..04d9c88 --- /dev/null +++ b/linux/debian/installer/arm64/modules/arm64/ata-modules @@ -0,0 +1 @@ +libata diff --git a/linux/debian/installer/arm64/modules/arm64/btrfs-modules b/linux/debian/installer/arm64/modules/arm64/btrfs-modules new file mode 100644 index 0000000..e261e13 --- /dev/null +++ b/linux/debian/installer/arm64/modules/arm64/btrfs-modules @@ -0,0 +1 @@ +#include <btrfs-modules> diff --git a/linux/debian/installer/arm64/modules/arm64/core-modules b/linux/debian/installer/arm64/modules/arm64/core-modules new file mode 100644 index 0000000..f05d062 --- /dev/null +++ b/linux/debian/installer/arm64/modules/arm64/core-modules @@ -0,0 +1 @@ +#include <core-modules> diff --git a/linux/debian/installer/arm64/modules/arm64/crc-modules b/linux/debian/installer/arm64/modules/arm64/crc-modules new file mode 100644 index 0000000..7e00de7 --- /dev/null +++ b/linux/debian/installer/arm64/modules/arm64/crc-modules @@ -0,0 +1 @@ +#include <crc-modules> diff --git a/linux/debian/installer/arm64/modules/arm64/crypto-dm-modules b/linux/debian/installer/arm64/modules/arm64/crypto-dm-modules new file mode 100644 index 0000000..4c8f235 --- /dev/null +++ b/linux/debian/installer/arm64/modules/arm64/crypto-dm-modules @@ -0,0 +1 @@ +#include <crypto-dm-modules> diff --git a/linux/debian/installer/arm64/modules/arm64/crypto-modules b/linux/debian/installer/arm64/modules/arm64/crypto-modules new file mode 100644 index 0000000..3a1e862 --- /dev/null +++ b/linux/debian/installer/arm64/modules/arm64/crypto-modules @@ -0,0 +1 @@ +#include <crypto-modules> diff --git a/linux/debian/installer/arm64/modules/arm64/event-modules b/linux/debian/installer/arm64/modules/arm64/event-modules new file mode 100644 index 0000000..f8819af --- /dev/null +++ b/linux/debian/installer/arm64/modules/arm64/event-modules @@ -0,0 +1 @@ +#include <event-modules> diff --git a/linux/debian/installer/arm64/modules/arm64/ext4-modules b/linux/debian/installer/arm64/modules/arm64/ext4-modules new file mode 100644 index 0000000..394c577 --- /dev/null +++ b/linux/debian/installer/arm64/modules/arm64/ext4-modules @@ -0,0 +1 @@ +#include <ext4-modules> diff --git a/linux/debian/installer/arm64/modules/arm64/fat-modules b/linux/debian/installer/arm64/modules/arm64/fat-modules new file mode 100644 index 0000000..274584e --- /dev/null +++ b/linux/debian/installer/arm64/modules/arm64/fat-modules @@ -0,0 +1 @@ +#include <fat-modules> diff --git a/linux/debian/installer/arm64/modules/arm64/fuse-modules b/linux/debian/installer/arm64/modules/arm64/fuse-modules new file mode 100644 index 0000000..0b6ba0c --- /dev/null +++ b/linux/debian/installer/arm64/modules/arm64/fuse-modules @@ -0,0 +1 @@ +#include <fuse-modules> diff --git a/linux/debian/installer/arm64/modules/arm64/input-modules b/linux/debian/installer/arm64/modules/arm64/input-modules new file mode 100644 index 0000000..5ecb595 --- /dev/null +++ b/linux/debian/installer/arm64/modules/arm64/input-modules @@ -0,0 +1 @@ +#include <input-modules> diff --git a/linux/debian/installer/arm64/modules/arm64/isofs-modules b/linux/debian/installer/arm64/modules/arm64/isofs-modules new file mode 100644 index 0000000..da4fa9a --- /dev/null +++ b/linux/debian/installer/arm64/modules/arm64/isofs-modules @@ -0,0 +1 @@ +#include <isofs-modules> diff --git a/linux/debian/installer/arm64/modules/arm64/jfs-modules b/linux/debian/installer/arm64/modules/arm64/jfs-modules new file mode 100644 index 0000000..7e4d912 --- /dev/null +++ b/linux/debian/installer/arm64/modules/arm64/jfs-modules @@ -0,0 +1 @@ +#include <jfs-modules> diff --git a/linux/debian/installer/arm64/modules/arm64/kernel-image b/linux/debian/installer/arm64/modules/arm64/kernel-image new file mode 100644 index 0000000..1bb8bf6 --- /dev/null +++ b/linux/debian/installer/arm64/modules/arm64/kernel-image @@ -0,0 +1 @@ +# empty diff --git a/linux/debian/installer/arm64/modules/arm64/loop-modules b/linux/debian/installer/arm64/modules/arm64/loop-modules new file mode 100644 index 0000000..c1c948f --- /dev/null +++ b/linux/debian/installer/arm64/modules/arm64/loop-modules @@ -0,0 +1 @@ +#include <loop-modules> diff --git a/linux/debian/installer/arm64/modules/arm64/md-modules b/linux/debian/installer/arm64/modules/arm64/md-modules new file mode 100644 index 0000000..26115e1 --- /dev/null +++ b/linux/debian/installer/arm64/modules/arm64/md-modules @@ -0,0 +1 @@ +#include <md-modules> diff --git a/linux/debian/installer/arm64/modules/arm64/mmc-modules b/linux/debian/installer/arm64/modules/arm64/mmc-modules new file mode 100644 index 0000000..dadfd53 --- /dev/null +++ b/linux/debian/installer/arm64/modules/arm64/mmc-modules @@ -0,0 +1 @@ +#include <mmc-modules> diff --git a/linux/debian/installer/arm64/modules/arm64/multipath-modules b/linux/debian/installer/arm64/modules/arm64/multipath-modules new file mode 100644 index 0000000..a8b69b2 --- /dev/null +++ b/linux/debian/installer/arm64/modules/arm64/multipath-modules @@ -0,0 +1 @@ +#include <multipath-modules> diff --git a/linux/debian/installer/arm64/modules/arm64/nbd-modules b/linux/debian/installer/arm64/modules/arm64/nbd-modules new file mode 100644 index 0000000..3c9b3e5 --- /dev/null +++ b/linux/debian/installer/arm64/modules/arm64/nbd-modules @@ -0,0 +1 @@ +#include <nbd-modules> diff --git a/linux/debian/installer/arm64/modules/arm64/nic-modules b/linux/debian/installer/arm64/modules/arm64/nic-modules new file mode 100644 index 0000000..2512e83 --- /dev/null +++ b/linux/debian/installer/arm64/modules/arm64/nic-modules @@ -0,0 +1 @@ +#include <nic-modules> diff --git a/linux/debian/installer/arm64/modules/arm64/nic-shared-modules b/linux/debian/installer/arm64/modules/arm64/nic-shared-modules new file mode 100644 index 0000000..cc84b14 --- /dev/null +++ b/linux/debian/installer/arm64/modules/arm64/nic-shared-modules @@ -0,0 +1 @@ +#include <nic-shared-modules> diff --git a/linux/debian/installer/arm64/modules/arm64/nic-usb-modules b/linux/debian/installer/arm64/modules/arm64/nic-usb-modules new file mode 100644 index 0000000..c479669 --- /dev/null +++ b/linux/debian/installer/arm64/modules/arm64/nic-usb-modules @@ -0,0 +1 @@ +#include <nic-usb-modules> diff --git a/linux/debian/installer/arm64/modules/arm64/nic-wireless-modules b/linux/debian/installer/arm64/modules/arm64/nic-wireless-modules new file mode 100644 index 0000000..53fd18d --- /dev/null +++ b/linux/debian/installer/arm64/modules/arm64/nic-wireless-modules @@ -0,0 +1 @@ +#include <nic-wireless-modules> diff --git a/linux/debian/installer/arm64/modules/arm64/ppp-modules b/linux/debian/installer/arm64/modules/arm64/ppp-modules new file mode 100644 index 0000000..1f26aa1 --- /dev/null +++ b/linux/debian/installer/arm64/modules/arm64/ppp-modules @@ -0,0 +1 @@ +#include <ppp-modules> diff --git a/linux/debian/installer/arm64/modules/arm64/sata-modules b/linux/debian/installer/arm64/modules/arm64/sata-modules new file mode 100644 index 0000000..01318c2 --- /dev/null +++ b/linux/debian/installer/arm64/modules/arm64/sata-modules @@ -0,0 +1 @@ +#include <sata-modules> diff --git a/linux/debian/installer/arm64/modules/arm64/scsi-core-modules b/linux/debian/installer/arm64/modules/arm64/scsi-core-modules new file mode 100644 index 0000000..dd65d66 --- /dev/null +++ b/linux/debian/installer/arm64/modules/arm64/scsi-core-modules @@ -0,0 +1 @@ +#include <scsi-core-modules> diff --git a/linux/debian/installer/arm64/modules/arm64/scsi-modules b/linux/debian/installer/arm64/modules/arm64/scsi-modules new file mode 100644 index 0000000..675462a --- /dev/null +++ b/linux/debian/installer/arm64/modules/arm64/scsi-modules @@ -0,0 +1,2 @@ +#include <scsi-modules> + diff --git a/linux/debian/installer/arm64/modules/arm64/squashfs-modules b/linux/debian/installer/arm64/modules/arm64/squashfs-modules new file mode 100644 index 0000000..42d7788 --- /dev/null +++ b/linux/debian/installer/arm64/modules/arm64/squashfs-modules @@ -0,0 +1 @@ +#include <squashfs-modules> diff --git a/linux/debian/installer/arm64/modules/arm64/udf-modules b/linux/debian/installer/arm64/modules/arm64/udf-modules new file mode 100644 index 0000000..b90d7ee --- /dev/null +++ b/linux/debian/installer/arm64/modules/arm64/udf-modules @@ -0,0 +1 @@ +#include <udf-modules> diff --git a/linux/debian/installer/arm64/modules/arm64/uinput-modules b/linux/debian/installer/arm64/modules/arm64/uinput-modules new file mode 100644 index 0000000..58a8337 --- /dev/null +++ b/linux/debian/installer/arm64/modules/arm64/uinput-modules @@ -0,0 +1 @@ +#include <uinput-modules> diff --git a/linux/debian/installer/arm64/modules/arm64/usb-modules b/linux/debian/installer/arm64/modules/arm64/usb-modules new file mode 100644 index 0000000..c598ded --- /dev/null +++ b/linux/debian/installer/arm64/modules/arm64/usb-modules @@ -0,0 +1 @@ +#include <usb-modules> diff --git a/linux/debian/installer/arm64/modules/arm64/usb-storage-modules b/linux/debian/installer/arm64/modules/arm64/usb-storage-modules new file mode 100644 index 0000000..6938b5c --- /dev/null +++ b/linux/debian/installer/arm64/modules/arm64/usb-storage-modules @@ -0,0 +1,2 @@ +#include <usb-storage-modules> +usb-storage - diff --git a/linux/debian/installer/arm64/modules/arm64/zlib-modules b/linux/debian/installer/arm64/modules/arm64/zlib-modules new file mode 100644 index 0000000..e02ad64 --- /dev/null +++ b/linux/debian/installer/arm64/modules/arm64/zlib-modules @@ -0,0 +1 @@ +#include <zlib-modules> diff --git a/linux/debian/installer/arm64/package-list b/linux/debian/installer/arm64/package-list new file mode 100644 index 0000000..aefbc7e --- /dev/null +++ b/linux/debian/installer/arm64/package-list @@ -0,0 +1,7 @@ +# This file is used to build up the control file. The kernel version and +# "-di" are appended to the package names. Section can be left out. So can +# architecture, which is derived from the files in the modules directory. +# It overwrites specifications from /usr/share/kernel-wedge/package-list. +# + +Package: kernel-image diff --git a/linux/debian/rules.real b/linux/debian/rules.real index bb819e3..c6a4980 100644 --- a/linux/debian/rules.real +++ b/linux/debian/rules.real @@ -385,6 +385,14 @@ install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_image: done endif +install-image_arm64_$(FEATURESET)_$(FLAVOUR)_plain_image: DTB_INSTALL_DIR = /usr/lib/linux-image-$(REAL_VERSION) +install-image_arm64_$(FEATURESET)_$(FLAVOUR)_plain_image: + install -m644 '$(DIR)/arch/$(KERNEL_ARCH)/boot/Image' $(INSTALL_DIR)/vmlinuz-$(REAL_VERSION) + +$(MAKE_CLEAN) -C $(DIR) dtbs + shopt -s nullglob ; for i in $(DIR)/arch/arm64/boot/dts/*.dtb ; do \ + install -D -m644 $$i '$(PACKAGE_DIR)'/'$(DTB_INSTALL_DIR)'/$$(basename $$i) ; \ + done + install-image_amd64_$(FEATURESET)_$(FLAVOUR)_plain_image \ install-image_i386_$(FEATURESET)_$(FLAVOUR)_plain_image: install -m644 '$(DIR)/arch/$(KERNEL_ARCH)/boot/bzImage' $(INSTALL_DIR)/vmlinuz-$(REAL_VERSION) -- 1.9.0