mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-08 22:45:43 +00:00
added core/linux-oak
This commit is contained in:
parent
3e7702c63f
commit
7c4ba393a4
16 changed files with 5910 additions and 0 deletions
|
@ -0,0 +1,67 @@
|
|||
From 0a848d6d2b6985c20911d9328e7fad09a6b88668 Mon Sep 17 00:00:00 2001
|
||||
From: Arnd Bergmann <arnd@arndb.de>
|
||||
Date: Tue, 10 May 2016 23:30:01 +0200
|
||||
Subject: [PATCH 1/9] kbuild: move -Wunused-const-variable to W=1 warning level
|
||||
|
||||
gcc-6 started warning by default about variables that are not
|
||||
used anywhere and that are marked 'const', generating many
|
||||
false positives in an allmodconfig build, e.g.:
|
||||
|
||||
arch/arm/mach-davinci/board-da830-evm.c:282:20: warning: 'da830_evm_emif25_pins' defined but not used [-Wunused-const-variable=]
|
||||
arch/arm/plat-omap/dmtimer.c:958:34: warning: 'omap_timer_match' defined but not used [-Wunused-const-variable=]
|
||||
drivers/bluetooth/hci_bcm.c:625:39: warning: 'acpi_bcm_default_gpios' defined but not used [-Wunused-const-variable=]
|
||||
drivers/char/hw_random/omap-rng.c:92:18: warning: 'reg_map_omap4' defined but not used [-Wunused-const-variable=]
|
||||
drivers/devfreq/exynos/exynos5_bus.c:381:32: warning: 'exynos5_busfreq_int_pm' defined but not used [-Wunused-const-variable=]
|
||||
drivers/dma/mv_xor.c:1139:34: warning: 'mv_xor_dt_ids' defined but not used [-Wunused-const-variable=]
|
||||
|
||||
This is similar to the existing -Wunused-but-set-variable warning
|
||||
that was added in an earlier release and that we disable by default
|
||||
now and only enable when W=1 is set, so it makes sense to do
|
||||
the same here. Once we have eliminated the majority of the
|
||||
warnings for both, we can put them back into the default list.
|
||||
|
||||
We probably want this in backport kernels as well, to allow building
|
||||
them with gcc-6 without introducing extra warnings.
|
||||
|
||||
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
|
||||
Acked-by: Olof Johansson <olof@lixom.net>
|
||||
Acked-by: Lee Jones <lee.jones@linaro.org>
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Michal Marek <mmarek@suse.com>
|
||||
---
|
||||
Makefile | 5 +++--
|
||||
scripts/Makefile.extrawarn | 1 +
|
||||
2 files changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index b52a844..4053d1ca 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -707,9 +707,10 @@ KBUILD_CFLAGS += $(call cc-option, -mno-global-merge,)
|
||||
KBUILD_CFLAGS += $(call cc-option, -fcatch-undefined-behavior)
|
||||
else
|
||||
|
||||
-# This warning generated too much noise in a regular build.
|
||||
-# Use make W=1 to enable this warning (see scripts/Makefile.build)
|
||||
+# These warnings generated too much noise in a regular build.
|
||||
+# Use make W=1 to enable them (see scripts/Makefile.build)
|
||||
KBUILD_CFLAGS += $(call cc-disable-warning, unused-but-set-variable)
|
||||
+KBUILD_CFLAGS += $(call cc-disable-warning, unused-const-variable)
|
||||
endif
|
||||
|
||||
ifdef CONFIG_FRAME_POINTER
|
||||
diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn
|
||||
index f734033..5c17a5c 100644
|
||||
--- a/scripts/Makefile.extrawarn
|
||||
+++ b/scripts/Makefile.extrawarn
|
||||
@@ -24,6 +24,7 @@ warning-1 += $(call cc-option, -Wmissing-prototypes)
|
||||
warning-1 += -Wold-style-definition
|
||||
warning-1 += $(call cc-option, -Wmissing-include-dirs)
|
||||
warning-1 += $(call cc-option, -Wunused-but-set-variable)
|
||||
+warning-1 += $(call cc-option, -Wunused-const-variable)
|
||||
warning-1 += $(call cc-disable-warning, missing-field-initializers)
|
||||
|
||||
warning-2 := -Waggregate-return
|
||||
--
|
||||
2.10.2
|
||||
|
37
core/linux-oak/0002-md-fix-a-build-warning.patch
Normal file
37
core/linux-oak/0002-md-fix-a-build-warning.patch
Normal file
|
@ -0,0 +1,37 @@
|
|||
From 6b11431f4bbb6fbc475959734b809b3805568eb1 Mon Sep 17 00:00:00 2001
|
||||
From: Firo Yang <firogm@gmail.com>
|
||||
Date: Thu, 11 Jun 2015 09:41:10 +0800
|
||||
Subject: [PATCH 2/9] md: fix a build warning
|
||||
|
||||
Warning like this:
|
||||
|
||||
drivers/md/md.c: In function "update_array_info":
|
||||
drivers/md/md.c:6394:26: warning: logical not is only applied
|
||||
to the left hand side of comparison [-Wlogical-not-parentheses]
|
||||
!mddev->persistent != info->not_persistent||
|
||||
|
||||
Fix it as Neil Brown said:
|
||||
mddev->persistent != !info->not_persistent ||
|
||||
|
||||
Signed-off-by: Firo Yang <firogm@gmail.com>
|
||||
Signed-off-by: NeilBrown <neilb@suse.de>
|
||||
---
|
||||
drivers/md/md.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/md/md.c b/drivers/md/md.c
|
||||
index 9233c71..4339035 100644
|
||||
--- a/drivers/md/md.c
|
||||
+++ b/drivers/md/md.c
|
||||
@@ -6031,7 +6031,7 @@ static int update_array_info(struct mddev *mddev, mdu_array_info_t *info)
|
||||
mddev->ctime != info->ctime ||
|
||||
mddev->level != info->level ||
|
||||
/* mddev->layout != info->layout || */
|
||||
- !mddev->persistent != info->not_persistent||
|
||||
+ mddev->persistent != !info->not_persistent ||
|
||||
mddev->chunk_sectors != info->chunk_size >> 9 ||
|
||||
/* ignore bottom 8 bits of state, and allow SB_BITMAP_PRESENT to change */
|
||||
((state^info->state) & 0xfffffe00)
|
||||
--
|
||||
2.10.2
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
From 4a1b921c63087b9822ede699690035bdd67d27a3 Mon Sep 17 00:00:00 2001
|
||||
From: Arnd Bergmann <arnd@arndb.de>
|
||||
Date: Mon, 14 Mar 2016 15:18:36 +0100
|
||||
Subject: [PATCH 3/9] ath9k: fix buffer overrun for ar9287
|
||||
|
||||
Code that was added back in 2.6.38 has an obvious overflow
|
||||
when accessing a static array, and at the time it was added
|
||||
only a code comment was put in front of it as a reminder
|
||||
to have it reviewed properly.
|
||||
|
||||
This has not happened, but gcc-6 now points to the specific
|
||||
overflow:
|
||||
|
||||
drivers/net/wireless/ath/ath9k/eeprom.c: In function 'ath9k_hw_get_gain_boundaries_pdadcs':
|
||||
drivers/net/wireless/ath/ath9k/eeprom.c:483:44: error: array subscript is above array bounds [-Werror=array-bounds]
|
||||
maxPwrT4[i] = data_9287[idxL].pwrPdg[i][4];
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~^~~
|
||||
|
||||
It turns out that the correct array length exists in the local
|
||||
'intercepts' variable of this function, so we can just use that
|
||||
instead of hardcoding '4', so this patch changes all three
|
||||
instances to use that variable. The other two instances were
|
||||
already correct, but it's more consistent this way.
|
||||
|
||||
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
|
||||
Fixes: 940cd2c12ebf ("ath9k_hw: merge the ar9287 version of ath9k_hw_get_gain_boundaries_pdadcs")
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
drivers/net/wireless/ath/ath9k/eeprom.c | 7 +++----
|
||||
1 file changed, 3 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/ath/ath9k/eeprom.c b/drivers/net/wireless/ath/ath9k/eeprom.c
|
||||
index 971d770..2ac0548 100644
|
||||
--- a/drivers/net/wireless/ath/ath9k/eeprom.c
|
||||
+++ b/drivers/net/wireless/ath/ath9k/eeprom.c
|
||||
@@ -408,10 +408,9 @@ void ath9k_hw_get_gain_boundaries_pdadcs(struct ath_hw *ah,
|
||||
|
||||
if (match) {
|
||||
if (AR_SREV_9287(ah)) {
|
||||
- /* FIXME: array overrun? */
|
||||
for (i = 0; i < numXpdGains; i++) {
|
||||
minPwrT4[i] = data_9287[idxL].pwrPdg[i][0];
|
||||
- maxPwrT4[i] = data_9287[idxL].pwrPdg[i][4];
|
||||
+ maxPwrT4[i] = data_9287[idxL].pwrPdg[i][intercepts - 1];
|
||||
ath9k_hw_fill_vpd_table(minPwrT4[i], maxPwrT4[i],
|
||||
data_9287[idxL].pwrPdg[i],
|
||||
data_9287[idxL].vpdPdg[i],
|
||||
@@ -421,7 +420,7 @@ void ath9k_hw_get_gain_boundaries_pdadcs(struct ath_hw *ah,
|
||||
} else if (eeprom_4k) {
|
||||
for (i = 0; i < numXpdGains; i++) {
|
||||
minPwrT4[i] = data_4k[idxL].pwrPdg[i][0];
|
||||
- maxPwrT4[i] = data_4k[idxL].pwrPdg[i][4];
|
||||
+ maxPwrT4[i] = data_4k[idxL].pwrPdg[i][intercepts - 1];
|
||||
ath9k_hw_fill_vpd_table(minPwrT4[i], maxPwrT4[i],
|
||||
data_4k[idxL].pwrPdg[i],
|
||||
data_4k[idxL].vpdPdg[i],
|
||||
@@ -431,7 +430,7 @@ void ath9k_hw_get_gain_boundaries_pdadcs(struct ath_hw *ah,
|
||||
} else {
|
||||
for (i = 0; i < numXpdGains; i++) {
|
||||
minPwrT4[i] = data_def[idxL].pwrPdg[i][0];
|
||||
- maxPwrT4[i] = data_def[idxL].pwrPdg[i][4];
|
||||
+ maxPwrT4[i] = data_def[idxL].pwrPdg[i][intercepts - 1];
|
||||
ath9k_hw_fill_vpd_table(minPwrT4[i], maxPwrT4[i],
|
||||
data_def[idxL].pwrPdg[i],
|
||||
data_def[idxL].vpdPdg[i],
|
||||
--
|
||||
2.10.2
|
||||
|
|
@ -0,0 +1,128 @@
|
|||
From 0d0312ba7971d1489acba061eb08c180468e4c08 Mon Sep 17 00:00:00 2001
|
||||
From: David Miller <davem@davemloft.net>
|
||||
Date: Tue, 7 Apr 2015 23:05:42 -0400
|
||||
Subject: [PATCH 4/9] netfilter: Fix switch statement warnings with recent gcc.
|
||||
|
||||
More recent GCC warns about two kinds of switch statement uses:
|
||||
|
||||
1) Switching on an enumeration, but not having an explicit case
|
||||
statement for all members of the enumeration. To show the
|
||||
compiler this is intentional, we simply add a default case
|
||||
with nothing more than a break statement.
|
||||
|
||||
2) Switching on a boolean value. I think this warning is dumb
|
||||
but nevertheless you get it wholesale with -Wswitch.
|
||||
|
||||
This patch cures all such warnings in netfilter.
|
||||
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
Acked-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
---
|
||||
net/bridge/netfilter/nft_reject_bridge.c | 2 ++
|
||||
net/ipv4/netfilter/nft_reject_ipv4.c | 2 ++
|
||||
net/ipv6/netfilter/nft_reject_ipv6.c | 2 ++
|
||||
net/netfilter/nft_compat.c | 6 +++---
|
||||
net/netfilter/nft_ct.c | 8 ++++++++
|
||||
5 files changed, 17 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/net/bridge/netfilter/nft_reject_bridge.c b/net/bridge/netfilter/nft_reject_bridge.c
|
||||
index 48da2c5..6a10b88 100644
|
||||
--- a/net/bridge/netfilter/nft_reject_bridge.c
|
||||
+++ b/net/bridge/netfilter/nft_reject_bridge.c
|
||||
@@ -375,6 +375,8 @@ static int nft_reject_bridge_dump(struct sk_buff *skb,
|
||||
if (nla_put_u8(skb, NFTA_REJECT_ICMP_CODE, priv->icmp_code))
|
||||
goto nla_put_failure;
|
||||
break;
|
||||
+ default:
|
||||
+ break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
diff --git a/net/ipv4/netfilter/nft_reject_ipv4.c b/net/ipv4/netfilter/nft_reject_ipv4.c
|
||||
index ed33299..95fe37c 100644
|
||||
--- a/net/ipv4/netfilter/nft_reject_ipv4.c
|
||||
+++ b/net/ipv4/netfilter/nft_reject_ipv4.c
|
||||
@@ -32,6 +32,8 @@ void nft_reject_ipv4_eval(const struct nft_expr *expr,
|
||||
case NFT_REJECT_TCP_RST:
|
||||
nf_send_reset(pkt->skb, pkt->ops->hooknum);
|
||||
break;
|
||||
+ default:
|
||||
+ break;
|
||||
}
|
||||
|
||||
data[NFT_REG_VERDICT].verdict = NF_DROP;
|
||||
diff --git a/net/ipv6/netfilter/nft_reject_ipv6.c b/net/ipv6/netfilter/nft_reject_ipv6.c
|
||||
index 0bc19fa..367bd48 100644
|
||||
--- a/net/ipv6/netfilter/nft_reject_ipv6.c
|
||||
+++ b/net/ipv6/netfilter/nft_reject_ipv6.c
|
||||
@@ -34,6 +34,8 @@ void nft_reject_ipv6_eval(const struct nft_expr *expr,
|
||||
case NFT_REJECT_TCP_RST:
|
||||
nf_send_reset6(net, pkt->skb, pkt->ops->hooknum);
|
||||
break;
|
||||
+ default:
|
||||
+ break;
|
||||
}
|
||||
|
||||
data[NFT_REG_VERDICT].verdict = NF_DROP;
|
||||
diff --git a/net/netfilter/nft_compat.c b/net/netfilter/nft_compat.c
|
||||
index 265e190..6595dd1 100644
|
||||
--- a/net/netfilter/nft_compat.c
|
||||
+++ b/net/netfilter/nft_compat.c
|
||||
@@ -274,11 +274,11 @@ static void nft_match_eval(const struct nft_expr *expr,
|
||||
return;
|
||||
}
|
||||
|
||||
- switch(ret) {
|
||||
- case true:
|
||||
+ switch (ret ? 1 : 0) {
|
||||
+ case 1:
|
||||
data[NFT_REG_VERDICT].verdict = NFT_CONTINUE;
|
||||
break;
|
||||
- case false:
|
||||
+ case 0:
|
||||
data[NFT_REG_VERDICT].verdict = NFT_BREAK;
|
||||
break;
|
||||
}
|
||||
diff --git a/net/netfilter/nft_ct.c b/net/netfilter/nft_ct.c
|
||||
index cc56030..18d520e 100644
|
||||
--- a/net/netfilter/nft_ct.c
|
||||
+++ b/net/netfilter/nft_ct.c
|
||||
@@ -56,6 +56,8 @@ static void nft_ct_get_eval(const struct nft_expr *expr,
|
||||
state = NF_CT_STATE_BIT(ctinfo);
|
||||
dest->data[0] = state;
|
||||
return;
|
||||
+ default:
|
||||
+ break;
|
||||
}
|
||||
|
||||
if (ct == NULL)
|
||||
@@ -117,6 +119,8 @@ static void nft_ct_get_eval(const struct nft_expr *expr,
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
+ default:
|
||||
+ break;
|
||||
}
|
||||
|
||||
tuple = &ct->tuplehash[priv->dir].tuple;
|
||||
@@ -141,6 +145,8 @@ static void nft_ct_get_eval(const struct nft_expr *expr,
|
||||
case NFT_CT_PROTO_DST:
|
||||
dest->data[0] = (__force __u16)tuple->dst.u.all;
|
||||
return;
|
||||
+ default:
|
||||
+ break;
|
||||
}
|
||||
return;
|
||||
err:
|
||||
@@ -172,6 +178,8 @@ static void nft_ct_set_eval(const struct nft_expr *expr,
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
+ default:
|
||||
+ break;
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.10.2
|
||||
|
|
@ -0,0 +1,70 @@
|
|||
From f9c2562565b02c6abea430003b3d338f4bda954e Mon Sep 17 00:00:00 2001
|
||||
From: Chen Gang <gang.chen.5i5j@gmail.com>
|
||||
Date: Wed, 24 Dec 2014 23:04:54 +0800
|
||||
Subject: [PATCH 5/9] netfilter: nfnetlink_cthelper: Remove 'const' and '&' to
|
||||
avoid warnings
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
[ Upstream commit b18c5d15e8714336365d9d51782d5b53afa0443c ]
|
||||
|
||||
The related code can be simplified, and also can avoid related warnings
|
||||
(with allmodconfig under parisc):
|
||||
|
||||
CC [M] net/netfilter/nfnetlink_cthelper.o
|
||||
net/netfilter/nfnetlink_cthelper.c: In function ‘nfnl_cthelper_from_nlattr’:
|
||||
net/netfilter/nfnetlink_cthelper.c:97:9: warning: passing argument 1 o ‘memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-array-qualifiers]
|
||||
memcpy(&help->data, nla_data(attr), help->helper->data_len);
|
||||
^
|
||||
In file included from include/linux/string.h:17:0,
|
||||
from include/uapi/linux/uuid.h:25,
|
||||
from include/linux/uuid.h:23,
|
||||
from include/linux/mod_devicetable.h:12,
|
||||
from ./arch/parisc/include/asm/hardware.h:4,
|
||||
from ./arch/parisc/include/asm/processor.h:15,
|
||||
from ./arch/parisc/include/asm/spinlock.h:6,
|
||||
from ./arch/parisc/include/asm/atomic.h:21,
|
||||
from include/linux/atomic.h:4,
|
||||
from ./arch/parisc/include/asm/bitops.h:12,
|
||||
from include/linux/bitops.h:36,
|
||||
from include/linux/kernel.h:10,
|
||||
from include/linux/list.h:8,
|
||||
from include/linux/module.h:9,
|
||||
from net/netfilter/nfnetlink_cthelper.c:11:
|
||||
./arch/parisc/include/asm/string.h:8:8: note: expected ‘void *’ but argument is of type ‘const char (*)[]’
|
||||
void * memcpy(void * dest,const void *src,size_t count);
|
||||
^
|
||||
|
||||
Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
|
||||
Signed-off-by: Pablo Neira Ayuso <pablo@soleta.eu>
|
||||
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
|
||||
---
|
||||
net/netfilter/nfnetlink_cthelper.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/net/netfilter/nfnetlink_cthelper.c b/net/netfilter/nfnetlink_cthelper.c
|
||||
index 9e287cb..a5599fc 100644
|
||||
--- a/net/netfilter/nfnetlink_cthelper.c
|
||||
+++ b/net/netfilter/nfnetlink_cthelper.c
|
||||
@@ -86,7 +86,7 @@ nfnl_cthelper_parse_tuple(struct nf_conntrack_tuple *tuple,
|
||||
static int
|
||||
nfnl_cthelper_from_nlattr(struct nlattr *attr, struct nf_conn *ct)
|
||||
{
|
||||
- const struct nf_conn_help *help = nfct_help(ct);
|
||||
+ struct nf_conn_help *help = nfct_help(ct);
|
||||
|
||||
if (attr == NULL)
|
||||
return -EINVAL;
|
||||
@@ -94,7 +94,7 @@ nfnl_cthelper_from_nlattr(struct nlattr *attr, struct nf_conn *ct)
|
||||
if (help->helper->data_len == 0)
|
||||
return -EINVAL;
|
||||
|
||||
- memcpy(&help->data, nla_data(attr), help->helper->data_len);
|
||||
+ memcpy(help->data, nla_data(attr), help->helper->data_len);
|
||||
return 0;
|
||||
}
|
||||
|
||||
--
|
||||
2.10.2
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
From c31761d2a734b0e954a0e0cfb4405f2c9b39129f Mon Sep 17 00:00:00 2001
|
||||
From: "David S. Miller" <davem@davemloft.net>
|
||||
Date: Mon, 27 Apr 2015 13:20:34 -0400
|
||||
Subject: [PATCH 6/9] netfilter; Add some missing default cases to switch
|
||||
statements in nft_reject.
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This fixes:
|
||||
|
||||
====================
|
||||
net/netfilter/nft_reject.c: In function ‘nft_reject_dump’:
|
||||
net/netfilter/nft_reject.c:61:2: warning: enumeration value ‘NFT_REJECT_TCP_RST’ not handled in switch [-Wswitch]
|
||||
switch (priv->type) {
|
||||
^
|
||||
net/netfilter/nft_reject.c:61:2: warning: enumeration value ‘NFT_REJECT_ICMPX_UNREACH’ not handled in switch [-Wswi\
|
||||
tch]
|
||||
net/netfilter/nft_reject_inet.c: In function ‘nft_reject_inet_dump’:
|
||||
net/netfilter/nft_reject_inet.c:105:2: warning: enumeration value ‘NFT_REJECT_TCP_RST’ not handled in switch [-Wswi\
|
||||
tch]
|
||||
switch (priv->type) {
|
||||
^
|
||||
====================
|
||||
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
net/netfilter/nft_reject.c | 2 ++
|
||||
net/netfilter/nft_reject_inet.c | 2 ++
|
||||
2 files changed, 4 insertions(+)
|
||||
|
||||
diff --git a/net/netfilter/nft_reject.c b/net/netfilter/nft_reject.c
|
||||
index 57d3e1a..0522fc9 100644
|
||||
--- a/net/netfilter/nft_reject.c
|
||||
+++ b/net/netfilter/nft_reject.c
|
||||
@@ -63,6 +63,8 @@ int nft_reject_dump(struct sk_buff *skb, const struct nft_expr *expr)
|
||||
if (nla_put_u8(skb, NFTA_REJECT_ICMP_CODE, priv->icmp_code))
|
||||
goto nla_put_failure;
|
||||
break;
|
||||
+ default:
|
||||
+ break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
diff --git a/net/netfilter/nft_reject_inet.c b/net/netfilter/nft_reject_inet.c
|
||||
index 7b5f9d5..1fb065a 100644
|
||||
--- a/net/netfilter/nft_reject_inet.c
|
||||
+++ b/net/netfilter/nft_reject_inet.c
|
||||
@@ -105,6 +105,8 @@ static int nft_reject_inet_dump(struct sk_buff *skb,
|
||||
if (nla_put_u8(skb, NFTA_REJECT_ICMP_CODE, priv->icmp_code))
|
||||
goto nla_put_failure;
|
||||
break;
|
||||
+ default:
|
||||
+ break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
--
|
||||
2.10.2
|
||||
|
26
core/linux-oak/0007-usbtv-remove-unused-variable.patch
Normal file
26
core/linux-oak/0007-usbtv-remove-unused-variable.patch
Normal file
|
@ -0,0 +1,26 @@
|
|||
From 615070e7e686b5b87ec2d121528049056fda0dba Mon Sep 17 00:00:00 2001
|
||||
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
Date: Sat, 29 Oct 2016 12:04:40 -0600
|
||||
Subject: [PATCH 7/9] usbtv: remove unused variable
|
||||
|
||||
Signed-off-by: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
---
|
||||
drivers/media/usb/usbtv/usbtv-video.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/media/usb/usbtv/usbtv-video.c b/drivers/media/usb/usbtv/usbtv-video.c
|
||||
index a5eb726..4f450c6 100644
|
||||
--- a/drivers/media/usb/usbtv/usbtv-video.c
|
||||
+++ b/drivers/media/usb/usbtv/usbtv-video.c
|
||||
@@ -602,7 +602,7 @@ static int usbtv_queue_setup(struct vb2_queue *vq,
|
||||
const void *parg, unsigned int *nbuffers,
|
||||
unsigned int *nplanes, unsigned int sizes[], void *alloc_ctxs[])
|
||||
{
|
||||
- const struct v4l2_format *fmt = parg;
|
||||
+ /* const struct v4l2_format *fmt = parg; */
|
||||
struct usbtv *usbtv = vb2_get_drv_priv(vq);
|
||||
|
||||
if (*nbuffers < 2)
|
||||
--
|
||||
2.10.2
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
From 9c89cd2d47daeb945a2d7ca844d317b8a640de59 Mon Sep 17 00:00:00 2001
|
||||
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
Date: Thu, 26 May 2016 06:29:07 -0600
|
||||
Subject: [PATCH 8/9] add extra errata 843419 build flags
|
||||
|
||||
---
|
||||
arch/arm64/Makefile | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile
|
||||
index b7da5c3..5e27fa3 100644
|
||||
--- a/arch/arm64/Makefile
|
||||
+++ b/arch/arm64/Makefile
|
||||
@@ -35,6 +35,7 @@ CHECKFLAGS += -D__aarch64__
|
||||
|
||||
ifeq ($(CONFIG_ARM64_ERRATUM_843419), y)
|
||||
CFLAGS_MODULE += -mcmodel=large
|
||||
+CFLAGS_MODULE += $(call cc-option, -mpc-relative-literal-loads)
|
||||
endif
|
||||
|
||||
# Default value
|
||||
--
|
||||
2.10.2
|
||||
|
32
core/linux-oak/0009-Downgrade-mmc1-speed.patch
Normal file
32
core/linux-oak/0009-Downgrade-mmc1-speed.patch
Normal file
|
@ -0,0 +1,32 @@
|
|||
From d5962d619b422fe4b511ad2779a5ccf152052ace Mon Sep 17 00:00:00 2001
|
||||
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
Date: Sat, 5 Nov 2016 15:28:36 -0600
|
||||
Subject: [PATCH 9/9] Downgrade mmc1 speed
|
||||
|
||||
200MHz causes errors reading the card and filesystem corruption.
|
||||
|
||||
Signed-off-by: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
---
|
||||
arch/arm64/boot/dts/mediatek/mt8173-oak.dtsi | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/mediatek/mt8173-oak.dtsi b/arch/arm64/boot/dts/mediatek/mt8173-oak.dtsi
|
||||
index 476ea16..c79cdbf 100644
|
||||
--- a/arch/arm64/boot/dts/mediatek/mt8173-oak.dtsi
|
||||
+++ b/arch/arm64/boot/dts/mediatek/mt8173-oak.dtsi
|
||||
@@ -418,10 +418,10 @@
|
||||
pinctrl-0 = <&mmc1_pins_default>;
|
||||
pinctrl-1 = <&mmc1_pins_uhs>;
|
||||
bus-width = <4>;
|
||||
- max-frequency = <200000000>;
|
||||
+ max-frequency = <100000000>;
|
||||
cap-sd-highspeed;
|
||||
+ sd-uhs-sdr25;
|
||||
sd-uhs-sdr50;
|
||||
- sd-uhs-sdr104;
|
||||
cd-gpios = <&pio 1 GPIO_ACTIVE_HIGH>;
|
||||
wp-gpios = <&pio 42 GPIO_ACTIVE_HIGH>;
|
||||
vmmc-supply = <&mt6397_vmch_reg>;
|
||||
--
|
||||
2.10.2
|
||||
|
285
core/linux-oak/PKGBUILD
Normal file
285
core/linux-oak/PKGBUILD
Normal file
|
@ -0,0 +1,285 @@
|
|||
# ChromiumOS kernel for Oak Chromebooks
|
||||
# Maintainer: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
|
||||
buildarch=8
|
||||
|
||||
pkgbase=linux-oak
|
||||
_kernelname=${pkgbase#linux}
|
||||
_desc="Oak Chromebooks"
|
||||
pkgver=3.18.0
|
||||
pkgrel=1
|
||||
_commit=faaa0586aba977987480e0fbbe62bc13769d6d75
|
||||
arch=('aarch64')
|
||||
url="https://chromium.googlesource.com/chromiumos/third_party/kernel/+/chromeos-3.18"
|
||||
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"
|
||||
'0001-kbuild-move-Wunused-const-variable-to-W-1-warning-le.patch'
|
||||
'0002-md-fix-a-build-warning.patch'
|
||||
'0003-ath9k-fix-buffer-overrun-for-ar9287.patch'
|
||||
'0004-netfilter-Fix-switch-statement-warnings-with-recent-.patch'
|
||||
'0005-netfilter-nfnetlink_cthelper-Remove-const-and-to-avo.patch'
|
||||
'0006-netfilter-Add-some-missing-default-cases-to-switch-s.patch'
|
||||
'0007-usbtv-remove-unused-variable.patch'
|
||||
'0008-add-extra-errata-843419-build-flags.patch'
|
||||
'0009-Downgrade-mmc1-speed.patch'
|
||||
'config'
|
||||
'kernel.its'
|
||||
'kernel.keyblock'
|
||||
'kernel_data_key.vbprivk'
|
||||
'cmdline')
|
||||
md5sums=('4996445ef49e80b221c8374b492660f0'
|
||||
'5d12cc890e0c6bb9cc9528a438ae3f64'
|
||||
'ea7c4bfbe62b0df369610d72d03a35e4'
|
||||
'ca2e60b021e01c55b540795d4b9e8ea1'
|
||||
'70549cd54addf2fb60f33ce68fa2cd1b'
|
||||
'd9d09f62a06c0c8077a1274323aa0545'
|
||||
'7a255d612fdb87c4e4dfdea8628ce3df'
|
||||
'e658200d968a8d88eeac798198b888e6'
|
||||
'c305d36d91e8806dce877af47f9a715b'
|
||||
'd4f85f0032f193fd9254034b0207740e'
|
||||
'bf8d8698233a93219cf36fe0a58e21d9'
|
||||
'aef13cb59516e9313cb8947350f717d6'
|
||||
'61c5ff73c136ed07a7aadbf58db3d96a'
|
||||
'584777ae88bce2c5659960151b64c7d8'
|
||||
'caac3e4ace66a81a3e0a3e7348e99098')
|
||||
|
||||
prepare() {
|
||||
git apply 0001-kbuild-move-Wunused-const-variable-to-W-1-warning-le.patch
|
||||
git apply 0002-md-fix-a-build-warning.patch
|
||||
git apply 0003-ath9k-fix-buffer-overrun-for-ar9287.patch
|
||||
git apply 0004-netfilter-Fix-switch-statement-warnings-with-recent-.patch
|
||||
git apply 0005-netfilter-nfnetlink_cthelper-Remove-const-and-to-avo.patch
|
||||
git apply 0006-netfilter-Add-some-missing-default-cases-to-switch-s.patch
|
||||
git apply 0007-usbtv-remove-unused-variable.patch
|
||||
git apply 0008-add-extra-errata-843419-build-flags.patch
|
||||
git apply 0009-Downgrade-mmc1-speed.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
|
||||
|
||||
unset LDFLAGS
|
||||
cp include/linux/compiler-gcc5.h include/linux/compiler-gcc6.h
|
||||
}
|
||||
|
||||
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} Image 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=arm64
|
||||
|
||||
# get kernel version
|
||||
_kernver="$(make kernelrelease)"
|
||||
_basekernel=${_kernver%%-*}
|
||||
_basekernel=${_basekernel%.*}
|
||||
|
||||
mkdir -p "${pkgdir}"/{lib/modules,lib/firmware}
|
||||
make INSTALL_MOD_PATH="${pkgdir}" modules_install
|
||||
make INSTALL_DTBS_PATH="${pkgdir}/boot/dtbs" dtbs_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 aarch64 \
|
||||
--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
|
||||
|
||||
# install ChromeOS brcm firmware
|
||||
#mkdir -p "${pkgdir}"/usr/lib/firmware/brcm
|
||||
#mkdir -p "${pkgdir}"/usr/lib/udev/rules.d
|
||||
#cp BCM4354_003.001.012.0306.0659.hcd brcmfmac4354-sdio.txt "${pkgdir}"/usr/lib/firmware/brcm
|
||||
#cp 99-veyron-brcm.rules "${pkgdir}"/usr/lib/udev/rules.d
|
||||
}
|
||||
|
||||
_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/
|
||||
|
||||
# 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,arm,arm26,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-oak/cmdline
Normal file
1
core/linux-oak/cmdline
Normal file
|
@ -0,0 +1 @@
|
|||
console=tty1 init=/sbin/init root=PARTUUID=%U/PARTNROFF=1 rootwait rw noinitrd
|
4929
core/linux-oak/config
Normal file
4929
core/linux-oak/config
Normal file
File diff suppressed because it is too large
Load diff
146
core/linux-oak/kernel.its
Normal file
146
core/linux-oak/kernel.its
Normal file
|
@ -0,0 +1,146 @@
|
|||
/dts-v1/;
|
||||
|
||||
/ {
|
||||
description = "Chrome OS kernel image with one or more FDT blobs";
|
||||
images {
|
||||
kernel@1{
|
||||
description = "kernel";
|
||||
data = /incbin/("arch/arm64/boot/Image");
|
||||
type = "kernel_noload";
|
||||
arch = "arm64";
|
||||
os = "linux";
|
||||
compression = "none";
|
||||
load = <0>;
|
||||
entry = <0>;
|
||||
};
|
||||
fdt@1{
|
||||
description = "mt8173-elm-rev0.dtb";
|
||||
data = /incbin/("arch/arm64/boot/dts/mediatek/mt8173-elm-rev0.dtb");
|
||||
type = "flat_dt";
|
||||
arch = "arm64";
|
||||
compression = "none";
|
||||
hash@1{
|
||||
algo = "sha1";
|
||||
};
|
||||
};
|
||||
fdt@2{
|
||||
description = "mt8173-elm-rev1.dtb";
|
||||
data = /incbin/("arch/arm64/boot/dts/mediatek/mt8173-elm-rev1.dtb");
|
||||
type = "flat_dt";
|
||||
arch = "arm64";
|
||||
compression = "none";
|
||||
hash@1{
|
||||
algo = "sha1";
|
||||
};
|
||||
};
|
||||
fdt@3{
|
||||
description = "mt8173-elm-rev3.dtb";
|
||||
data = /incbin/("arch/arm64/boot/dts/mediatek/mt8173-elm-rev3.dtb");
|
||||
type = "flat_dt";
|
||||
arch = "arm64";
|
||||
compression = "none";
|
||||
hash@1{
|
||||
algo = "sha1";
|
||||
};
|
||||
};
|
||||
fdt@4{
|
||||
description = "mt8173-hana-rev0.dtb";
|
||||
data = /incbin/("arch/arm64/boot/dts/mediatek/mt8173-hana-rev0.dtb");
|
||||
type = "flat_dt";
|
||||
arch = "arm64";
|
||||
compression = "none";
|
||||
hash@1{
|
||||
algo = "sha1";
|
||||
};
|
||||
};
|
||||
fdt@5{
|
||||
description = "mt8173-oak-rev2.dtb";
|
||||
data = /incbin/("arch/arm64/boot/dts/mediatek/mt8173-oak-rev2.dtb");
|
||||
type = "flat_dt";
|
||||
arch = "arm64";
|
||||
compression = "none";
|
||||
hash@1{
|
||||
algo = "sha1";
|
||||
};
|
||||
};
|
||||
fdt@6{
|
||||
description = "mt8173-oak-rev3.dtb";
|
||||
data = /incbin/("arch/arm64/boot/dts/mediatek/mt8173-oak-rev3.dtb");
|
||||
type = "flat_dt";
|
||||
arch = "arm64";
|
||||
compression = "none";
|
||||
hash@1{
|
||||
algo = "sha1";
|
||||
};
|
||||
};
|
||||
fdt@7{
|
||||
description = "mt8173-oak-rev4.dtb";
|
||||
data = /incbin/("arch/arm64/boot/dts/mediatek/mt8173-oak-rev4.dtb");
|
||||
type = "flat_dt";
|
||||
arch = "arm64";
|
||||
compression = "none";
|
||||
hash@1{
|
||||
algo = "sha1";
|
||||
};
|
||||
};
|
||||
fdt@8{
|
||||
description = "mt8173-oak-rev5.dtb";
|
||||
data = /incbin/("arch/arm64/boot/dts/mediatek/mt8173-oak-rev5.dtb");
|
||||
type = "flat_dt";
|
||||
arch = "arm64";
|
||||
compression = "none";
|
||||
hash@1{
|
||||
algo = "sha1";
|
||||
};
|
||||
};
|
||||
fdt@9{
|
||||
description = "mt8173-oak-rev6.dtb";
|
||||
data = /incbin/("arch/arm64/boot/dts/mediatek/mt8173-oak-rev6.dtb");
|
||||
type = "flat_dt";
|
||||
arch = "arm64";
|
||||
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";
|
||||
};
|
||||
};
|
||||
};
|
BIN
core/linux-oak/kernel.keyblock
Normal file
BIN
core/linux-oak/kernel.keyblock
Normal file
Binary file not shown.
BIN
core/linux-oak/kernel_data_key.vbprivk
Normal file
BIN
core/linux-oak/kernel_data_key.vbprivk
Normal file
Binary file not shown.
37
core/linux-oak/linux-oak.install
Normal file
37
core/linux-oak/linux-oak.install
Normal file
|
@ -0,0 +1,37 @@
|
|||
# arg 1: the new package version
|
||||
# arg 2: the old package version
|
||||
|
||||
KERNEL_NAME=-oak
|
||||
KERNEL_VERSION=3.18.0-1-ARCH
|
||||
|
||||
flash_kernel() {
|
||||
major=$(mountpoint -d / | cut -f 1 -d ':')
|
||||
minor=$(mountpoint -d / | cut -f 2 -d ':')
|
||||
device=$(cat /proc/partitions | awk {'if ($1 == "'${major}'" && $2 == "'${minor}'") print $4 '})
|
||||
device="/dev/${device/%2/1}"
|
||||
|
||||
echo "A new kernel version needs to be flashed onto ${device}."
|
||||
echo "Do you want to do this now? [y|N]"
|
||||
read -r shouldwe
|
||||
if [[ $shouldwe =~ ^([yY][eE][sS]|[yY])$ ]]; then
|
||||
dd if=/boot/vmlinux.kpart of=${device}
|
||||
sync
|
||||
else
|
||||
echo "You can do this later by running:"
|
||||
echo "# dd if=/boot/vmlinux.kpart of=${device}"
|
||||
fi
|
||||
}
|
||||
|
||||
post_install () {
|
||||
# updating module dependencies
|
||||
echo ">>> Updating module dependencies. Please wait ..."
|
||||
depmod ${KERNEL_VERSION}
|
||||
flash_kernel
|
||||
}
|
||||
|
||||
post_upgrade() {
|
||||
# updating module dependencies
|
||||
echo ">>> Updating module dependencies. Please wait ..."
|
||||
depmod ${KERNEL_VERSION}
|
||||
flash_kernel
|
||||
}
|
Loading…
Reference in a new issue