mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-08 22:45:43 +00:00
added core/linux-veyron
This commit is contained in:
parent
a6f2a82740
commit
d0ee457ab0
12 changed files with 5323 additions and 0 deletions
97
core/linux-veyron/0001-kernel-add-support-for-gcc-5.patch
Normal file
97
core/linux-veyron/0001-kernel-add-support-for-gcc-5.patch
Normal file
|
@ -0,0 +1,97 @@
|
|||
From 0dbc5e27616b34651a347f53f26978e456dc04e6 Mon Sep 17 00:00:00 2001
|
||||
From: Sasha Levin <sasha.levin@oracle.com>
|
||||
Date: Mon, 13 Oct 2014 15:51:05 -0700
|
||||
Subject: [PATCH 1/5] kernel: add support for gcc 5
|
||||
|
||||
We're missing include/linux/compiler-gcc5.h which is required now
|
||||
because gcc branched off to v5 in trunk.
|
||||
|
||||
Just copy the relevant bits out of include/linux/compiler-gcc4.h,
|
||||
no new code is added as of now.
|
||||
|
||||
This fixes a build error when using gcc 5.
|
||||
|
||||
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
|
||||
Cc: <stable@vger.kernel.org>
|
||||
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
|
||||
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
||||
---
|
||||
include/linux/compiler-gcc5.h | 66 +++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 66 insertions(+)
|
||||
create mode 100644 include/linux/compiler-gcc5.h
|
||||
|
||||
diff --git a/include/linux/compiler-gcc5.h b/include/linux/compiler-gcc5.h
|
||||
new file mode 100644
|
||||
index 0000000..cdd1cc2
|
||||
--- /dev/null
|
||||
+++ b/include/linux/compiler-gcc5.h
|
||||
@@ -0,0 +1,66 @@
|
||||
+#ifndef __LINUX_COMPILER_H
|
||||
+#error "Please don't include <linux/compiler-gcc5.h> directly, include <linux/compiler.h> instead."
|
||||
+#endif
|
||||
+
|
||||
+#define __used __attribute__((__used__))
|
||||
+#define __must_check __attribute__((warn_unused_result))
|
||||
+#define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
|
||||
+
|
||||
+/* Mark functions as cold. gcc will assume any path leading to a call
|
||||
+ to them will be unlikely. This means a lot of manual unlikely()s
|
||||
+ are unnecessary now for any paths leading to the usual suspects
|
||||
+ like BUG(), printk(), panic() etc. [but let's keep them for now for
|
||||
+ older compilers]
|
||||
+
|
||||
+ Early snapshots of gcc 4.3 don't support this and we can't detect this
|
||||
+ in the preprocessor, but we can live with this because they're unreleased.
|
||||
+ Maketime probing would be overkill here.
|
||||
+
|
||||
+ gcc also has a __attribute__((__hot__)) to move hot functions into
|
||||
+ a special section, but I don't see any sense in this right now in
|
||||
+ the kernel context */
|
||||
+#define __cold __attribute__((__cold__))
|
||||
+
|
||||
+#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
|
||||
+
|
||||
+#ifndef __CHECKER__
|
||||
+# define __compiletime_warning(message) __attribute__((warning(message)))
|
||||
+# define __compiletime_error(message) __attribute__((error(message)))
|
||||
+#endif /* __CHECKER__ */
|
||||
+
|
||||
+/*
|
||||
+ * Mark a position in code as unreachable. This can be used to
|
||||
+ * suppress control flow warnings after asm blocks that transfer
|
||||
+ * control elsewhere.
|
||||
+ *
|
||||
+ * Early snapshots of gcc 4.5 don't support this and we can't detect
|
||||
+ * this in the preprocessor, but we can live with this because they're
|
||||
+ * unreleased. Really, we need to have autoconf for the kernel.
|
||||
+ */
|
||||
+#define unreachable() __builtin_unreachable()
|
||||
+
|
||||
+/* Mark a function definition as prohibited from being cloned. */
|
||||
+#define __noclone __attribute__((__noclone__))
|
||||
+
|
||||
+/*
|
||||
+ * Tell the optimizer that something else uses this function or variable.
|
||||
+ */
|
||||
+#define __visible __attribute__((externally_visible))
|
||||
+
|
||||
+/*
|
||||
+ * GCC 'asm goto' miscompiles certain code sequences:
|
||||
+ *
|
||||
+ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
|
||||
+ *
|
||||
+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
|
||||
+ * Fixed in GCC 4.8.2 and later versions.
|
||||
+ *
|
||||
+ * (asm goto is automatically volatile - the naming reflects this.)
|
||||
+ */
|
||||
+#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
|
||||
+
|
||||
+#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
|
||||
+#define __HAVE_BUILTIN_BSWAP32__
|
||||
+#define __HAVE_BUILTIN_BSWAP64__
|
||||
+#define __HAVE_BUILTIN_BSWAP16__
|
||||
+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */
|
||||
--
|
||||
2.4.3
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
From d67864066e8e53618dcd1bb06fe1069f73cecb2b Mon Sep 17 00:00:00 2001
|
||||
From: Behan Webster <behanw@converseincode.com>
|
||||
Date: Wed, 24 Sep 2014 01:06:46 +0100
|
||||
Subject: [PATCH 2/5] ARM: 8158/1: LLVMLinux: use static inline in ARM ftrace.h
|
||||
|
||||
With compilers which follow the C99 standard (like modern versions of gcc and
|
||||
clang), "extern inline" does the wrong thing (emits code for an externally
|
||||
linkable version of the inline function). In this case using static inline
|
||||
and removing the NULL version of return_address in return_address.c does
|
||||
the right thing.
|
||||
|
||||
Signed-off-by: Behan Webster <behanw@converseincode.com>
|
||||
Reviewed-by: Mark Charlebois <charlebm@gmail.com>
|
||||
Acked-by: Steven Rostedt <rostedt@goodmis.org>
|
||||
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
||||
---
|
||||
arch/arm/include/asm/ftrace.h | 2 +-
|
||||
arch/arm/kernel/return_address.c | 5 -----
|
||||
2 files changed, 1 insertion(+), 6 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/include/asm/ftrace.h b/arch/arm/include/asm/ftrace.h
|
||||
index 39eb16b..bfe2a2f 100644
|
||||
--- a/arch/arm/include/asm/ftrace.h
|
||||
+++ b/arch/arm/include/asm/ftrace.h
|
||||
@@ -45,7 +45,7 @@ void *return_address(unsigned int);
|
||||
|
||||
#else
|
||||
|
||||
-extern inline void *return_address(unsigned int level)
|
||||
+static inline void *return_address(unsigned int level)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
diff --git a/arch/arm/kernel/return_address.c b/arch/arm/kernel/return_address.c
|
||||
index a6012ac..618b99d 100644
|
||||
--- a/arch/arm/kernel/return_address.c
|
||||
+++ b/arch/arm/kernel/return_address.c
|
||||
@@ -63,11 +63,6 @@ void *return_address(unsigned int level)
|
||||
#warning "TODO: return_address should use unwind tables"
|
||||
#endif
|
||||
|
||||
-void *return_address(unsigned int level)
|
||||
-{
|
||||
- return NULL;
|
||||
-}
|
||||
-
|
||||
#endif /* if defined(CONFIG_FRAME_POINTER) && !defined(CONFIG_ARM_UNWIND) / else */
|
||||
|
||||
EXPORT_SYMBOL_GPL(return_address);
|
||||
--
|
||||
2.4.3
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
From e86dfb59cb437cc740e903e14fff82523e0fc689 Mon Sep 17 00:00:00 2001
|
||||
From: Behan Webster <behanw@converseincode.com>
|
||||
Date: Tue, 3 Sep 2013 22:27:26 -0400
|
||||
Subject: [PATCH 3/5] ARM: LLVMLinux: Change "extern inline" to "static inline"
|
||||
in glue-cache.h
|
||||
|
||||
With compilers which follow the C99 standard (like modern versions of gcc and
|
||||
clang), "extern inline" does the wrong thing (emits code for an externally
|
||||
linkable version of the inline function). "static inline" is the correct choice
|
||||
instead.
|
||||
|
||||
Author: Behan Webster <behanw@converseincode.com>
|
||||
Signed-off-by: Behan Webster <behanw@converseincode.com>
|
||||
Reviewed-by: Mark Charlebois <charlebm@gmail.com>
|
||||
---
|
||||
arch/arm/include/asm/glue-cache.h | 22 +++++++++++-----------
|
||||
1 file changed, 11 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/include/asm/glue-cache.h b/arch/arm/include/asm/glue-cache.h
|
||||
index c81adc0..a3c24cd 100644
|
||||
--- a/arch/arm/include/asm/glue-cache.h
|
||||
+++ b/arch/arm/include/asm/glue-cache.h
|
||||
@@ -130,22 +130,22 @@
|
||||
#endif
|
||||
|
||||
#ifndef __ASSEMBLER__
|
||||
-extern inline void nop_flush_icache_all(void) { }
|
||||
-extern inline void nop_flush_kern_cache_all(void) { }
|
||||
-extern inline void nop_flush_kern_cache_louis(void) { }
|
||||
-extern inline void nop_flush_user_cache_all(void) { }
|
||||
-extern inline void nop_flush_user_cache_range(unsigned long a,
|
||||
+static inline void nop_flush_icache_all(void) { }
|
||||
+static inline void nop_flush_kern_cache_all(void) { }
|
||||
+static inline void nop_flush_kern_cache_louis(void) { }
|
||||
+static inline void nop_flush_user_cache_all(void) { }
|
||||
+static inline void nop_flush_user_cache_range(unsigned long a,
|
||||
unsigned long b, unsigned int c) { }
|
||||
|
||||
-extern inline void nop_coherent_kern_range(unsigned long a, unsigned long b) { }
|
||||
-extern inline int nop_coherent_user_range(unsigned long a,
|
||||
+static inline void nop_coherent_kern_range(unsigned long a, unsigned long b) { }
|
||||
+static inline int nop_coherent_user_range(unsigned long a,
|
||||
unsigned long b) { return 0; }
|
||||
-extern inline void nop_flush_kern_dcache_area(void *a, size_t s) { }
|
||||
+static inline void nop_flush_kern_dcache_area(void *a, size_t s) { }
|
||||
|
||||
-extern inline void nop_dma_flush_range(const void *a, const void *b) { }
|
||||
+static inline void nop_dma_flush_range(const void *a, const void *b) { }
|
||||
|
||||
-extern inline void nop_dma_map_area(const void *s, size_t l, int f) { }
|
||||
-extern inline void nop_dma_unmap_area(const void *s, size_t l, int f) { }
|
||||
+static inline void nop_dma_map_area(const void *s, size_t l, int f) { }
|
||||
+static inline void nop_dma_unmap_area(const void *s, size_t l, int f) { }
|
||||
#endif
|
||||
|
||||
#ifndef MULTI_CACHE
|
||||
--
|
||||
2.4.3
|
||||
|
28
core/linux-veyron/0004-fix-for-rt6_route_rcv-changes.patch
Normal file
28
core/linux-veyron/0004-fix-for-rt6_route_rcv-changes.patch
Normal file
|
@ -0,0 +1,28 @@
|
|||
From 60b367ea5b8a972975e725ecaaa864331fe75787 Mon Sep 17 00:00:00 2001
|
||||
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
Date: Wed, 24 Jun 2015 20:22:19 -0600
|
||||
Subject: [PATCH 4/5] fix for rt6_route_rcv changes
|
||||
|
||||
Broke in chromiumos commit a71e01a88666c143ab242ae1e04d6ddfc9dd14cd.
|
||||
|
||||
Signed-off-by: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
---
|
||||
net/ipv6/route.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/net/ipv6/route.c b/net/ipv6/route.c
|
||||
index 6ee82ce..0a6a299 100644
|
||||
--- a/net/ipv6/route.c
|
||||
+++ b/net/ipv6/route.c
|
||||
@@ -749,7 +749,7 @@ int rt6_route_rcv(struct net_device *dev, u8 *opt, int len,
|
||||
if (rinfo->prefix_len == 0)
|
||||
rt = rt6_get_dflt_router(gwaddr, dev);
|
||||
else
|
||||
- rt = rt6_get_route_info(net, prefix, rinfo->prefix_len, gwaddr);
|
||||
+ rt = rt6_get_route_info(dev, prefix, rinfo->prefix_len, gwaddr);
|
||||
|
||||
if (rt && !lifetime) {
|
||||
ip6_del_rt(rt);
|
||||
--
|
||||
2.4.3
|
||||
|
30
core/linux-veyron/0005-use-chromiumos-mwifiex-drivers.patch
Normal file
30
core/linux-veyron/0005-use-chromiumos-mwifiex-drivers.patch
Normal file
|
@ -0,0 +1,30 @@
|
|||
From 1b10c5e56775dfe14052d5d8b28ffabb0fe36c53 Mon Sep 17 00:00:00 2001
|
||||
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
Date: Thu, 25 Jun 2015 20:35:06 -0600
|
||||
Subject: [PATCH 5/5] use chromiumos mwifiex drivers
|
||||
|
||||
Signed-off-by: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
---
|
||||
drivers/net/wireless/mwifiex/sdio.h | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/mwifiex/sdio.h b/drivers/net/wireless/mwifiex/sdio.h
|
||||
index 532ae0a..971a4bc 100644
|
||||
--- a/drivers/net/wireless/mwifiex/sdio.h
|
||||
+++ b/drivers/net/wireless/mwifiex/sdio.h
|
||||
@@ -30,9 +30,9 @@
|
||||
#include "main.h"
|
||||
|
||||
#define SD8786_DEFAULT_FW_NAME "mrvl/sd8786_uapsta.bin"
|
||||
-#define SD8787_DEFAULT_FW_NAME "mrvl/sd8787_uapsta.bin"
|
||||
-#define SD8797_DEFAULT_FW_NAME "mrvl/sd8797_uapsta.bin"
|
||||
-#define SD8897_DEFAULT_FW_NAME "mrvl/sd8897_uapsta.bin"
|
||||
+#define SD8787_DEFAULT_FW_NAME "mrvl/sd8787_uapsta_cros.bin"
|
||||
+#define SD8797_DEFAULT_FW_NAME "mrvl/sd8797_uapsta_cros.bin"
|
||||
+#define SD8897_DEFAULT_FW_NAME "mrvl/sd8897_uapsta_cros.bin"
|
||||
|
||||
#define BLOCK_MODE 1
|
||||
#define BYTE_MODE 0
|
||||
--
|
||||
2.4.3
|
||||
|
273
core/linux-veyron/PKGBUILD
Normal file
273
core/linux-veyron/PKGBUILD
Normal file
|
@ -0,0 +1,273 @@
|
|||
# ChromiumOS kernel for Veyron Chromebooks
|
||||
# Maintainer: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
|
||||
buildarch=4
|
||||
|
||||
pkgbase=linux-veyron
|
||||
_kernelname=${pkgbase#linux}
|
||||
_desc="ChromiumOS kernel for Veyron Chromebooks"
|
||||
pkgver=3.14.0
|
||||
pkgrel=1
|
||||
_commit=68b2eb6c49ed0dcb9ae216f9962bae7535d681fa
|
||||
arch=('armv7h')
|
||||
url="https://chromium.googlesource.com/chromiumos/third_party/kernel/+/chromeos-3.14"
|
||||
license=('GPL2')
|
||||
makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc' 'git' 'uboot-tools' 'vboot-utils' 'dtc')
|
||||
options=('!strip')
|
||||
source=("https://chromium.googlesource.com/chromiumos/third_party/kernel/+archive/${_commit}.tar.gz"
|
||||
http://archlinuxarm.org/builder/src/sd{8787,8797,8897}_uapsta_cros.bin
|
||||
'0001-kernel-add-support-for-gcc-5.patch'
|
||||
'0002-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch'
|
||||
'0003-ARM-LLVMLinux-Change-extern-inline-to-static-inline-.patch'
|
||||
'0004-fix-for-rt6_route_rcv-changes.patch'
|
||||
'0005-use-chromiumos-mwifiex-drivers.patch'
|
||||
'config'
|
||||
'kernel.its'
|
||||
'kernel.keyblock'
|
||||
'kernel_data_key.vbprivk'
|
||||
'cmdline')
|
||||
md5sums=('9d397aa82fab24aad102395c2cdb525e'
|
||||
'bda543cb5943eac34e16d12911f3ee99'
|
||||
'dc6da2272ffb8ea63f10bc4457cc3f70'
|
||||
'5d74feddd86b9c1e6cd23704795cc7d7'
|
||||
'db561b7e4cd852b679fc90efcf8e372b'
|
||||
'5ca301ff2182c23908fd67e3d7efe1b7'
|
||||
'8fc665e132b75fa856bb47d971d35b54'
|
||||
'e5731f11bd051974be820226a156d6ff'
|
||||
'2a0bc0fd995d15e622eefdc86f16f4c3'
|
||||
'0930ec76778980c102553ed541601d18'
|
||||
'1d77c34a9c759a7f54df718cd80de567'
|
||||
'61c5ff73c136ed07a7aadbf58db3d96a'
|
||||
'584777ae88bce2c5659960151b64c7d8'
|
||||
'c03b872f5c6b04b83f11ddb83f07b904')
|
||||
|
||||
prepare() {
|
||||
git apply 0001-kernel-add-support-for-gcc-5.patch
|
||||
git apply 0002-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch
|
||||
git apply 0003-ARM-LLVMLinux-Change-extern-inline-to-static-inline-.patch
|
||||
git apply 0004-fix-for-rt6_route_rcv-changes.patch
|
||||
git apply 0005-use-chromiumos-mwifiex-drivers.patch
|
||||
|
||||
cp config .config
|
||||
|
||||
# add pkgrel to extraversion
|
||||
sed -ri "s|^(EXTRAVERSION =)(.*)|\1 \2-${pkgrel}|" Makefile
|
||||
|
||||
# don't run depmod on 'make install'. We'll do this ourselves in packaging
|
||||
sed -i '2iexit 0' scripts/depmod.sh
|
||||
}
|
||||
|
||||
build() {
|
||||
# get kernel version
|
||||
make prepare
|
||||
|
||||
# load configuration
|
||||
# Configure the kernel. Replace the line below with one of your choice.
|
||||
#make menuconfig # CLI menu for configuration
|
||||
#make nconfig # new CLI menu for configuration
|
||||
#make xconfig # X-based configuration
|
||||
#make oldconfig # using old config from previous kernel version
|
||||
# ... or manually edit .config
|
||||
|
||||
# Copy back our configuration (use with new kernel version)
|
||||
#cp ./.config ../${pkgbase}.config
|
||||
|
||||
####################
|
||||
# stop here
|
||||
# this is useful to configure the kernel
|
||||
#msg "Stopping build"
|
||||
#return 1
|
||||
####################
|
||||
|
||||
#yes "" | make config
|
||||
|
||||
# build!
|
||||
make ${MAKEFLAGS} zImage modules dtbs
|
||||
}
|
||||
|
||||
_package() {
|
||||
pkgdesc="The Linux Kernel and modules - ${_desc}"
|
||||
depends=('coreutils' 'linux-firmware' 'kmod')
|
||||
optdepends=('crda: to set the correct wireless channels of your country')
|
||||
provides=('kernel26' "linux=${pkgver}")
|
||||
conflicts=('linux')
|
||||
install=${pkgname}.install
|
||||
|
||||
KARCH=arm
|
||||
|
||||
# get kernel version
|
||||
_kernver="$(make kernelrelease)"
|
||||
_basekernel=${_kernver%%-*}
|
||||
_basekernel=${_basekernel%.*}
|
||||
|
||||
mkdir -p "${pkgdir}"/{lib/modules,lib/firmware,boot/dtbs}
|
||||
make INSTALL_MOD_PATH="${pkgdir}" modules_install
|
||||
|
||||
mkimage -D "-I dts -O dtb -p 2048" -f kernel.its vmlinux.uimg
|
||||
dd if=/dev/zero of=bootloader.bin bs=512 count=1
|
||||
vbutil_kernel \
|
||||
--pack vmlinux.kpart \
|
||||
--version 1 \
|
||||
--vmlinuz vmlinux.uimg \
|
||||
--arch arm \
|
||||
--keyblock kernel.keyblock \
|
||||
--signprivate kernel_data_key.vbprivk \
|
||||
--config cmdline \
|
||||
--bootloader bootloader.bin
|
||||
|
||||
cp vmlinux.kpart "${pkgdir}/boot"
|
||||
|
||||
# set correct depmod command for install
|
||||
sed \
|
||||
-e "s/KERNEL_NAME=.*/KERNEL_NAME=${_kernelname}/g" \
|
||||
-e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \
|
||||
-i "${startdir}/${pkgname}.install"
|
||||
|
||||
# remove build and source links
|
||||
rm -f "${pkgdir}"/lib/modules/${_kernver}/{source,build}
|
||||
# remove the firmware
|
||||
rm -rf "${pkgdir}/lib/firmware"
|
||||
# gzip -9 all modules to save 100MB of space
|
||||
find "${pkgdir}" -name '*.ko' |xargs -P 2 -n 1 gzip -9
|
||||
# make room for external modules
|
||||
ln -s "../extramodules-${_basekernel}-${_kernelname:-ARCH}" "${pkgdir}/lib/modules/${_kernver}/extramodules"
|
||||
# add real version for building modules and running depmod from post_install/upgrade
|
||||
mkdir -p "${pkgdir}/lib/modules/extramodules-${_basekernel}-${_kernelname:-ARCH}"
|
||||
echo "${_kernver}" > "${pkgdir}/lib/modules/extramodules-${_basekernel}-${_kernelname:-ARCH}/version"
|
||||
|
||||
# Now we call depmod...
|
||||
depmod -b "$pkgdir" -F System.map "$_kernver"
|
||||
|
||||
# move module tree /lib -> /usr/lib
|
||||
mkdir -p "${pkgdir}/usr"
|
||||
mv "$pkgdir/lib" "$pkgdir/usr"
|
||||
|
||||
# install ChromeOS mwifiex firmware
|
||||
mkdir -p "${pkgdir}"/usr/lib/firmware/mrvl
|
||||
cp sd{8787,8797,8897}_uapsta_cros.bin "${pkgdir}"/usr/lib/firmware/mrvl
|
||||
}
|
||||
|
||||
_package-headers() {
|
||||
pkgdesc="Header files and scripts for building modules for linux kernel - ${_desc}"
|
||||
provides=("linux-headers=${pkgver}")
|
||||
conflicts=('linux-headers')
|
||||
|
||||
install -dm755 "${pkgdir}/usr/lib/modules/${_kernver}"
|
||||
|
||||
install -D -m644 Makefile \
|
||||
"${pkgdir}/usr/lib/modules/${_kernver}/build/Makefile"
|
||||
install -D -m644 kernel/Makefile \
|
||||
"${pkgdir}/usr/lib/modules/${_kernver}/build/kernel/Makefile"
|
||||
install -D -m644 .config \
|
||||
"${pkgdir}/usr/lib/modules/${_kernver}/build/.config"
|
||||
|
||||
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/include"
|
||||
|
||||
for i in acpi asm-generic config crypto drm generated keys linux math-emu \
|
||||
media net pcmcia scsi sound trace uapi video xen; do
|
||||
cp -a include/${i} "${pkgdir}/usr/lib/modules/${_kernver}/build/include/"
|
||||
done
|
||||
|
||||
# copy arch includes for external modules
|
||||
mkdir -p ${pkgdir}/usr/lib/modules/${_kernver}/build/arch/$KARCH
|
||||
cp -a arch/$KARCH/include ${pkgdir}/usr/lib/modules/${_kernver}/build/arch/$KARCH/
|
||||
mkdir -p ${pkgdir}/usr/lib/modules/${_kernver}/build/arch/$KARCH/mach-omap2
|
||||
cp -a arch/$KARCH/mach-omap2/include ${pkgdir}/usr/lib/modules/${_kernver}/build/arch/$KARCH/mach-omap2/
|
||||
mkdir -p ${pkgdir}/usr/lib/modules/${_kernver}/build/arch/$KARCH/mach-mvebu
|
||||
cp -a arch/$KARCH/mach-mvebu/include ${pkgdir}/usr/lib/modules/${_kernver}/build/arch/$KARCH/mach-mvebu/
|
||||
mkdir -p ${pkgdir}/usr/lib/modules/${_kernver}/build/arch/$KARCH/plat-omap
|
||||
cp -a arch/$KARCH/plat-omap/include ${pkgdir}/usr/lib/modules/${_kernver}/build/arch/$KARCH/plat-omap/
|
||||
|
||||
# copy files necessary for later builds, like nvidia and vmware
|
||||
cp Module.symvers "${pkgdir}/usr/lib/modules/${_kernver}/build"
|
||||
cp -a scripts "${pkgdir}/usr/lib/modules/${_kernver}/build"
|
||||
|
||||
# fix permissions on scripts dir
|
||||
chmod og-w -R "${pkgdir}/usr/lib/modules/${_kernver}/build/scripts"
|
||||
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/.tmp_versions"
|
||||
|
||||
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/kernel"
|
||||
|
||||
cp arch/${KARCH}/Makefile "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/"
|
||||
|
||||
cp arch/${KARCH}/kernel/asm-offsets.s "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/kernel/"
|
||||
|
||||
# add docbook makefile
|
||||
install -D -m644 Documentation/DocBook/Makefile \
|
||||
"${pkgdir}/usr/lib/modules/${_kernver}/build/Documentation/DocBook/Makefile"
|
||||
|
||||
# add dm headers
|
||||
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/md"
|
||||
cp drivers/md/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/md"
|
||||
|
||||
# add inotify.h
|
||||
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/include/linux"
|
||||
cp include/linux/inotify.h "${pkgdir}/usr/lib/modules/${_kernver}/build/include/linux/"
|
||||
|
||||
# add wireless headers
|
||||
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/net/mac80211/"
|
||||
cp net/mac80211/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/net/mac80211/"
|
||||
|
||||
# add dvb headers for external modules
|
||||
# in reference to:
|
||||
# http://bugs.archlinux.org/task/9912
|
||||
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/dvb-core"
|
||||
cp drivers/media/dvb-core/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/dvb-core/"
|
||||
# and...
|
||||
# http://bugs.archlinux.org/task/11194
|
||||
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/include/config/dvb/"
|
||||
cp include/config/dvb/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/include/config/dvb/"
|
||||
|
||||
# add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new
|
||||
# in reference to:
|
||||
# http://bugs.archlinux.org/task/13146
|
||||
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/dvb-frontends/"
|
||||
cp drivers/media/dvb-frontends/lgdt330x.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/dvb-frontends/"
|
||||
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/i2c/"
|
||||
cp drivers/media/i2c/msp3400-driver.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/i2c/"
|
||||
|
||||
# add dvb headers
|
||||
# in reference to:
|
||||
# http://bugs.archlinux.org/task/20402
|
||||
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/usb/dvb-usb"
|
||||
cp drivers/media/usb/dvb-usb/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/usb/dvb-usb/"
|
||||
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/dvb-frontends"
|
||||
cp drivers/media/dvb-frontends/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/dvb-frontends/"
|
||||
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/tuners"
|
||||
cp drivers/media/tuners/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/tuners/"
|
||||
|
||||
# add xfs and shmem for aufs building
|
||||
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/fs/xfs"
|
||||
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/mm"
|
||||
|
||||
# copy in Kconfig files
|
||||
for i in $(find . -name "Kconfig*"); do
|
||||
mkdir -p "${pkgdir}"/usr/lib/modules/${_kernver}/build/`echo ${i} | sed 's|/Kconfig.*||'`
|
||||
cp ${i} "${pkgdir}/usr/lib/modules/${_kernver}/build/${i}"
|
||||
done
|
||||
|
||||
chown -R root.root "${pkgdir}/usr/lib/modules/${_kernver}/build"
|
||||
find "${pkgdir}/usr/lib/modules/${_kernver}/build" -type d -exec chmod 755 {} \;
|
||||
|
||||
# strip scripts directory
|
||||
find "${pkgdir}/usr/lib/modules/${_kernver}/build/scripts" -type f -perm -u+w 2>/dev/null | while read binary ; do
|
||||
case "$(file -bi "${binary}")" in
|
||||
*application/x-sharedlib*) # Libraries (.so)
|
||||
/usr/bin/strip ${STRIP_SHARED} "${binary}";;
|
||||
*application/x-archive*) # Libraries (.a)
|
||||
/usr/bin/strip ${STRIP_STATIC} "${binary}";;
|
||||
*application/x-executable*) # Binaries
|
||||
/usr/bin/strip ${STRIP_BINARIES} "${binary}";;
|
||||
esac
|
||||
done
|
||||
|
||||
# remove unneeded architectures
|
||||
rm -rf "${pkgdir}"/usr/lib/modules/${_kernver}/build/arch/{alpha,arc,arm26,arm64,avr32,blackfin,c6x,cris,frv,h8300,hexagon,ia64,m32r,m68k,m68knommu,metag,mips,microblaze,mn10300,openrisc,parisc,powerpc,ppc,s390,score,sh,sh64,sparc,sparc64,tile,unicore32,um,v850,x86,xtensa}
|
||||
}
|
||||
|
||||
pkgname=("${pkgbase}" "${pkgbase}-headers")
|
||||
for _p in ${pkgname[@]}; do
|
||||
eval "package_${_p}() {
|
||||
_package${_p#${pkgbase}}
|
||||
}"
|
||||
done
|
1
core/linux-veyron/cmdline
Normal file
1
core/linux-veyron/cmdline
Normal file
|
@ -0,0 +1 @@
|
|||
console=tty1 console=ttyS2,115200n8 earlyprintk=ttyS2,115200n8 init=/sbin/init root=PARTUUID=%U/PARTNROFF=1 rootwait rw noinitrd
|
4504
core/linux-veyron/config
Normal file
4504
core/linux-veyron/config
Normal file
File diff suppressed because it is too large
Load diff
259
core/linux-veyron/kernel.its
Normal file
259
core/linux-veyron/kernel.its
Normal file
|
@ -0,0 +1,259 @@
|
|||
/dts-v1/;
|
||||
|
||||
/ {
|
||||
description = "Chrome OS kernel image with one or more FDT blobs";
|
||||
images {
|
||||
kernel@1{
|
||||
description = "kernel";
|
||||
data = /incbin/("arch/arm/boot/zImage");
|
||||
type = "kernel_noload";
|
||||
arch = "arm";
|
||||
os = "linux";
|
||||
compression = "none";
|
||||
load = <0>;
|
||||
entry = <0>;
|
||||
};
|
||||
fdt@1{
|
||||
description = "rk3288-brain-rev0.dtb";
|
||||
data = /incbin/("arch/arm/boot/dts/rk3288-brain-rev0.dtb");
|
||||
type = "flat_dt";
|
||||
arch = "arm";
|
||||
compression = "none";
|
||||
hash@1{
|
||||
algo = "sha1";
|
||||
};
|
||||
};
|
||||
fdt@2{
|
||||
description = "rk3288-jaq-rev1.dtb";
|
||||
data = /incbin/("arch/arm/boot/dts/rk3288-jaq-rev1.dtb");
|
||||
type = "flat_dt";
|
||||
arch = "arm";
|
||||
compression = "none";
|
||||
hash@1{
|
||||
algo = "sha1";
|
||||
};
|
||||
};
|
||||
fdt@3{
|
||||
description = "rk3288-nicky-rev0.dtb";
|
||||
data = /incbin/("arch/arm/boot/dts/rk3288-nicky-rev0.dtb");
|
||||
type = "flat_dt";
|
||||
arch = "arm";
|
||||
compression = "none";
|
||||
hash@1{
|
||||
algo = "sha1";
|
||||
};
|
||||
};
|
||||
fdt@4{
|
||||
description = "rk3288-danger-rev0.dtb";
|
||||
data = /incbin/("arch/arm/boot/dts/rk3288-danger-rev0.dtb");
|
||||
type = "flat_dt";
|
||||
arch = "arm";
|
||||
compression = "none";
|
||||
hash@1{
|
||||
algo = "sha1";
|
||||
};
|
||||
};
|
||||
fdt@5{
|
||||
description = "rk3288-jerry-rev2.dtb";
|
||||
data = /incbin/("arch/arm/boot/dts/rk3288-jerry-rev2.dtb");
|
||||
type = "flat_dt";
|
||||
arch = "arm";
|
||||
compression = "none";
|
||||
hash@1{
|
||||
algo = "sha1";
|
||||
};
|
||||
};
|
||||
fdt@6{
|
||||
description = "rk3288-rialto-rev0.dtb";
|
||||
data = /incbin/("arch/arm/boot/dts/rk3288-rialto-rev0.dtb");
|
||||
type = "flat_dt";
|
||||
arch = "arm";
|
||||
compression = "none";
|
||||
hash@1{
|
||||
algo = "sha1";
|
||||
};
|
||||
};
|
||||
fdt@7{
|
||||
description = "rk3288-danger-rev1.dtb";
|
||||
data = /incbin/("arch/arm/boot/dts/rk3288-danger-rev1.dtb");
|
||||
type = "flat_dt";
|
||||
arch = "arm";
|
||||
compression = "none";
|
||||
hash@1{
|
||||
algo = "sha1";
|
||||
};
|
||||
};
|
||||
fdt@8{
|
||||
description = "rk3288-jerry-rev3.dtb";
|
||||
data = /incbin/("arch/arm/boot/dts/rk3288-jerry-rev3.dtb");
|
||||
type = "flat_dt";
|
||||
arch = "arm";
|
||||
compression = "none";
|
||||
hash@1{
|
||||
algo = "sha1";
|
||||
};
|
||||
};
|
||||
fdt@9{
|
||||
description = "rk3288-speedy.dtb";
|
||||
data = /incbin/("arch/arm/boot/dts/rk3288-speedy.dtb");
|
||||
type = "flat_dt";
|
||||
arch = "arm";
|
||||
compression = "none";
|
||||
hash@1{
|
||||
algo = "sha1";
|
||||
};
|
||||
};
|
||||
fdt@10{
|
||||
description = "rk3288-evb-act8846.dtb";
|
||||
data = /incbin/("arch/arm/boot/dts/rk3288-evb-act8846.dtb");
|
||||
type = "flat_dt";
|
||||
arch = "arm";
|
||||
compression = "none";
|
||||
hash@1{
|
||||
algo = "sha1";
|
||||
};
|
||||
};
|
||||
fdt@11{
|
||||
description = "rk3288-mickey-rev0.dtb";
|
||||
data = /incbin/("arch/arm/boot/dts/rk3288-mickey-rev0.dtb");
|
||||
type = "flat_dt";
|
||||
arch = "arm";
|
||||
compression = "none";
|
||||
hash@1{
|
||||
algo = "sha1";
|
||||
};
|
||||
};
|
||||
fdt@12{
|
||||
description = "rk3288-speedy-rev1.dtb";
|
||||
data = /incbin/("arch/arm/boot/dts/rk3288-speedy-rev1.dtb");
|
||||
type = "flat_dt";
|
||||
arch = "arm";
|
||||
compression = "none";
|
||||
hash@1{
|
||||
algo = "sha1";
|
||||
};
|
||||
};
|
||||
fdt@13{
|
||||
description = "rk3288-evb-rk808.dtb";
|
||||
data = /incbin/("arch/arm/boot/dts/rk3288-evb-rk808.dtb");
|
||||
type = "flat_dt";
|
||||
arch = "arm";
|
||||
compression = "none";
|
||||
hash@1{
|
||||
algo = "sha1";
|
||||
};
|
||||
};
|
||||
fdt@14{
|
||||
description = "rk3288-mighty-rev1.dtb";
|
||||
data = /incbin/("arch/arm/boot/dts/rk3288-mighty-rev1.dtb");
|
||||
type = "flat_dt";
|
||||
arch = "arm";
|
||||
compression = "none";
|
||||
hash@1{
|
||||
algo = "sha1";
|
||||
};
|
||||
};
|
||||
fdt@15{
|
||||
description = "rk3288-thea-rev0.dtb";
|
||||
data = /incbin/("arch/arm/boot/dts/rk3288-thea-rev0.dtb");
|
||||
type = "flat_dt";
|
||||
arch = "arm";
|
||||
compression = "none";
|
||||
hash@1{
|
||||
algo = "sha1";
|
||||
};
|
||||
};
|
||||
fdt@16{
|
||||
description = "rk3288-gus-rev1.dtb";
|
||||
data = /incbin/("arch/arm/boot/dts/rk3288-gus-rev1.dtb");
|
||||
type = "flat_dt";
|
||||
arch = "arm";
|
||||
compression = "none";
|
||||
hash@1{
|
||||
algo = "sha1";
|
||||
};
|
||||
};
|
||||
fdt@17{
|
||||
description = "rk3288-minnie-rev0.dtb";
|
||||
data = /incbin/("arch/arm/boot/dts/rk3288-minnie-rev0.dtb");
|
||||
type = "flat_dt";
|
||||
arch = "arm";
|
||||
compression = "none";
|
||||
hash@1{
|
||||
algo = "sha1";
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
configurations {
|
||||
default = "conf@1";
|
||||
conf@1{
|
||||
kernel = "kernel@1";
|
||||
fdt = "fdt@1";
|
||||
};
|
||||
conf@2{
|
||||
kernel = "kernel@1";
|
||||
fdt = "fdt@2";
|
||||
};
|
||||
conf@3{
|
||||
kernel = "kernel@1";
|
||||
fdt = "fdt@3";
|
||||
};
|
||||
conf@4{
|
||||
kernel = "kernel@1";
|
||||
fdt = "fdt@4";
|
||||
};
|
||||
conf@5{
|
||||
kernel = "kernel@1";
|
||||
fdt = "fdt@5";
|
||||
};
|
||||
conf@6{
|
||||
kernel = "kernel@1";
|
||||
fdt = "fdt@6";
|
||||
};
|
||||
conf@7{
|
||||
kernel = "kernel@1";
|
||||
fdt = "fdt@7";
|
||||
};
|
||||
conf@8{
|
||||
kernel = "kernel@1";
|
||||
fdt = "fdt@8";
|
||||
};
|
||||
conf@9{
|
||||
kernel = "kernel@1";
|
||||
fdt = "fdt@9";
|
||||
};
|
||||
conf@10{
|
||||
kernel = "kernel@1";
|
||||
fdt = "fdt@10";
|
||||
};
|
||||
conf@11{
|
||||
kernel = "kernel@1";
|
||||
fdt = "fdt@11";
|
||||
};
|
||||
conf@12{
|
||||
kernel = "kernel@1";
|
||||
fdt = "fdt@12";
|
||||
};
|
||||
conf@13{
|
||||
kernel = "kernel@1:";
|
||||
fdt = "fdt@13";
|
||||
};
|
||||
conf@14{
|
||||
kernel = "kernel@1";
|
||||
fdt = "fdt@14";
|
||||
};
|
||||
conf@15{
|
||||
kernel = "kernel@1";
|
||||
fdt = "fdt@15";
|
||||
};
|
||||
conf@16{
|
||||
kernel = "kernel@1";
|
||||
fdt = "fdt@16";
|
||||
};
|
||||
conf@17{
|
||||
kernel = "kernel@1";
|
||||
fdt = "fdt@17";
|
||||
};
|
||||
};
|
||||
};
|
BIN
core/linux-veyron/kernel.keyblock
Normal file
BIN
core/linux-veyron/kernel.keyblock
Normal file
Binary file not shown.
BIN
core/linux-veyron/kernel_data_key.vbprivk
Normal file
BIN
core/linux-veyron/kernel_data_key.vbprivk
Normal file
Binary file not shown.
20
core/linux-veyron/linux-veyron.install
Normal file
20
core/linux-veyron/linux-veyron.install
Normal file
|
@ -0,0 +1,20 @@
|
|||
# arg 1: the new package version
|
||||
# arg 2: the old package version
|
||||
|
||||
KERNEL_NAME=-veyron
|
||||
KERNEL_VERSION=3.14.0-1-ARCH
|
||||
|
||||
post_install () {
|
||||
# updating module dependencies
|
||||
echo ">>> Updating module dependencies. Please wait ..."
|
||||
depmod ${KERNEL_VERSION}
|
||||
|
||||
echo "NOTE: You need to flash the kernel to the boot partition."
|
||||
echo " For example: dd if=/boot/vmlinux.kpart of=/dev/mmcblk1p1"
|
||||
}
|
||||
|
||||
post_upgrade() {
|
||||
# updating module dependencies
|
||||
echo ">>> Updating module dependencies. Please wait ..."
|
||||
depmod ${KERNEL_VERSION}
|
||||
}
|
Loading…
Reference in a new issue