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

Bug#745349: Basic arm64 kernel



On Sun, 2014-04-20 at 20:13 +0100, Ian Campbell wrote:
> The attached patch

I failed to git add some of the changes. Corrected version is attached.

Ian.

>From d23400de00e6a1686907adf7c1142dfffc6417ed 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                  | 16 ++++++++++++++-
 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                            |  8 ++++++++
 40 files changed, 95 insertions(+), 1 deletion(-)
 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 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 <ben@decadent.org.uk>  Mon, 14 Apr 2014 01:58:22 +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..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/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 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


Reply to: