[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#745349: Basic arm64 kernel



On Sun, 2014-04-20 at 23:13 +0100, Ben Hutchings wrote:
> [...]
> You shouldn't need to specify the config files at all.
> [...]
> This looks just the same as for armel and armhf... except using Image
> instead of zImage.  Let me see what I can do to clean up these per-arch
> rules so this duplication isn't needed.

Thanks.

Rebased version attached.

Ian.
>From 14c759c052450494c4a252545eb9cda627d69202 Mon Sep 17 00:00:00 2001
From: Ian Campbell <ian.campbell@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/config                   | 24 ++++++++++++++++++++++
 linux/debian/config/arm64/defines                  | 14 ++++++++++++-
 linux/debian/config/arm64/none/defines             |  3 +++
 linux/debian/installer/arm64/kernel-versions       |  2 ++
 .../installer/arm64/modules/arm64/ata-modules      |  1 +
 .../installer/arm64/modules/arm64/btrfs-modules    |  1 +
 .../installer/arm64/modules/arm64/core-modules     |  1 +
 .../installer/arm64/modules/arm64/crc-modules      |  1 +
 .../arm64/modules/arm64/crypto-dm-modules          |  1 +
 .../installer/arm64/modules/arm64/crypto-modules   |  1 +
 .../installer/arm64/modules/arm64/event-modules    |  1 +
 .../installer/arm64/modules/arm64/ext4-modules     |  1 +
 .../installer/arm64/modules/arm64/fat-modules      |  1 +
 .../installer/arm64/modules/arm64/fuse-modules     |  1 +
 .../installer/arm64/modules/arm64/input-modules    |  1 +
 .../installer/arm64/modules/arm64/isofs-modules    |  1 +
 .../installer/arm64/modules/arm64/jfs-modules      |  1 +
 .../installer/arm64/modules/arm64/kernel-image     |  1 +
 .../installer/arm64/modules/arm64/loop-modules     |  1 +
 .../installer/arm64/modules/arm64/md-modules       |  1 +
 .../installer/arm64/modules/arm64/mmc-modules      |  1 +
 .../arm64/modules/arm64/multipath-modules          |  1 +
 .../installer/arm64/modules/arm64/nbd-modules      |  1 +
 .../installer/arm64/modules/arm64/nic-modules      |  1 +
 .../arm64/modules/arm64/nic-shared-modules         |  1 +
 .../installer/arm64/modules/arm64/nic-usb-modules  |  1 +
 .../arm64/modules/arm64/nic-wireless-modules       |  1 +
 .../installer/arm64/modules/arm64/ppp-modules      |  1 +
 .../installer/arm64/modules/arm64/sata-modules     |  1 +
 .../arm64/modules/arm64/scsi-core-modules          |  1 +
 .../installer/arm64/modules/arm64/scsi-modules     |  2 ++
 .../installer/arm64/modules/arm64/squashfs-modules |  1 +
 .../installer/arm64/modules/arm64/udf-modules      |  1 +
 .../installer/arm64/modules/arm64/uinput-modules   |  1 +
 .../installer/arm64/modules/arm64/usb-modules      |  1 +
 .../arm64/modules/arm64/usb-storage-modules        |  2 ++
 .../installer/arm64/modules/arm64/zlib-modules     |  1 +
 linux/debian/installer/arm64/package-list          |  7 +++++++
 linux/debian/rules.real                            |  2 +-
 40 files changed, 86 insertions(+), 2 deletions(-)
 create mode 100644 linux/debian/config/arm64/config
 create mode 100644 linux/debian/config/arm64/none/defines
 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 1e6f408..426afba 100644
--- a/linux/debian/changelog
+++ b/linux/debian/changelog
@@ -2,6 +2,7 @@ linux (3.14.1-1~exp2) UNRELEASED; urgency=medium
 
   [ Ian Campbell ]
   * [armhf] Drop suffix from kernel udeb.
+  * [arm64] Initial kernel configuration and packaging (Closes: #745349).
 
  -- Ben Hutchings <ben@decadent.org.uk>  Sun, 20 Apr 2014 21:54:54 +0100
 
diff --git a/linux/debian/config/arm64/config b/linux/debian/config/arm64/config
new file mode 100644
index 0000000..1ae76d7
--- /dev/null
+++ b/linux/debian/config/arm64/config
@@ -0,0 +1,24 @@
+##
+## file: arch/arm64/Kconfig
+##
+CONFIG_ARCH_VEXPRESS=y
+CONFIG_ARCH_XGENE=y
+CONFIG_SMP=y
+CONFIG_XEN=y
+
+##
+## file: drivers/mmc/Kconfig
+##
+CONFIG_MMC=y
+
+##
+## file: drivers/mmc/host/Kconfig
+##
+CONFIG_MMC_ARMMMCI=m
+CONFIG_MMC_SPI=m
+
+##
+## file: drivers/power/reset/Kconfig
+##
+CONFIG_POWER_RESET_VEXPRESS=y
+CONFIG_POWER_RESET_XGENE=y
diff --git a/linux/debian/config/arm64/defines b/linux/debian/config/arm64/defines
index d201ee9..eba3b6f 100644
--- a/linux/debian/config/arm64/defines
+++ b/linux/debian/config/arm64/defines
@@ -1,4 +1,16 @@
 [base]
 kernel-arch: arm64
 featuresets:
-# empty; we don't have initramfs working yet
+ none
+
+[build]
+debug-info: true
+image-file: arch/arm64/boot/Image
+
+[image]
+install-stem: vmlinuz
+
+[arm64_description]
+hardware: 64-bit ARMv8 machines
+
+[arm64_image]
diff --git a/linux/debian/config/arm64/none/defines b/linux/debian/config/arm64/none/defines
new file mode 100644
index 0000000..fdea40c
--- /dev/null
+++ b/linux/debian/config/arm64/none/defines
@@ -0,0 +1,3 @@
+[base]
+flavours:
+ arm64
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 f46cc58..38cd6f3 100644
--- a/linux/debian/rules.real
+++ b/linux/debian/rules.real
@@ -373,7 +373,7 @@ endif
 
 install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_dt: DT_INSTALL_DIR = $(PACKAGE_DIR)/usr/lib/linux-image-$(REAL_VERSION)
 install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_dt:
-ifneq ($(filter armel armhf,$(ARCH)),)
+ifneq ($(filter arm64 armel armhf,$(ARCH)),)
 	+$(MAKE_CLEAN) -C $(DIR) dtbs
 	shopt -s nullglob ; for i in $(DIR)/arch/$(KERNEL_ARCH)/boot/dts/*.dtb ; do \
 		install -D -m644 $$i '$(DT_INSTALL_DIR)'/$$(basename $$i) ; \
-- 
1.9.0


Reply to: