initial commit
This commit is contained in:
commit
77011ac398
|
@ -0,0 +1,95 @@
|
||||||
|
From 48da7521af79c8822af5085f1d0eedbec3f08f47 Mon Sep 17 00:00:00 2001
|
||||||
|
From: popcornmix <popcornmix@gmail.com>
|
||||||
|
Date: Tue, 18 Feb 2014 01:43:50 -0300
|
||||||
|
Subject: [PATCH 1/2] 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 4c8ee1cff4d4..2ab7d915b5da 100644
|
||||||
|
--- a/drivers/net/usb/smsc95xx.c
|
||||||
|
+++ b/drivers/net/usb/smsc95xx.c
|
||||||
|
@@ -50,6 +50,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;
|
||||||
|
@@ -67,6 +68,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)
|
||||||
|
{
|
||||||
|
@@ -753,8 +758,59 @@ static int smsc95xx_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd)
|
||||||
|
return phy_mii_ioctl(netdev->phydev, rq, cmd);
|
||||||
|
}
|
||||||
|
|
||||||
|
+/* 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;
|
||||||
|
+
|
||||||
|
/* maybe the boot loader passed the MAC address in devicetree */
|
||||||
|
if (!eth_platform_get_mac_address(&dev->udev->dev,
|
||||||
|
dev->net->dev_addr)) {
|
||||||
|
--
|
||||||
|
2.33.0
|
||||||
|
|
26
0002-arm64-dts-rockchip-disable-pwm0-on-rk3399-firefly.patch
Normal file
26
0002-arm64-dts-rockchip-disable-pwm0-on-rk3399-firefly.patch
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
From 3427bad1eb5e55bb9374cf6bb62eb0d844c72287 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||||
|
Date: Mon, 7 Aug 2017 19:34:57 -0600
|
||||||
|
Subject: [PATCH 2/2] arm64: dts: rockchip: disable pwm0 on rk3399-firefly
|
||||||
|
|
||||||
|
Workaround for intermittent boot hangs due to pwm0 probe disabling the PWM clock.
|
||||||
|
---
|
||||||
|
arch/arm64/boot/dts/rockchip/rk3399-firefly.dts | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts b/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts
|
||||||
|
index c4dd2a6b4836..2c2a78292148 100644
|
||||||
|
--- a/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts
|
||||||
|
+++ b/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts
|
||||||
|
@@ -745,7 +745,7 @@ wifi_host_wake_l: wifi-host-wake-l {
|
||||||
|
};
|
||||||
|
|
||||||
|
&pwm0 {
|
||||||
|
- status = "okay";
|
||||||
|
+ status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
&pwm2 {
|
||||||
|
--
|
||||||
|
2.33.0
|
||||||
|
|
388
0003-pinebook-bluetooth.patch
Normal file
388
0003-pinebook-bluetooth.patch
Normal file
|
@ -0,0 +1,388 @@
|
||||||
|
diff -abBur linux-5.14.11/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts linux-5.14.11-patched/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||||
|
--- linux-5.14.11/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts 2021-10-09 15:02:42.000000000 +0200
|
||||||
|
+++ linux-5.14.11-patched/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts 2021-10-11 23:16:51.530740961 +0200
|
||||||
|
@@ -405,6 +405,32 @@
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
+
|
||||||
|
+&uart1 {
|
||||||
|
+ pinctrl-names = "default";
|
||||||
|
+ pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
|
||||||
|
+ status = "okay";
|
||||||
|
+
|
||||||
|
+ bluetooth {
|
||||||
|
+ compatible = "realtek,rtl8723cs-bt";
|
||||||
|
+ device-wake-gpios = <&r_pio 0 5 GPIO_ACTIVE_LOW>; /* PL5 */
|
||||||
|
+ host-wake-gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
|
||||||
|
+ };
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&uart1 {
|
||||||
|
+ pinctrl-names = "default";
|
||||||
|
+ pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
|
||||||
|
+ uart-has-rtscts;
|
||||||
|
+ status = "okay";
|
||||||
|
+
|
||||||
|
+ bluetooth {
|
||||||
|
+ compatible = "realtek,rtl8723cs-bt";
|
||||||
|
+ device-wake-gpios = <&r_pio 0 5 GPIO_ACTIVE_LOW>; /* PL5 */
|
||||||
|
+ host-wake-gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
|
||||||
|
+ };
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
&usb_otg {
|
||||||
|
dr_mode = "host";
|
||||||
|
};
|
||||||
|
diff -abBur linux-5.14.11/drivers/bluetooth/btrtl.c linux-5.14.11-patched/drivers/bluetooth/btrtl.c
|
||||||
|
--- linux-5.14.11/drivers/bluetooth/btrtl.c 2021-10-09 15:02:42.000000000 +0200
|
||||||
|
+++ linux-5.14.11-patched/drivers/bluetooth/btrtl.c 2021-10-11 23:06:01.518740651 +0200
|
||||||
|
@@ -17,7 +17,11 @@
|
||||||
|
|
||||||
|
#define VERSION "0.1"
|
||||||
|
|
||||||
|
+#define RTL_CHIP_8723CS_CG 3
|
||||||
|
+#define RTL_CHIP_8723CS_VF 4
|
||||||
|
+#define RTL_CHIP_8723CS_XX 5
|
||||||
|
#define RTL_EPATCH_SIGNATURE "Realtech"
|
||||||
|
+#define RTL_ROM_LMP_8703B 0x8703
|
||||||
|
#define RTL_ROM_LMP_8723A 0x1200
|
||||||
|
#define RTL_ROM_LMP_8723B 0x8723
|
||||||
|
#define RTL_ROM_LMP_8821A 0x8821
|
||||||
|
@@ -30,6 +34,7 @@
|
||||||
|
#define IC_MATCH_FL_HCIREV (1 << 1)
|
||||||
|
#define IC_MATCH_FL_HCIVER (1 << 2)
|
||||||
|
#define IC_MATCH_FL_HCIBUS (1 << 3)
|
||||||
|
+#define IC_MATCH_FL_CHIP_TYPE (1 << 4)
|
||||||
|
#define IC_INFO(lmps, hcir, hciv, bus) \
|
||||||
|
.match_flags = IC_MATCH_FL_LMPSUBV | IC_MATCH_FL_HCIREV | \
|
||||||
|
IC_MATCH_FL_HCIVER | IC_MATCH_FL_HCIBUS, \
|
||||||
|
@@ -57,6 +62,7 @@
|
||||||
|
__u16 hci_rev;
|
||||||
|
__u8 hci_ver;
|
||||||
|
__u8 hci_bus;
|
||||||
|
+ __u8 chip_type;
|
||||||
|
bool config_needed;
|
||||||
|
bool has_rom_version;
|
||||||
|
char *fw_name;
|
||||||
|
@@ -96,6 +102,72 @@
|
||||||
|
.fw_name = "rtl_bt/rtl8723b_fw.bin",
|
||||||
|
.cfg_name = "rtl_bt/rtl8723b_config" },
|
||||||
|
|
||||||
|
+ /* 8723CS-CG */
|
||||||
|
+ { .match_flags = IC_MATCH_FL_LMPSUBV | IC_MATCH_FL_CHIP_TYPE |
|
||||||
|
+ IC_MATCH_FL_HCIBUS,
|
||||||
|
+ .lmp_subver = RTL_ROM_LMP_8703B,
|
||||||
|
+ .chip_type = RTL_CHIP_8723CS_CG,
|
||||||
|
+ .hci_bus = HCI_UART,
|
||||||
|
+ .config_needed = true,
|
||||||
|
+ .has_rom_version = true,
|
||||||
|
+ .fw_name = "rtl_bt/rtl8723cs_cg_fw.bin",
|
||||||
|
+ .cfg_name = "rtl_bt/rtl8723cs_cg_config" },
|
||||||
|
+
|
||||||
|
+ /* 8723CS-VF */
|
||||||
|
+ { .match_flags = IC_MATCH_FL_LMPSUBV | IC_MATCH_FL_CHIP_TYPE |
|
||||||
|
+ IC_MATCH_FL_HCIBUS,
|
||||||
|
+ .lmp_subver = RTL_ROM_LMP_8703B,
|
||||||
|
+ .chip_type = RTL_CHIP_8723CS_VF,
|
||||||
|
+ .hci_bus = HCI_UART,
|
||||||
|
+ .config_needed = true,
|
||||||
|
+ .has_rom_version = true,
|
||||||
|
+ .fw_name = "rtl_bt/rtl8723cs_vf_fw.bin",
|
||||||
|
+ .cfg_name = "rtl_bt/rtl8723cs_vf_config" },
|
||||||
|
+
|
||||||
|
+ /* 8723CS-XX */
|
||||||
|
+ { .match_flags = IC_MATCH_FL_LMPSUBV | IC_MATCH_FL_CHIP_TYPE |
|
||||||
|
+ IC_MATCH_FL_HCIBUS,
|
||||||
|
+ .lmp_subver = RTL_ROM_LMP_8703B,
|
||||||
|
+ .chip_type = RTL_CHIP_8723CS_XX,
|
||||||
|
+ .hci_bus = HCI_UART,
|
||||||
|
+ .config_needed = true,
|
||||||
|
+ .has_rom_version = true,
|
||||||
|
+ .fw_name = "rtl_bt/rtl8723cs_xx_fw.bin",
|
||||||
|
+ .cfg_name = "rtl_bt/rtl8723cs_xx_config" },
|
||||||
|
+
|
||||||
|
+ /* 8723CS-CG */
|
||||||
|
+ { .match_flags = IC_MATCH_FL_LMPSUBV | IC_MATCH_FL_CHIP_TYPE |
|
||||||
|
+ IC_MATCH_FL_HCIBUS,
|
||||||
|
+ .lmp_subver = RTL_ROM_LMP_8703B,
|
||||||
|
+ .chip_type = RTL_CHIP_8723CS_CG,
|
||||||
|
+ .hci_bus = HCI_UART,
|
||||||
|
+ .config_needed = true,
|
||||||
|
+ .has_rom_version = true,
|
||||||
|
+ .fw_name = "rtl_bt/rtl8723cs_cg_fw.bin",
|
||||||
|
+ .cfg_name = "rtl_bt/rtl8723cs_cg_config" },
|
||||||
|
+
|
||||||
|
+ /* 8723CS-VF */
|
||||||
|
+ { .match_flags = IC_MATCH_FL_LMPSUBV | IC_MATCH_FL_CHIP_TYPE |
|
||||||
|
+ IC_MATCH_FL_HCIBUS,
|
||||||
|
+ .lmp_subver = RTL_ROM_LMP_8703B,
|
||||||
|
+ .chip_type = RTL_CHIP_8723CS_VF,
|
||||||
|
+ .hci_bus = HCI_UART,
|
||||||
|
+ .config_needed = true,
|
||||||
|
+ .has_rom_version = true,
|
||||||
|
+ .fw_name = "rtl_bt/rtl8723cs_vf_fw.bin",
|
||||||
|
+ .cfg_name = "rtl_bt/rtl8723cs_vf_config" },
|
||||||
|
+
|
||||||
|
+ /* 8723CS-XX */
|
||||||
|
+ { .match_flags = IC_MATCH_FL_LMPSUBV | IC_MATCH_FL_CHIP_TYPE |
|
||||||
|
+ IC_MATCH_FL_HCIBUS,
|
||||||
|
+ .lmp_subver = RTL_ROM_LMP_8703B,
|
||||||
|
+ .chip_type = RTL_CHIP_8723CS_XX,
|
||||||
|
+ .hci_bus = HCI_UART,
|
||||||
|
+ .config_needed = true,
|
||||||
|
+ .has_rom_version = true,
|
||||||
|
+ .fw_name = "rtl_bt/rtl8723cs_xx_fw.bin",
|
||||||
|
+ .cfg_name = "rtl_bt/rtl8723cs_xx_config" },
|
||||||
|
+
|
||||||
|
/* 8723D */
|
||||||
|
{ IC_INFO(RTL_ROM_LMP_8723B, 0xd, 0x8, HCI_USB),
|
||||||
|
.config_needed = true,
|
||||||
|
@@ -175,7 +247,8 @@
|
||||||
|
};
|
||||||
|
|
||||||
|
static const struct id_table *btrtl_match_ic(u16 lmp_subver, u16 hci_rev,
|
||||||
|
- u8 hci_ver, u8 hci_bus)
|
||||||
|
+ u8 hci_ver, u8 hci_bus,
|
||||||
|
+ u8 chip_type)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
@@ -192,6 +265,12 @@
|
||||||
|
if ((ic_id_table[i].match_flags & IC_MATCH_FL_HCIBUS) &&
|
||||||
|
(ic_id_table[i].hci_bus != hci_bus))
|
||||||
|
continue;
|
||||||
|
+ if ((ic_id_table[i].match_flags & IC_MATCH_FL_CHIP_TYPE) &&
|
||||||
|
+ (ic_id_table[i].chip_type != chip_type))
|
||||||
|
+ continue;
|
||||||
|
+ if ((ic_id_table[i].match_flags & IC_MATCH_FL_CHIP_TYPE) &&
|
||||||
|
+ (ic_id_table[i].chip_type != chip_type))
|
||||||
|
+ continue;
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
@@ -274,6 +353,7 @@
|
||||||
|
{ RTL_ROM_LMP_8723B, 1 },
|
||||||
|
{ RTL_ROM_LMP_8821A, 2 },
|
||||||
|
{ RTL_ROM_LMP_8761A, 3 },
|
||||||
|
+ { RTL_ROM_LMP_8703B, 7 },
|
||||||
|
{ RTL_ROM_LMP_8822B, 8 },
|
||||||
|
{ RTL_ROM_LMP_8723B, 9 }, /* 8723D */
|
||||||
|
{ RTL_ROM_LMP_8821A, 10 }, /* 8821C */
|
||||||
|
@@ -552,6 +632,48 @@
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
+static bool rtl_has_chip_type(u16 lmp_subver)
|
||||||
|
+{
|
||||||
|
+ switch (lmp_subver) {
|
||||||
|
+ case RTL_ROM_LMP_8703B:
|
||||||
|
+ return true;
|
||||||
|
+ default:
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ return false;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static int rtl_read_chip_type(struct hci_dev *hdev, u8 *type)
|
||||||
|
+{
|
||||||
|
+ struct rtl_chip_type_evt *chip_type;
|
||||||
|
+ struct sk_buff *skb;
|
||||||
|
+ const unsigned char cmd_buf[] = {0x00, 0x94, 0xa0, 0x00, 0xb0};
|
||||||
|
+
|
||||||
|
+ /* Read RTL chip type command */
|
||||||
|
+ skb = __hci_cmd_sync(hdev, 0xfc61, 5, cmd_buf, HCI_INIT_TIMEOUT);
|
||||||
|
+ if (IS_ERR(skb)) {
|
||||||
|
+ rtl_dev_err(hdev, "Read chip type failed (%ld)",
|
||||||
|
+ PTR_ERR(skb));
|
||||||
|
+ return PTR_ERR(skb);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (skb->len != sizeof(*chip_type)) {
|
||||||
|
+ rtl_dev_err(hdev, "RTL chip type event length mismatch");
|
||||||
|
+ kfree_skb(skb);
|
||||||
|
+ return -EIO;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ chip_type = (struct rtl_chip_type_evt *)skb->data;
|
||||||
|
+ rtl_dev_info(hdev, "chip_type status=%x type=%x",
|
||||||
|
+ chip_type->status, chip_type->type);
|
||||||
|
+
|
||||||
|
+ *type = chip_type->type & 0x0f;
|
||||||
|
+
|
||||||
|
+ kfree_skb(skb);
|
||||||
|
+ return 0;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
void btrtl_free(struct btrtl_device_info *btrtl_dev)
|
||||||
|
{
|
||||||
|
kvfree(btrtl_dev->fw_data);
|
||||||
|
@@ -568,7 +690,7 @@
|
||||||
|
struct hci_rp_read_local_version *resp;
|
||||||
|
char cfg_name[40];
|
||||||
|
u16 hci_rev, lmp_subver;
|
||||||
|
- u8 hci_ver;
|
||||||
|
+ u8 hci_ver, chip_type = 0;
|
||||||
|
int ret;
|
||||||
|
u16 opcode;
|
||||||
|
u8 cmd[2];
|
||||||
|
@@ -638,8 +760,14 @@
|
||||||
|
out_free:
|
||||||
|
kfree_skb(skb);
|
||||||
|
|
||||||
|
+ if (rtl_has_chip_type(lmp_subver)) {
|
||||||
|
+ ret = rtl_read_chip_type(hdev, &chip_type);
|
||||||
|
+ if (ret)
|
||||||
|
+ goto err_free;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
btrtl_dev->ic_info = btrtl_match_ic(lmp_subver, hci_rev, hci_ver,
|
||||||
|
- hdev->bus);
|
||||||
|
+ hdev->bus, chip_type);
|
||||||
|
|
||||||
|
if (!btrtl_dev->ic_info) {
|
||||||
|
rtl_dev_info(hdev, "unknown IC info, lmp subver %04x, hci rev %04x, hci ver %04x",
|
||||||
|
@@ -718,6 +846,7 @@
|
||||||
|
case RTL_ROM_LMP_8761A:
|
||||||
|
case RTL_ROM_LMP_8822B:
|
||||||
|
case RTL_ROM_LMP_8852A:
|
||||||
|
+ case RTL_ROM_LMP_8703B:
|
||||||
|
return btrtl_setup_rtl8723b(hdev, btrtl_dev);
|
||||||
|
default:
|
||||||
|
rtl_dev_info(hdev, "assuming no firmware upload needed");
|
||||||
|
@@ -748,6 +877,18 @@
|
||||||
|
rtl_dev_dbg(hdev, "WBS supported not enabled.");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
+ switch (btrtl_dev->ic_info->lmp_subver) {
|
||||||
|
+ case RTL_ROM_LMP_8703B:
|
||||||
|
+ /* 8723CS reports two pages for local ext features,
|
||||||
|
+ * but it doesn't support any features from page 2 -
|
||||||
|
+ * it either responds with garbage or with error status
|
||||||
|
+ */
|
||||||
|
+ set_bit(HCI_QUIRK_BROKEN_LOCAL_EXT_FTR_MAX_PAGE,
|
||||||
|
+ &hdev->quirks);
|
||||||
|
+ break;
|
||||||
|
+ default:
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(btrtl_set_quirks);
|
||||||
|
|
||||||
|
@@ -906,6 +1048,12 @@
|
||||||
|
MODULE_FIRMWARE("rtl_bt/rtl8723b_config.bin");
|
||||||
|
MODULE_FIRMWARE("rtl_bt/rtl8723bs_fw.bin");
|
||||||
|
MODULE_FIRMWARE("rtl_bt/rtl8723bs_config.bin");
|
||||||
|
+MODULE_FIRMWARE("rtl_bt/rtl8723cs_cg_fw.bin");
|
||||||
|
+MODULE_FIRMWARE("rtl_bt/rtl8723cs_cg_config.bin");
|
||||||
|
+MODULE_FIRMWARE("rtl_bt/rtl8723cs_vf_fw.bin");
|
||||||
|
+MODULE_FIRMWARE("rtl_bt/rtl8723cs_vf_config.bin");
|
||||||
|
+MODULE_FIRMWARE("rtl_bt/rtl8723cs_xx_fw.bin");
|
||||||
|
+MODULE_FIRMWARE("rtl_bt/rtl8723cs_xx_config.bin");
|
||||||
|
MODULE_FIRMWARE("rtl_bt/rtl8723ds_fw.bin");
|
||||||
|
MODULE_FIRMWARE("rtl_bt/rtl8723ds_config.bin");
|
||||||
|
MODULE_FIRMWARE("rtl_bt/rtl8761a_fw.bin");
|
||||||
|
diff -abBur linux-5.14.11/drivers/bluetooth/btrtl.h linux-5.14.11-patched/drivers/bluetooth/btrtl.h
|
||||||
|
--- linux-5.14.11/drivers/bluetooth/btrtl.h 2021-10-09 15:02:42.000000000 +0200
|
||||||
|
+++ linux-5.14.11-patched/drivers/bluetooth/btrtl.h 2021-10-11 23:18:52.641741019 +0200
|
||||||
|
@@ -14,6 +14,11 @@
|
||||||
|
|
||||||
|
struct btrtl_device_info;
|
||||||
|
|
||||||
|
+struct rtl_chip_type_evt {
|
||||||
|
+ __u8 status;
|
||||||
|
+ __u8 type;
|
||||||
|
+} __packed;
|
||||||
|
+
|
||||||
|
struct rtl_download_cmd {
|
||||||
|
__u8 index;
|
||||||
|
__u8 data[RTL_FRAG_LEN];
|
||||||
|
diff -abBur linux-5.14.11/drivers/bluetooth/hci_h5.c linux-5.14.11-patched/drivers/bluetooth/hci_h5.c
|
||||||
|
--- linux-5.14.11/drivers/bluetooth/hci_h5.c 2021-10-09 15:02:42.000000000 +0200
|
||||||
|
+++ linux-5.14.11-patched/drivers/bluetooth/hci_h5.c 2021-10-11 23:17:48.642740988 +0200
|
||||||
|
@@ -905,6 +905,8 @@
|
||||||
|
err = btrtl_download_firmware(h5->hu->hdev, btrtl_dev);
|
||||||
|
/* Give the device some time before the hci-core sends it a reset */
|
||||||
|
usleep_range(10000, 20000);
|
||||||
|
+ if (err)
|
||||||
|
+ goto out_free;
|
||||||
|
|
||||||
|
btrtl_set_quirks(h5->hu->hdev, btrtl_dev);
|
||||||
|
|
||||||
|
@@ -1026,6 +1028,8 @@
|
||||||
|
.data = (const void *)&rtl_vnd },
|
||||||
|
{ .compatible = "realtek,rtl8723ds-bt",
|
||||||
|
.data = (const void *)&rtl_vnd },
|
||||||
|
+ { .compatible = "realtek,rtl8723cs-bt",
|
||||||
|
+ .data = (const void *)&rtl_vnd },
|
||||||
|
#endif
|
||||||
|
{ },
|
||||||
|
};
|
||||||
|
diff -abBur linux-5.14.11/include/net/bluetooth/hci.h linux-5.14.11-patched/include/net/bluetooth/hci.h
|
||||||
|
--- linux-5.14.11/include/net/bluetooth/hci.h 2021-10-09 15:02:42.000000000 +0200
|
||||||
|
+++ linux-5.14.11-patched/include/net/bluetooth/hci.h 2021-10-11 16:40:14.259729614 +0200
|
||||||
|
@@ -246,6 +246,13 @@
|
||||||
|
* HCI after resume.
|
||||||
|
*/
|
||||||
|
HCI_QUIRK_NO_SUSPEND_NOTIFIER,
|
||||||
|
+
|
||||||
|
+ /* When this quirk is set, max_page for local extended features
|
||||||
|
+ * is set to 1, even if controller reports higher number. Some
|
||||||
|
+ * controllers (e.g. RTL8723CS) report more pages, but they
|
||||||
|
+ * don't actually support features declared there.
|
||||||
|
+ */
|
||||||
|
+ HCI_QUIRK_BROKEN_LOCAL_EXT_FTR_MAX_PAGE,
|
||||||
|
};
|
||||||
|
|
||||||
|
/* HCI device flags */
|
||||||
|
diff -abBur linux-5.14.11/net/bluetooth/hci_event.c linux-5.14.11-patched/net/bluetooth/hci_event.c
|
||||||
|
--- linux-5.14.11/net/bluetooth/hci_event.c 2021-10-09 15:02:42.000000000 +0200
|
||||||
|
+++ linux-5.14.11-patched/net/bluetooth/hci_event.c 2021-10-11 16:29:31.196729307 +0200
|
||||||
|
@@ -725,7 +725,9 @@
|
||||||
|
if (rp->status)
|
||||||
|
return;
|
||||||
|
|
||||||
|
- if (hdev->max_page < rp->max_page)
|
||||||
|
+ if (!test_bit(HCI_QUIRK_BROKEN_LOCAL_EXT_FTR_MAX_PAGE,
|
||||||
|
+ &hdev->quirks) &&
|
||||||
|
+ hdev->max_page < rp->max_page)
|
||||||
|
hdev->max_page = rp->max_page;
|
||||||
|
|
||||||
|
if (rp->page < HCI_MAX_PAGES)
|
||||||
|
diff -abBur linux-5.14.11/scripts/dtc/include-prefixes/arm64/allwinner/sun50i-a64-pinebook.dts linux-5.14.11-patched/scripts/dtc/include-prefixes/arm64/allwinner/sun50i-a64-pinebook.dts
|
||||||
|
--- linux-5.14.11/scripts/dtc/include-prefixes/arm64/allwinner/sun50i-a64-pinebook.dts 2021-10-09 15:02:42.000000000 +0200
|
||||||
|
+++ linux-5.14.11-patched/scripts/dtc/include-prefixes/arm64/allwinner/sun50i-a64-pinebook.dts 2021-10-11 23:16:51.530740961 +0200
|
||||||
|
@@ -405,6 +405,32 @@
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
+
|
||||||
|
+&uart1 {
|
||||||
|
+ pinctrl-names = "default";
|
||||||
|
+ pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
|
||||||
|
+ status = "okay";
|
||||||
|
+
|
||||||
|
+ bluetooth {
|
||||||
|
+ compatible = "realtek,rtl8723cs-bt";
|
||||||
|
+ device-wake-gpios = <&r_pio 0 5 GPIO_ACTIVE_LOW>; /* PL5 */
|
||||||
|
+ host-wake-gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
|
||||||
|
+ };
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&uart1 {
|
||||||
|
+ pinctrl-names = "default";
|
||||||
|
+ pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
|
||||||
|
+ uart-has-rtscts;
|
||||||
|
+ status = "okay";
|
||||||
|
+
|
||||||
|
+ bluetooth {
|
||||||
|
+ compatible = "realtek,rtl8723cs-bt";
|
||||||
|
+ device-wake-gpios = <&r_pio 0 5 GPIO_ACTIVE_LOW>; /* PL5 */
|
||||||
|
+ host-wake-gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
|
||||||
|
+ };
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
&usb_otg {
|
||||||
|
dr_mode = "host";
|
||||||
|
};
|
12
60-linux.hook
Normal file
12
60-linux.hook
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
[Trigger]
|
||||||
|
Type = File
|
||||||
|
Operation = Install
|
||||||
|
Operation = Upgrade
|
||||||
|
Operation = Remove
|
||||||
|
Target = usr/lib/modules/%KERNVER%/*
|
||||||
|
Target = usr/lib/modules/%EXTRAMODULES%/*
|
||||||
|
|
||||||
|
[Action]
|
||||||
|
Description = Updating %PKGBASE% module dependencies...
|
||||||
|
When = PostTransaction
|
||||||
|
Exec = /usr/bin/depmod %KERNVER%
|
11
90-linux.hook
Normal file
11
90-linux.hook
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
[Trigger]
|
||||||
|
Type = File
|
||||||
|
Operation = Install
|
||||||
|
Operation = Upgrade
|
||||||
|
Target = boot/Image
|
||||||
|
Target = usr/lib/initcpio/*
|
||||||
|
|
||||||
|
[Action]
|
||||||
|
Description = Updating %PKGBASE% initcpios...
|
||||||
|
When = PostTransaction
|
||||||
|
Exec = /usr/bin/mkinitcpio -p %PKGBASE%
|
234
PKGBUILD
Normal file
234
PKGBUILD
Normal file
|
@ -0,0 +1,234 @@
|
||||||
|
# AArch64 multi-platform
|
||||||
|
# Maintainer: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||||
|
|
||||||
|
buildarch=8
|
||||||
|
|
||||||
|
pkgbase=linux-aarch64
|
||||||
|
_srcname=linux-5.14
|
||||||
|
_kernelname=${pkgbase#linux}
|
||||||
|
_desc="AArch64 multi-platform"
|
||||||
|
pkgver=5.14.14
|
||||||
|
pkgrel=1
|
||||||
|
arch=('aarch64')
|
||||||
|
url="http://www.kernel.org/"
|
||||||
|
license=('GPL2')
|
||||||
|
makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc' 'git' 'uboot-tools' 'vboot-utils' 'dtc')
|
||||||
|
options=('!strip')
|
||||||
|
source=("http://www.kernel.org/pub/linux/kernel/v5.x/${_srcname}.tar.xz"
|
||||||
|
"http://www.kernel.org/pub/linux/kernel/v5.x/patch-${pkgver}.xz"
|
||||||
|
'0001-net-smsc95xx-Allow-mac-address-to-be-set-as-a-parame.patch'
|
||||||
|
'0002-arm64-dts-rockchip-disable-pwm0-on-rk3399-firefly.patch'
|
||||||
|
'0003-pinebook-bluetooth.patch'
|
||||||
|
'config'
|
||||||
|
'generate_chromebook_its.sh'
|
||||||
|
'kernel.keyblock'
|
||||||
|
'kernel_data_key.vbprivk'
|
||||||
|
'linux.preset'
|
||||||
|
'60-linux.hook'
|
||||||
|
'90-linux.hook')
|
||||||
|
md5sums=('a082ef5748b813abca0649dab8be5f52'
|
||||||
|
'7b8dc63cfdb806b3c5953bf9b0615daa'
|
||||||
|
'21d3e833437461aed3b6ca68b5d8afa0'
|
||||||
|
'd679f49645578a193d6e3c220787a40d'
|
||||||
|
'0ba7e3e4d72ed2aedbe878ee306ec557'
|
||||||
|
'f091c24a5ea7474072b72e1962d79ead'
|
||||||
|
'e19fbe69f1258b99ee6bed21d7afcbce'
|
||||||
|
'61c5ff73c136ed07a7aadbf58db3d96a'
|
||||||
|
'584777ae88bce2c5659960151b64c7d8'
|
||||||
|
'41cb5fef62715ead2dd109dbea8413d6'
|
||||||
|
'ce6c81ad1ad1f8b333fd6077d47abdaf'
|
||||||
|
'3dc88030a8f2f5a5f97266d99b149f77')
|
||||||
|
|
||||||
|
prepare() {
|
||||||
|
cd ${_srcname}
|
||||||
|
|
||||||
|
# add upstream patch
|
||||||
|
git apply --whitespace=nowarn ../patch-${pkgver}
|
||||||
|
|
||||||
|
# ALARM patches
|
||||||
|
git apply ../0001-net-smsc95xx-Allow-mac-address-to-be-set-as-a-parame.patch
|
||||||
|
git apply ../0002-arm64-dts-rockchip-disable-pwm0-on-rk3399-firefly.patch
|
||||||
|
git apply ../0003-pinebook-bluetooth.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 ${_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!
|
||||||
|
unset LDFLAGS
|
||||||
|
make ${MAKEFLAGS} Image Image.gz modules
|
||||||
|
# Generate device tree blobs with symbols to support applying device tree overlays in U-Boot
|
||||||
|
make ${MAKEFLAGS} DTC_FLAGS="-@" 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=("linux=${pkgver}" "WIREGUARD-MODULE")
|
||||||
|
replaces=('linux-armv8')
|
||||||
|
conflicts=('linux')
|
||||||
|
backup=("etc/mkinitcpio.d/${pkgbase}.preset")
|
||||||
|
install=${pkgname}.install
|
||||||
|
|
||||||
|
cd ${_srcname}
|
||||||
|
|
||||||
|
KARCH=arm64
|
||||||
|
|
||||||
|
# get kernel version
|
||||||
|
_kernver="$(make kernelrelease)"
|
||||||
|
_basekernel=${_kernver%%-*}
|
||||||
|
_basekernel=${_basekernel%.*}
|
||||||
|
|
||||||
|
mkdir -p "${pkgdir}"/{boot,usr/lib/modules}
|
||||||
|
make INSTALL_MOD_PATH="${pkgdir}/usr" modules_install
|
||||||
|
make INSTALL_DTBS_PATH="${pkgdir}/boot/dtbs" dtbs_install
|
||||||
|
cp arch/$KARCH/boot/Image{,.gz} "${pkgdir}/boot"
|
||||||
|
|
||||||
|
# make room for external modules
|
||||||
|
local _extramodules="extramodules-${_basekernel}${_kernelname}"
|
||||||
|
ln -s "../${_extramodules}" "${pkgdir}/usr/lib/modules/${_kernver}/extramodules"
|
||||||
|
|
||||||
|
# add real version for building modules and running depmod from hook
|
||||||
|
echo "${_kernver}" |
|
||||||
|
install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modules/${_extramodules}/version"
|
||||||
|
|
||||||
|
# remove build and source links
|
||||||
|
rm "${pkgdir}"/usr/lib/modules/${_kernver}/{source,build}
|
||||||
|
|
||||||
|
# now we call depmod...
|
||||||
|
depmod -b "${pkgdir}/usr" -F System.map "${_kernver}"
|
||||||
|
|
||||||
|
# sed expression for following substitutions
|
||||||
|
local _subst="
|
||||||
|
s|%PKGBASE%|${pkgbase}|g
|
||||||
|
s|%KERNVER%|${_kernver}|g
|
||||||
|
s|%EXTRAMODULES%|${_extramodules}|g
|
||||||
|
"
|
||||||
|
|
||||||
|
# install mkinitcpio preset file
|
||||||
|
sed "${_subst}" ../linux.preset |
|
||||||
|
install -Dm644 /dev/stdin "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset"
|
||||||
|
|
||||||
|
# install pacman hooks
|
||||||
|
sed "${_subst}" ../60-linux.hook |
|
||||||
|
install -Dm644 /dev/stdin "${pkgdir}/usr/share/libalpm/hooks/60-${pkgbase}.hook"
|
||||||
|
sed "${_subst}" ../90-linux.hook |
|
||||||
|
install -Dm644 /dev/stdin "${pkgdir}/usr/share/libalpm/hooks/90-${pkgbase}.hook"
|
||||||
|
}
|
||||||
|
|
||||||
|
_package-headers() {
|
||||||
|
pkgdesc="Header files and scripts for building modules for linux kernel - ${_desc}"
|
||||||
|
provides=("linux-headers=${pkgver}")
|
||||||
|
conflicts=('linux-headers')
|
||||||
|
|
||||||
|
cd ${_srcname}
|
||||||
|
local builddir="${pkgdir}/usr/lib/modules/${_kernver}/build"
|
||||||
|
|
||||||
|
echo "Installing build files..."
|
||||||
|
install -Dt "$builddir" -m644 .config Makefile Module.symvers System.map vmlinux
|
||||||
|
install -Dt "$builddir/kernel" -m644 kernel/Makefile
|
||||||
|
install -Dt "$builddir/arch/${KARCH}" -m644 arch/${KARCH}/Makefile
|
||||||
|
cp -t "$builddir" -a scripts
|
||||||
|
|
||||||
|
# add xfs and shmem for aufs building
|
||||||
|
mkdir -p "$builddir"/{fs/xfs,mm}
|
||||||
|
|
||||||
|
echo "Installing headers..."
|
||||||
|
cp -t "$builddir" -a include
|
||||||
|
cp -t "$builddir/arch/${KARCH}" -a arch/${KARCH}/include
|
||||||
|
install -Dt "$builddir/arch/${KARCH}/kernel" -m644 arch/${KARCH}/kernel/asm-offsets.s
|
||||||
|
mkdir -p "$builddir/arch/arm"
|
||||||
|
cp -t "$builddir/arch/arm" -a arch/arm/include
|
||||||
|
|
||||||
|
install -Dt "$builddir/drivers/md" -m644 drivers/md/*.h
|
||||||
|
install -Dt "$builddir/net/mac80211" -m644 net/mac80211/*.h
|
||||||
|
|
||||||
|
# https://bugs.archlinux.org/task/13146
|
||||||
|
install -Dt "$builddir/drivers/media/i2c" -m644 drivers/media/i2c/msp3400-driver.h
|
||||||
|
|
||||||
|
# https://bugs.archlinux.org/task/20402
|
||||||
|
install -Dt "$builddir/drivers/media/usb/dvb-usb" -m644 drivers/media/usb/dvb-usb/*.h
|
||||||
|
install -Dt "$builddir/drivers/media/dvb-frontends" -m644 drivers/media/dvb-frontends/*.h
|
||||||
|
install -Dt "$builddir/drivers/media/tuners" -m644 drivers/media/tuners/*.h
|
||||||
|
|
||||||
|
# https://bugs.archlinux.org/task/71392
|
||||||
|
install -Dt "$builddir/drivers/iio/common/hid-sensors" -m644 drivers/iio/common/hid-sensors/*.h
|
||||||
|
|
||||||
|
echo "Installing KConfig files..."
|
||||||
|
find . -name 'Kconfig*' -exec install -Dm644 {} "$builddir/{}" \;
|
||||||
|
|
||||||
|
echo "Removing unneeded architectures..."
|
||||||
|
local arch
|
||||||
|
for arch in "$builddir"/arch/*/; do
|
||||||
|
[[ $arch = */${KARCH}/ || $arch == */arm/ ]] && continue
|
||||||
|
echo "Removing $(basename "$arch")"
|
||||||
|
rm -r "$arch"
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "Removing documentation..."
|
||||||
|
rm -r "$builddir/Documentation"
|
||||||
|
|
||||||
|
echo "Removing broken symlinks..."
|
||||||
|
find -L "$builddir" -type l -printf 'Removing %P\n' -delete
|
||||||
|
|
||||||
|
echo "Removing loose objects..."
|
||||||
|
find "$builddir" -type f -name '*.o' -printf 'Removing %P\n' -delete
|
||||||
|
|
||||||
|
echo "Stripping build tools..."
|
||||||
|
local file
|
||||||
|
while read -rd '' file; do
|
||||||
|
case "$(file -bi "$file")" in
|
||||||
|
application/x-sharedlib\;*) # Libraries (.so)
|
||||||
|
strip -v $STRIP_SHARED "$file" ;;
|
||||||
|
application/x-archive\;*) # Libraries (.a)
|
||||||
|
strip -v $STRIP_STATIC "$file" ;;
|
||||||
|
application/x-executable\;*) # Binaries
|
||||||
|
strip -v $STRIP_BINARIES "$file" ;;
|
||||||
|
application/x-pie-executable\;*) # Relocatable binaries
|
||||||
|
strip -v $STRIP_SHARED "$file" ;;
|
||||||
|
esac
|
||||||
|
done < <(find "$builddir" -type f -perm -u+x ! -name vmlinux -print0)
|
||||||
|
|
||||||
|
echo "Adding symlink..."
|
||||||
|
mkdir -p "$pkgdir/usr/src"
|
||||||
|
ln -sr "$builddir" "$pkgdir/usr/src/$pkgbase"
|
||||||
|
}
|
||||||
|
|
||||||
|
pkgname=("${pkgbase}" "${pkgbase}-headers" "${pkgbase}-chromebook")
|
||||||
|
for _p in ${pkgname[@]}; do
|
||||||
|
eval "package_${_p}() {
|
||||||
|
_package${_p#${pkgbase}}
|
||||||
|
}"
|
||||||
|
done
|
BIN
kernel.keyblock
Normal file
BIN
kernel.keyblock
Normal file
Binary file not shown.
BIN
kernel_data_key.vbprivk
Normal file
BIN
kernel_data_key.vbprivk
Normal file
Binary file not shown.
10
linux-aarch64.install
Normal file
10
linux-aarch64.install
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
post_upgrade() {
|
||||||
|
if findmnt --fstab -uno SOURCE /boot &>/dev/null && ! mountpoint -q /boot; then
|
||||||
|
echo "WARNING: /boot appears to be a separate partition but is not mounted."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
post_remove() {
|
||||||
|
rm -f boot/initramfs-linux.img
|
||||||
|
rm -f boot/initramfs-linux-fallback.img
|
||||||
|
}
|
14
linux.preset
Normal file
14
linux.preset
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
# mkinitcpio preset file for the '%PKGBASE%' package
|
||||||
|
|
||||||
|
ALL_config="/etc/mkinitcpio.conf"
|
||||||
|
ALL_kver="%KERNVER%"
|
||||||
|
|
||||||
|
PRESETS=('default' 'fallback')
|
||||||
|
|
||||||
|
#default_config="/etc/mkinitcpio.conf"
|
||||||
|
default_image="/boot/initramfs-linux.img"
|
||||||
|
#default_options=""
|
||||||
|
|
||||||
|
#fallback_config="/etc/mkinitcpio.conf"
|
||||||
|
fallback_image="/boot/initramfs-linux-fallback.img"
|
||||||
|
fallback_options="-S autodetect"
|
Loading…
Reference in a new issue