mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-28 22:57:37 +00:00
linux-usbarmory: kernel, limited modules
This commit is contained in:
parent
4052168510
commit
ff204f3186
8 changed files with 3776 additions and 0 deletions
|
@ -0,0 +1,51 @@
|
|||
From 7ba704a48c49367dda65d1297a4c06a1eb4e8c9c Mon Sep 17 00:00:00 2001
|
||||
From: Willy Tarreau <w@xxxxxx>
|
||||
Date: Sun, 2 Dec 2012 19:59:28 +0100
|
||||
Subject: [PATCH 1/5] ARM: atags: add support for Marvell's u-boot
|
||||
|
||||
Marvell uses a specific atag in its u-boot which includes among other
|
||||
information the MAC addresses for up to 4 network interfaces.
|
||||
|
||||
Signed-off-by: Willy Tarreau <w@xxxxxx>
|
||||
---
|
||||
arch/arm/include/uapi/asm/setup.h | 17 +++++++++++++++++
|
||||
1 file changed, 17 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/include/uapi/asm/setup.h b/arch/arm/include/uapi/asm/setup.h
|
||||
index 979ff40..d1d0c19 100644
|
||||
--- a/arch/arm/include/uapi/asm/setup.h
|
||||
+++ b/arch/arm/include/uapi/asm/setup.h
|
||||
@@ -143,6 +143,18 @@ struct tag_memclk {
|
||||
__u32 fmemclk;
|
||||
};
|
||||
|
||||
+/* Marvell uboot parameters */
|
||||
+#define ATAG_MV_UBOOT 0x41000403
|
||||
+struct tag_mv_uboot {
|
||||
+ __u32 uboot_version;
|
||||
+ __u32 tclk;
|
||||
+ __u32 sysclk;
|
||||
+ __u32 isUsbHost;
|
||||
+ __u8 macAddr[4][6];
|
||||
+ __u16 mtu[4];
|
||||
+ __u32 nand_ecc;
|
||||
+};
|
||||
+
|
||||
struct tag {
|
||||
struct tag_header hdr;
|
||||
union {
|
||||
@@ -165,6 +177,11 @@ struct tag {
|
||||
* DC21285 specific
|
||||
*/
|
||||
struct tag_memclk memclk;
|
||||
+
|
||||
+ /*
|
||||
+ * Marvell specific
|
||||
+ */
|
||||
+ struct tag_mv_uboot mv_uboot;
|
||||
} u;
|
||||
};
|
||||
|
||||
--
|
||||
2.3.0
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
From efad5852f3be8cc444662c3a1ecf22edd38427d4 Mon Sep 17 00:00:00 2001
|
||||
From: Willy Tarreau <w@xxxxxx>
|
||||
Date: Sun, 2 Dec 2012 19:56:58 +0100
|
||||
Subject: [PATCH 2/5] ARM: atags/fdt: retrieve MAC addresses from Marvell boot
|
||||
loader
|
||||
|
||||
The atags are parsed and if a Marvell atag is found, up to 4 MAC
|
||||
addresses are extracted there and assigned to node aliases eth0..3
|
||||
with the name "mac-address".
|
||||
|
||||
This was tested on my Mirabox and the two NICs had their correct
|
||||
address set.
|
||||
|
||||
Signed-off-by: Willy Tarreau <w@xxxxxx>
|
||||
---
|
||||
arch/arm/boot/compressed/atags_to_fdt.c | 8 +++++++-
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/boot/compressed/atags_to_fdt.c b/arch/arm/boot/compressed/atags_to_fdt.c
|
||||
index 9448aa0..ac7b6ae 100644
|
||||
--- a/arch/arm/boot/compressed/atags_to_fdt.c
|
||||
+++ b/arch/arm/boot/compressed/atags_to_fdt.c
|
||||
@@ -18,7 +18,7 @@ static int node_offset(void *fdt, const char *node_path)
|
||||
}
|
||||
|
||||
static int setprop(void *fdt, const char *node_path, const char *property,
|
||||
- uint32_t *val_array, int size)
|
||||
+ void *val_array, int size)
|
||||
{
|
||||
int offset = node_offset(fdt, node_path);
|
||||
if (offset < 0)
|
||||
@@ -179,6 +179,12 @@ int atags_to_fdt(void *atag_list, void *fdt, int total_space)
|
||||
initrd_start);
|
||||
setprop_cell(fdt, "/chosen", "linux,initrd-end",
|
||||
initrd_start + initrd_size);
|
||||
+ } else if (atag->hdr.tag == ATAG_MV_UBOOT) {
|
||||
+ /* This ATAG provides up to 4 MAC addresses */
|
||||
+ setprop(fdt, "eth0", "mac-address", atag->u.mv_uboot.macAddr[0], 6);
|
||||
+ setprop(fdt, "eth1", "mac-address", atag->u.mv_uboot.macAddr[1], 6);
|
||||
+ setprop(fdt, "eth2", "mac-address", atag->u.mv_uboot.macAddr[2], 6);
|
||||
+ setprop(fdt, "eth3", "mac-address", atag->u.mv_uboot.macAddr[3], 6);
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.3.0
|
||||
|
209
core/linux-usbarmory/0003-SMILE-Plug-device-tree-file.patch
Normal file
209
core/linux-usbarmory/0003-SMILE-Plug-device-tree-file.patch
Normal file
|
@ -0,0 +1,209 @@
|
|||
From 9a1d31f61b309e8a4ebc6a4c85154f20b94af3e2 Mon Sep 17 00:00:00 2001
|
||||
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
Date: Fri, 5 Sep 2014 15:41:19 -0600
|
||||
Subject: [PATCH 3/5] SMILE Plug device tree file
|
||||
|
||||
This adds a dts file for the SMILE Plug, which only differs from the Mirabox
|
||||
dts with the LED definitions.
|
||||
|
||||
Signed-off-by: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
---
|
||||
arch/arm/boot/dts/Makefile | 1 +
|
||||
arch/arm/boot/dts/armada-370-smileplug.dts | 173 +++++++++++++++++++++++++++++
|
||||
2 files changed, 174 insertions(+)
|
||||
create mode 100644 arch/arm/boot/dts/armada-370-smileplug.dts
|
||||
|
||||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
||||
index 91bd5bd..22618d7 100644
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -527,6 +527,7 @@ dtb-$(CONFIG_ARCH_ZYNQ) += \
|
||||
dtb-$(CONFIG_MACH_ARMADA_370) += \
|
||||
armada-370-db.dtb \
|
||||
armada-370-mirabox.dtb \
|
||||
+ armada-370-smileplug.dtb \
|
||||
armada-370-netgear-rn102.dtb \
|
||||
armada-370-netgear-rn104.dtb \
|
||||
armada-370-rd.dtb \
|
||||
diff --git a/arch/arm/boot/dts/armada-370-smileplug.dts b/arch/arm/boot/dts/armada-370-smileplug.dts
|
||||
new file mode 100644
|
||||
index 0000000..d01308a
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/armada-370-smileplug.dts
|
||||
@@ -0,0 +1,173 @@
|
||||
+/*
|
||||
+ * Device Tree file for Marvell SMILE Plug
|
||||
+ *
|
||||
+ * Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
+ * Gregory CLEMENT <gregory.clement@free-electrons.com>
|
||||
+ *
|
||||
+ * This file is licensed under the terms of the GNU General Public
|
||||
+ * License version 2. This program is licensed "as is" without any
|
||||
+ * warranty of any kind, whether express or implied.
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+#include <dt-bindings/gpio/gpio.h>
|
||||
+#include "armada-370.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ model = "Marvell SMILE Plug";
|
||||
+ compatible = "marvell,smileplug", "marvell,armada370", "marvell,armada-370-xp";
|
||||
+
|
||||
+ chosen {
|
||||
+ bootargs = "console=ttyS0,115200 earlyprintk";
|
||||
+ };
|
||||
+
|
||||
+ memory {
|
||||
+ device_type = "memory";
|
||||
+ reg = <0x00000000 0x20000000>; /* 512 MB */
|
||||
+ };
|
||||
+
|
||||
+ soc {
|
||||
+ ranges = <MBUS_ID(0xf0, 0x01) 0 0xd0000000 0x100000
|
||||
+ MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000>;
|
||||
+
|
||||
+ pcie-controller {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ /* Internal mini-PCIe connector */
|
||||
+ pcie@1,0 {
|
||||
+ /* Port 0, Lane 0 */
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ /* Connected on the PCB to a USB 3.0 XHCI controller */
|
||||
+ pcie@2,0 {
|
||||
+ /* Port 1, Lane 0 */
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ internal-regs {
|
||||
+ serial@12000 {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ timer@20300 {
|
||||
+ clock-frequency = <600000000>;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ gpio_leds {
|
||||
+ compatible = "gpio-leds";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&smile_led_pins>;
|
||||
+
|
||||
+ red_eyes_led {
|
||||
+ label = "smileplug:red:eyes";
|
||||
+ gpios = <&gpio1 31 0>;
|
||||
+ default-state = "off";
|
||||
+ };
|
||||
+
|
||||
+ green_eyes_led {
|
||||
+ label = "smileplug:green:eyes";
|
||||
+ gpios = <&gpio2 0 0>;
|
||||
+ linux,default-trigger = "default-on";
|
||||
+ };
|
||||
+
|
||||
+ red_smile_led {
|
||||
+ label = "smileplug:red:smile";
|
||||
+ gpios = <&gpio1 15 0>;
|
||||
+ default-state = "off";
|
||||
+ };
|
||||
+
|
||||
+ green_smile_led {
|
||||
+ label = "smileplug:green:smile";
|
||||
+ gpios = <&gpio1 27 0>;
|
||||
+ linux,default-trigger = "default-on";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ mdio {
|
||||
+ pinctrl-0 = <&mdio_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+ phy0: ethernet-phy@0 {
|
||||
+ reg = <0>;
|
||||
+ };
|
||||
+
|
||||
+ phy1: ethernet-phy@1 {
|
||||
+ reg = <1>;
|
||||
+ };
|
||||
+ };
|
||||
+ ethernet@70000 {
|
||||
+ pinctrl-0 = <&ge0_rgmii_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+ status = "okay";
|
||||
+ phy = <&phy0>;
|
||||
+ phy-mode = "rgmii-id";
|
||||
+ };
|
||||
+ ethernet@74000 {
|
||||
+ pinctrl-0 = <&ge1_rgmii_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+ status = "okay";
|
||||
+ phy = <&phy1>;
|
||||
+ phy-mode = "rgmii-id";
|
||||
+ };
|
||||
+
|
||||
+ mvsdio@d4000 {
|
||||
+ pinctrl-0 = <&sdio_pins3>;
|
||||
+ pinctrl-names = "default";
|
||||
+ status = "okay";
|
||||
+ /*
|
||||
+ * No CD or WP GPIOs: SDIO interface used for
|
||||
+ * Wifi/Bluetooth chip
|
||||
+ */
|
||||
+ broken-cd;
|
||||
+ };
|
||||
+
|
||||
+ usb@50000 {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ usb@51000 {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ i2c@11000 {
|
||||
+ status = "okay";
|
||||
+ clock-frequency = <100000>;
|
||||
+ pca9505: pca9505@25 {
|
||||
+ compatible = "nxp,pca9505";
|
||||
+ gpio-controller;
|
||||
+ #gpio-cells = <2>;
|
||||
+ reg = <0x25>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ nand@d0000 {
|
||||
+ status = "okay";
|
||||
+ num-cs = <1>;
|
||||
+ marvell,nand-keep-config;
|
||||
+ marvell,nand-enable-arbiter;
|
||||
+ nand-on-flash-bbt;
|
||||
+
|
||||
+ partition@0 {
|
||||
+ label = "U-Boot";
|
||||
+ reg = <0 0x400000>;
|
||||
+ };
|
||||
+ partition@400000 {
|
||||
+ label = "Linux";
|
||||
+ reg = <0x400000 0x400000>;
|
||||
+ };
|
||||
+ partition@800000 {
|
||||
+ label = "Filesystem";
|
||||
+ reg = <0x800000 0x3f800000>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&pinctrl {
|
||||
+ smile_led_pins: smile-led-pins {
|
||||
+ marvell,pins = "mpp63", "mpp64", "mpp47", "mpp59";
|
||||
+ marvell,function = "gpio";
|
||||
+ };
|
||||
+};
|
||||
--
|
||||
2.3.0
|
||||
|
38
core/linux-usbarmory/0004-fix-mvsdio-eMMC-timing.patch
Normal file
38
core/linux-usbarmory/0004-fix-mvsdio-eMMC-timing.patch
Normal file
|
@ -0,0 +1,38 @@
|
|||
From 29195baa48fe67ae6c0731edc5c64dee9aaf4851 Mon Sep 17 00:00:00 2001
|
||||
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
Date: Fri, 5 Sep 2014 15:43:56 -0600
|
||||
Subject: [PATCH 4/5] fix mvsdio eMMC timing
|
||||
|
||||
These changes from Globalscale change the MMC timing to allow the eMMC versions
|
||||
of the Mirabox and SMILE Plug to work.
|
||||
|
||||
Signed-off-by: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
---
|
||||
drivers/mmc/host/mvsdio.c | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/mmc/host/mvsdio.c b/drivers/mmc/host/mvsdio.c
|
||||
index 4f8618f..ab95bb7 100644
|
||||
--- a/drivers/mmc/host/mvsdio.c
|
||||
+++ b/drivers/mmc/host/mvsdio.c
|
||||
@@ -97,7 +97,7 @@ static int mvsd_setup_data(struct mvsd_host *host, struct mmc_data *data)
|
||||
tmout_index = fls(tmout - 1) - 12;
|
||||
if (tmout_index < 0)
|
||||
tmout_index = 0;
|
||||
- if (tmout_index > MVSD_HOST_CTRL_TMOUT_MAX)
|
||||
+// if (tmout_index > MVSD_HOST_CTRL_TMOUT_MAX) //by steven, try to setup the timeout to maximum value
|
||||
tmout_index = MVSD_HOST_CTRL_TMOUT_MAX;
|
||||
|
||||
dev_dbg(host->dev, "data %s at 0x%08x: blocks=%d blksz=%d tmout=%u (%d)\n",
|
||||
@@ -619,6 +619,8 @@ static void mvsd_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
|
||||
u32 m = DIV_ROUND_UP(host->base_clock, ios->clock) - 1;
|
||||
if (m > MVSD_BASE_DIV_MAX)
|
||||
m = MVSD_BASE_DIV_MAX;
|
||||
+ if(ios->clock==50000000 ) //by steven
|
||||
+ m=1;
|
||||
mvsd_write(MVSD_CLK_DIV, m);
|
||||
host->clock = ios->clock;
|
||||
host->ns_per_clk = 1000000000 / (host->base_clock / (m+1));
|
||||
--
|
||||
2.3.0
|
||||
|
|
@ -0,0 +1,95 @@
|
|||
From 5d0fb467e28aeff79590ddcbe69219f4fc2b8fdf Mon Sep 17 00:00:00 2001
|
||||
From: popcornmix <popcornmix@gmail.com>
|
||||
Date: Tue, 18 Feb 2014 01:43:50 -0300
|
||||
Subject: [PATCH 5/5] net/smsc95xx: Allow mac address to be set as a parameter
|
||||
|
||||
---
|
||||
drivers/net/usb/smsc95xx.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 56 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c
|
||||
index 26423ad..e29a323 100644
|
||||
--- a/drivers/net/usb/smsc95xx.c
|
||||
+++ b/drivers/net/usb/smsc95xx.c
|
||||
@@ -59,6 +59,7 @@
|
||||
#define SUSPEND_SUSPEND3 (0x08)
|
||||
#define SUSPEND_ALLMODES (SUSPEND_SUSPEND0 | SUSPEND_SUSPEND1 | \
|
||||
SUSPEND_SUSPEND2 | SUSPEND_SUSPEND3)
|
||||
+#define MAC_ADDR_LEN (6)
|
||||
|
||||
struct smsc95xx_priv {
|
||||
u32 mac_cr;
|
||||
@@ -74,6 +75,10 @@ static bool turbo_mode = true;
|
||||
module_param(turbo_mode, bool, 0644);
|
||||
MODULE_PARM_DESC(turbo_mode, "Enable multiple frames per Rx transaction");
|
||||
|
||||
+static char *macaddr = ":";
|
||||
+module_param(macaddr, charp, 0);
|
||||
+MODULE_PARM_DESC(macaddr, "MAC address");
|
||||
+
|
||||
static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index,
|
||||
u32 *data, int in_pm)
|
||||
{
|
||||
@@ -763,8 +768,59 @@ static int smsc95xx_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd)
|
||||
return generic_mii_ioctl(&dev->mii, if_mii(rq), cmd, NULL);
|
||||
}
|
||||
|
||||
+/* Check the macaddr module parameter for a MAC address */
|
||||
+static int smsc95xx_is_macaddr_param(struct usbnet *dev, u8 *dev_mac)
|
||||
+{
|
||||
+ int i, j, got_num, num;
|
||||
+ u8 mtbl[MAC_ADDR_LEN];
|
||||
+
|
||||
+ if (macaddr[0] == ':')
|
||||
+ return 0;
|
||||
+
|
||||
+ i = 0;
|
||||
+ j = 0;
|
||||
+ num = 0;
|
||||
+ got_num = 0;
|
||||
+ while (j < MAC_ADDR_LEN) {
|
||||
+ if (macaddr[i] && macaddr[i] != ':') {
|
||||
+ got_num++;
|
||||
+ if ('0' <= macaddr[i] && macaddr[i] <= '9')
|
||||
+ num = num * 16 + macaddr[i] - '0';
|
||||
+ else if ('A' <= macaddr[i] && macaddr[i] <= 'F')
|
||||
+ num = num * 16 + 10 + macaddr[i] - 'A';
|
||||
+ else if ('a' <= macaddr[i] && macaddr[i] <= 'f')
|
||||
+ num = num * 16 + 10 + macaddr[i] - 'a';
|
||||
+ else
|
||||
+ break;
|
||||
+ i++;
|
||||
+ } else if (got_num == 2) {
|
||||
+ mtbl[j++] = (u8) num;
|
||||
+ num = 0;
|
||||
+ got_num = 0;
|
||||
+ i++;
|
||||
+ } else {
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (j == MAC_ADDR_LEN) {
|
||||
+ netif_dbg(dev, ifup, dev->net, "Overriding MAC address with: "
|
||||
+ "%02x:%02x:%02x:%02x:%02x:%02x\n", mtbl[0], mtbl[1], mtbl[2],
|
||||
+ mtbl[3], mtbl[4], mtbl[5]);
|
||||
+ for (i = 0; i < MAC_ADDR_LEN; i++)
|
||||
+ dev_mac[i] = mtbl[i];
|
||||
+ return 1;
|
||||
+ } else {
|
||||
+ return 0;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
static void smsc95xx_init_mac_address(struct usbnet *dev)
|
||||
{
|
||||
+ /* Check module parameters */
|
||||
+ if (smsc95xx_is_macaddr_param(dev, dev->net->dev_addr))
|
||||
+ return;
|
||||
+
|
||||
/* try reading mac address from EEPROM */
|
||||
if (smsc95xx_read_eeprom(dev, EEPROM_MAC_OFFSET, ETH_ALEN,
|
||||
dev->net->dev_addr) == 0) {
|
||||
--
|
||||
2.3.0
|
||||
|
281
core/linux-usbarmory/PKGBUILD
Normal file
281
core/linux-usbarmory/PKGBUILD
Normal file
|
@ -0,0 +1,281 @@
|
|||
# USB Armory limited kernel
|
||||
# Maintainer: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
# Maintainer: Jason Plum <jplum@archlinuxarm.org>
|
||||
|
||||
buildarch=4
|
||||
|
||||
pkgbase=linux-usbarmory
|
||||
_srcname=linux-3.19
|
||||
_kernelname=${pkgbase#linux}
|
||||
_desc="ARMv7 USB armory"
|
||||
pkgver=3.19.1
|
||||
pkgrel=1
|
||||
rcnrel=armv7-x3
|
||||
arch=('armv7h')
|
||||
url="http://www.kernel.org/"
|
||||
license=('GPL2')
|
||||
makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc' 'git' 'uboot-tools')
|
||||
options=('!strip')
|
||||
source=("http://www.kernel.org/pub/linux/kernel/v3.x/${_srcname}.tar.xz"
|
||||
#"http://www.kernel.org/pub/linux/kernel/v3.x/patch-${pkgver}.xz"
|
||||
"http://rcn-ee.net/deb/sid-armhf/v${pkgver}-${rcnrel}/patch-${pkgver%.0}-${rcnrel}.diff.gz"
|
||||
"git://git.code.sf.net/p/aufs/aufs3-standalone#branch=aufs${pkgver%.*}"
|
||||
#"git://git.code.sf.net/p/aufs/aufs3-standalone#branch=aufs3.x-rcN"
|
||||
'0001-ARM-atags-add-support-for-Marvell-s-u-boot.patch'
|
||||
'0002-ARM-atags-fdt-retrieve-MAC-addresses-from-Marvell-bo.patch'
|
||||
'0003-SMILE-Plug-device-tree-file.patch'
|
||||
'0004-fix-mvsdio-eMMC-timing.patch'
|
||||
'0005-net-smsc95xx-Allow-mac-address-to-be-set-as-a-parame.patch'
|
||||
'config')
|
||||
md5sums=('d3fc8316d4d4d04b65cbc2d70799e763'
|
||||
'0f085618a0d85d406320e8bbba7fbec1'
|
||||
'SKIP'
|
||||
'98931609e0e5c0beb3dbaabfb669b872'
|
||||
'b7aa41223a0eff197ab905d9791e4ec4'
|
||||
'd71cd90ee737afc07708fae7e449d651'
|
||||
'950087add736d74afacd54bcfe8908d9'
|
||||
'd6ef79617d7e59e841f4f3d65501a6d8'
|
||||
'47604e349d7809f0c71f54de1ecb66df')
|
||||
|
||||
prepare() {
|
||||
cd "${srcdir}/${_srcname}"
|
||||
|
||||
# add upstream patch
|
||||
#git apply --whitespace=nowarn ../patch-${pkgver}
|
||||
|
||||
# RCN patch
|
||||
git apply ../patch-${pkgver%.0}-${rcnrel}.diff
|
||||
|
||||
# ALARM patches
|
||||
git apply ../0001-ARM-atags-add-support-for-Marvell-s-u-boot.patch
|
||||
git apply ../0002-ARM-atags-fdt-retrieve-MAC-addresses-from-Marvell-bo.patch
|
||||
git apply ../0003-SMILE-Plug-device-tree-file.patch
|
||||
git apply ../0004-fix-mvsdio-eMMC-timing.patch
|
||||
git apply ../0005-net-smsc95xx-Allow-mac-address-to-be-set-as-a-parame.patch
|
||||
|
||||
# AUFS patches
|
||||
cp -ru "${srcdir}/aufs3-standalone/Documentation" .
|
||||
cp -ru "${srcdir}/aufs3-standalone/fs" .
|
||||
cp -ru "${srcdir}/aufs3-standalone/include/uapi/linux/aufs_type.h" ./include/linux
|
||||
cp -ru "${srcdir}/aufs3-standalone/include/uapi/linux/aufs_type.h" ./include/uapi/linux
|
||||
|
||||
git apply ../aufs3-standalone/aufs3-kbuild.patch
|
||||
git apply ../aufs3-standalone/aufs3-base.patch
|
||||
git apply ../aufs3-standalone/aufs3-mmap.patch
|
||||
git apply ../aufs3-standalone/aufs3-standalone.patch
|
||||
|
||||
cat "${srcdir}/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() {
|
||||
cd "${srcdir}/${_srcname}"
|
||||
|
||||
# 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' 'mkinitcpio>=0.7')
|
||||
optdepends=('crda: to set the correct wireless channels of your country')
|
||||
provides=('kernel26' "linux=${pkgver}" 'aufs_friendly')
|
||||
conflicts=('linux')
|
||||
replaces=('linux-mvebu' 'linux-udoo')
|
||||
install=${pkgname}.install
|
||||
|
||||
cd "${srcdir}/${_srcname}"
|
||||
|
||||
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
|
||||
cp arch/$KARCH/boot/zImage "${pkgdir}/boot/zImage"
|
||||
cp arch/$KARCH/boot/dts/*.dtb "${pkgdir}/boot/dtbs"
|
||||
|
||||
# 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"
|
||||
}
|
||||
|
||||
_package-headers() {
|
||||
pkgdesc="Header files and scripts for building modules for linux kernel - ${_desc}"
|
||||
provides=("linux-headers=${pkgver}")
|
||||
conflicts=('linux-headers')
|
||||
replaces=('linux-mvebu-headers')
|
||||
|
||||
install -dm755 "${pkgdir}/usr/lib/modules/${_kernver}"
|
||||
|
||||
cd "${srcdir}/${_srcname}"
|
||||
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
|
3036
core/linux-usbarmory/config
Normal file
3036
core/linux-usbarmory/config
Normal file
File diff suppressed because it is too large
Load diff
19
core/linux-usbarmory/linux-usbarmory.install
Normal file
19
core/linux-usbarmory/linux-usbarmory.install
Normal file
|
@ -0,0 +1,19 @@
|
|||
# arg 1: the new package version
|
||||
# arg 2: the old package version
|
||||
|
||||
KERNEL_NAME=-usbarmory
|
||||
KERNEL_VERSION=3.14.0-1-ARCH
|
||||
|
||||
post_install () {
|
||||
# updating module dependencies
|
||||
echo ">>> Updating module dependencies. Please wait ..."
|
||||
depmod ${KERNEL_VERSION}
|
||||
|
||||
echo "NOTE: Using this kernel requires an updated U-Boot!"
|
||||
}
|
||||
|
||||
post_upgrade() {
|
||||
# updating module dependencies
|
||||
echo ">>> Updating module dependencies. Please wait ..."
|
||||
depmod ${KERNEL_VERSION}
|
||||
}
|
Loading…
Reference in a new issue