improve QSDK target

This commit is contained in:
Yejiang Luo 2021-06-08 09:16:55 +08:00
parent c2c099057e
commit 38c933a225
4 changed files with 109 additions and 53 deletions

View File

@ -1,22 +1,22 @@
From 40d33c8799e3c4a01644fa5ffb2e6b2be99af68c Mon Sep 17 00:00:00 2001 From cb3252edf4dd38a7ee4520b60e230d448a53bc42 Mon Sep 17 00:00:00 2001
From: Yejiang Luo <luoyejiang@gl-inet.com> From: Yejiang Luo <luoyejiang@gl-inet.com>
Date: Sat, 22 May 2021 14:52:31 +0800 Date: Mon, 7 Jun 2021 11:59:07 +0800
Subject: [PATCH] pending: scripts: add gen_config.py Subject: [PATCH] scripts: add gen_config.py
This script is used to setup the tree based on the profiles/. This script is used to setup the tree based on the profiles/.
Signed-off-by: Yejiang Luo <luoyejiang@gl-inet.com> Signed-off-by: Yejiang Luo <luoyejiang@gl-inet.com>
--- ---
scripts/gen_config.py | 197 ++++++++++++++++++++++++++++++++++++++++++++++++++ scripts/gen_config.py | 199 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 197 insertions(+) 1 file changed, 199 insertions(+)
create mode 100755 scripts/gen_config.py create mode 100755 scripts/gen_config.py
diff --git a/scripts/gen_config.py b/scripts/gen_config.py diff --git a/scripts/gen_config.py b/scripts/gen_config.py
new file mode 100755 new file mode 100755
index 0000000..d4c5e97 index 0000000..00c4420
--- /dev/null --- /dev/null
+++ b/scripts/gen_config.py +++ b/scripts/gen_config.py
@@ -0,0 +1,197 @@ @@ -0,0 +1,199 @@
+#!/usr/bin/env python3 +#!/usr/bin/env python3
+ +
+from os import getenv +from os import getenv
@ -148,11 +148,15 @@ index 0000000..d4c5e97
+ if run(["./scripts/feeds", "install", profile["target"]]).returncode: + if run(["./scripts/feeds", "install", profile["target"]]).returncode:
+ die(f"Error installing external target {profile['target']}") + die(f"Error installing external target {profile['target']}")
+ +
+def setup_all_feeds():
+ print("Install all feeds...")
+ if run(["./scripts/feeds", "install", "-a", "-f"]).returncode:
+ die(f"Error installing")
+ +
+def generate_config(profile): +def generate_config(profile):
+ config_output = f"""CONFIG_TARGET_{profile["target"]}=y + config_output = f"""CONFIG_TARGET_{profile["target"]}=y
+CONFIG_TARGET_{profile["target"]}_{profile["subtarget"]}=y +CONFIG_TARGET_{profile["target"]}_{profile["subtarget"]}=y
+CONFIG_TARGET_{profile["target"]}_{profile["subtarget"]}_DEVICE_{profile["profile"]}=y +CONFIG_TARGET_{profile["target"]}_{profile["subtarget"]}_{profile["profile"]}=y
+""" +"""
+ +
+ config_output += f"{profile.get('diffconfig', '')}" + config_output += f"{profile.get('diffconfig', '')}"
@ -201,6 +205,7 @@ index 0000000..d4c5e97
+ +
+ clean_tree() + clean_tree()
+ setup_feeds(profile) + setup_feeds(profile)
+ setup_all_feeds()
+ generate_config(profile) + generate_config(profile)
+ generate_files(profile) + generate_files(profile)
+ +
@ -208,9 +213,6 @@ index 0000000..d4c5e97
+ if run(["make", "defconfig"]).returncode: + if run(["make", "defconfig"]).returncode:
+ die(f"Error running make defconfig") + die(f"Error running make defconfig")
+ +
+ if call("grep 'CONFIG_TARGET_PROFILE' .config|grep %s" % (profile['profile']), shell=True) != 0:
+ die(f"Error: Cant not find the profile '%s'! Please check again!" % (profile['profile']))
+
+ for package in profile['packages']: + for package in profile['packages']:
+ if call("grep 'CONFIG_PACKAGE_%s=y' .config" % (package), shell=True) != 0: + if call("grep 'CONFIG_PACKAGE_%s=y' .config" % (package), shell=True) != 0:
+ die(f"Error: the package '%s' is not found or is not configured!" % (package)) + die(f"Error: the package '%s' is not found or is not configured!" % (package))

View File

@ -1,22 +1,22 @@
From 40d33c8799e3c4a01644fa5ffb2e6b2be99af68c Mon Sep 17 00:00:00 2001 From 7b4b29036bcf4bc2bd1226db687d9d6b70719e09 Mon Sep 17 00:00:00 2001
From: Yejiang Luo <luoyejiang@gl-inet.com> From: Yejiang Luo <luoyejiang@gl-inet.com>
Date: Sat, 22 May 2021 14:52:31 +0800 Date: Mon, 7 Jun 2021 12:24:58 +0800
Subject: [PATCH] pending: scripts: add gen_config.py Subject: [PATCH] scripts: add gen_config.py
This script is used to setup the tree based on the profiles/. This script is used to setup the tree based on the profiles/.
Signed-off-by: Yejiang Luo <luoyejiang@gl-inet.com> Signed-off-by: Yejiang Luo <luoyejiang@gl-inet.com>
--- ---
scripts/gen_config.py | 197 ++++++++++++++++++++++++++++++++++++++++++++++++++ scripts/gen_config.py | 199 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 197 insertions(+) 1 file changed, 199 insertions(+)
create mode 100755 scripts/gen_config.py create mode 100755 scripts/gen_config.py
diff --git a/scripts/gen_config.py b/scripts/gen_config.py diff --git a/scripts/gen_config.py b/scripts/gen_config.py
new file mode 100755 new file mode 100755
index 0000000..d4c5e97 index 0000000..00c4420
--- /dev/null --- /dev/null
+++ b/scripts/gen_config.py +++ b/scripts/gen_config.py
@@ -0,0 +1,197 @@ @@ -0,0 +1,199 @@
+#!/usr/bin/env python3 +#!/usr/bin/env python3
+ +
+from os import getenv +from os import getenv
@ -148,11 +148,15 @@ index 0000000..d4c5e97
+ if run(["./scripts/feeds", "install", profile["target"]]).returncode: + if run(["./scripts/feeds", "install", profile["target"]]).returncode:
+ die(f"Error installing external target {profile['target']}") + die(f"Error installing external target {profile['target']}")
+ +
+def setup_all_feeds():
+ print("Install all feeds...")
+ if run(["./scripts/feeds", "install", "-a", "-f"]).returncode:
+ die(f"Error installing")
+ +
+def generate_config(profile): +def generate_config(profile):
+ config_output = f"""CONFIG_TARGET_{profile["target"]}=y + config_output = f"""CONFIG_TARGET_{profile["target"]}=y
+CONFIG_TARGET_{profile["target"]}_{profile["subtarget"]}=y +CONFIG_TARGET_{profile["target"]}_{profile["subtarget"]}=y
+CONFIG_TARGET_{profile["target"]}_{profile["subtarget"]}_DEVICE_{profile["profile"]}=y +CONFIG_TARGET_{profile["target"]}_{profile["subtarget"]}_{profile["profile"]}=y
+""" +"""
+ +
+ config_output += f"{profile.get('diffconfig', '')}" + config_output += f"{profile.get('diffconfig', '')}"
@ -201,6 +205,7 @@ index 0000000..d4c5e97
+ +
+ clean_tree() + clean_tree()
+ setup_feeds(profile) + setup_feeds(profile)
+ setup_all_feeds()
+ generate_config(profile) + generate_config(profile)
+ generate_files(profile) + generate_files(profile)
+ +
@ -208,9 +213,6 @@ index 0000000..d4c5e97
+ if run(["make", "defconfig"]).returncode: + if run(["make", "defconfig"]).returncode:
+ die(f"Error running make defconfig") + die(f"Error running make defconfig")
+ +
+ if call("grep 'CONFIG_TARGET_PROFILE' .config|grep %s" % (profile['profile']), shell=True) != 0:
+ die(f"Error: Cant not find the profile '%s'! Please check again!" % (profile['profile']))
+
+ for package in profile['packages']: + for package in profile['packages']:
+ if call("grep 'CONFIG_PACKAGE_%s=y' .config" % (package), shell=True) != 0: + if call("grep 'CONFIG_PACKAGE_%s=y' .config" % (package), shell=True) != 0:
+ die(f"Error: the package '%s' is not found or is not configured!" % (package)) + die(f"Error: the package '%s' is not found or is not configured!" % (package))

View File

@ -0,0 +1,81 @@
---
profile: QSDK_Premium
target: ipq
subtarget: ipq40xx
description: Build image for the GL.iNET S1300
diffconfig: |
CONFIG_TARGET_BOARD="ipq"
CONFIG_DEVEL=y
CONFIG_TOOLCHAINOPTS=y
CONFIG_COLLECT_KERNEL_DEBUG=y
CONFIG_FEATURE_QCA_IOT=y
CONFIG_GCC_USE_VERSION_5=y
CONFIG_GCC_VERSION="5.2.0"
CONFIG_GCC_VERSION_5=y
CONFIG_GIT_MIRROR="git://codeaurora.org/quic/qsdk/"
CONFIG_KERNEL_CC_STACKPROTECTOR_REGULAR=y
CONFIG_KERNEL_DYNAMIC_DEBUG=y
CONFIG_KERNEL_NAMESPACES=y
CONFIG_KERNEL_USER_NS=y
CONFIG_LIBC="musl"
CONFIG_LIBC_USE_MUSL=y
CONFIG_LIBC_VERSION="1.1.16"
CONFIG_LOCALMIRROR="https://www.codeaurora.org/mirrored_source/quic/qsdk/"
CONFIG_MUSL_VERSION="1.1.16"
CONFIG_PACKAGE_charlietalk=n
CONFIG_PACKAGE_QCA_ATH_DEBUG=y
CONFIG_PKG_CC_STACKPROTECTOR_REGULAR=y
CONFIG_PKG_FORTIFY_SOURCE_2=y
CONFIG_PKG_RELRO_FULL=y
CONFIG_TARGET_INITRAMFS_COMPRESSION_LZMA=y
CONFIG_TARGET_ROOTFS_INITRAMFS=y
CONFIG_TARGET_SUFFIX="muslgnueabi"
CONFIG_USE_MUSL=y
CONFIG_TARGET_ROOTFS_UBIFS=y
CONFIG_WPA_MSG_MIN_PRIORITY=0
CONFIG_LXC_KERNEL_OPTIONS=y
CONFIG_LXC_BUSYBOX_OPTIONS=y
CONFIG_KERNEL_CPUSETS=y
CONFIG_KERNEL_CGROUP_CPUACCT=y
CONFIG_KERNEL_CGROUP_SCHED=y
CONFIG_KERNEL_CFS_BANDWIDTH=y
CONFIG_KERNEL_RESOURCE_COUNTERS=y
CONFIG_KERNEL_RT_GROUP_SCHED=y
CONFIG_KERNEL_FAIR_GROUP_SCHED=y
CONFIG_KERNEL_MEMCG=y
CONFIG_KERNEL_MEMCG_KMEM=y
CONFIG_BUSYBOX_CUSTOM=y
CONFIG_BUSYBOX_CONFIG_FDISK=y
CONFIG_BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE=y
CONFIG_BUSYBOX_CONFIG_FEATURE_GPT_LABEL=y
CONFIG_BUSYBOX_CONFIG_SYSLOGD=y
CONFIG_BUSYBOX_CONFIG_FEATURE_ROTATE_LOGFILE=y
CONFIG_BUSYBOX_CONFIG_FEATURE_REMOTE_LOG=y
CONFIG_BUSYBOX_CONFIG_FEATURE_SYSLOGD_DUP=y
CONFIG_BUSYBOX_CONFIG_FEATURE_SYSLOGD_CFG=y
CONFIG_BUSYBOX_CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256
CONFIG_BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG=y
CONFIG_BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=4
CONFIG_BUSYBOX_CONFIG_FEATURE_KMSG_SYSLOG=y
CONFIG_BUSYBOX_CONFIG_FEATURE_FLOAT_SLEEP=y
CONFIG_BUSYBOX_CONFIG_UNICODE_SUPPORT=y
CONFIG_BUSYBOX_CONFIG_UNICODE_COMBINING_WCHARS=y
CONFIG_BUSYBOX_CONFIG_UNICODE_WIDE_WCHARS=y
CONFIG_BUSYBOX_CONFIG_UNICODE_BIDI_SUPPORT=y
CONFIG_BUSYBOX_CONFIG_UNICODE_NEUTRAL_TABLE=y
CONFIG_BUSYBOX_CONFIG_UNICODE_PRESERVE_BROKEN=y
CONFIG_BUSYBOX_CONFIG_FEATURE_WGET_TIMEOUT=y
CONFIG_BUSYBOX_CONFIG_FUSER=y
CONFIG_BUSYBOX_CONFIG_IPCRM=y
CONFIG_BUSYBOX_CONFIG_IPCS=y
CONFIG_BUSYBOX_CONFIG_FEATURE_FLOAT_SLEEP=y
CONFIG_BUSYBOX_CONFIG_NC_SERVER=y
CONFIG_BUSYBOX_CONFIG_NC_EXTRA=y
CONFIG_BUSYBOX_CONFIG_NC_110_COMPAT=y
CONFIG_BUSYBOX_CONFIG_PSTREE=y
CONFIG_BUSYBOX_CONFIG_SHA512SUM=y
CONFIG_BUSYBOX_CONFIG_TIMEOUT=y
CONFIG_BUSYBOX_CONFIG_FEATURE_FTPD_WRITE=y
CONFIG_BUSYBOX_CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST=y
CONFIG_BUSYBOX_CONFIG_FEATURE_FTPD_AUTHENTICATION=y

View File

@ -1,52 +1,30 @@
--- ---
profile: glinet_gl-s1300 profile: QSDK_Premium
target: ipq806x target: ipq806x
subtarget: QSDK_Premium subtarget: QSDK_Premium
description: Build image for the GL.iNET S1300 description: Build image for the GL.iNET S1300
packages:
- kmod-qca-edma
- kmod-qca-hyfi-bridge
- kmod-qca-mcs
- kmod-qca-nss-drv
- kmod-qca-nss-ecm-premium
- kmod-qca-nss-gmac
- kmod-qca-rfs
- kmod-qca-ssdk-hnat
- kmod-qca-wifi-unified-profile
diffconfig: | diffconfig: |
CONFIG_TARGET_ipq806x=y
CONFIG_TARGET_ipq806x_QSDK_Premium=y
CONFIG_TARGET_BOARD="ipq806x" CONFIG_TARGET_BOARD="ipq806x"
CONFIG_COLLECT_KERNEL_DEBUG=y CONFIG_COLLECT_KERNEL_DEBUG=y
CONFIG_KERNEL_CC_STACKPROTECTOR_REGULAR=y CONFIG_KERNEL_CC_STACKPROTECTOR_REGULAR=y
# CONFIG_KERNEL_DEBUG_INFO_REDUCED is not set
CONFIG_KERNEL_DYNAMIC_DEBUG=y CONFIG_KERNEL_DYNAMIC_DEBUG=y
CONFIG_KERNEL_CGROUPS=y CONFIG_KERNEL_CGROUPS=y
# CONFIG_KERNEL_FREEZER is not set
# CONFIG_KERNEL_CGROUP_FREEZER is not set
# CONFIG_KERNEL_CGROUP_DEVICE is not set
CONFIG_KERNEL_RESOURCE_COUNTERS=y CONFIG_KERNEL_RESOURCE_COUNTERS=y
CONFIG_KERNEL_MM_OWNER=y CONFIG_KERNEL_MM_OWNER=y
CONFIG_KERNEL_MEMCG=y CONFIG_KERNEL_MEMCG=y
# CONFIG_KERNEL_BLK_CGROUP is not set
# CONFIG_KERNEL_NET_CLS_CGROUP is not set
# CONFIG_KERNEL_NETPRIO_CGROUP is not set
CONFIG_KERNEL_NAMESPACES=y CONFIG_KERNEL_NAMESPACES=y
# CONFIG_KERNEL_SWAP is not set
CONFIG_KERNEL_USER_NS=y CONFIG_KERNEL_USER_NS=y
CONFIG_DEVEL=y
CONFIG_GIT_MIRROR="git://codeaurora.org/quic/qsdk/" CONFIG_GIT_MIRROR="git://codeaurora.org/quic/qsdk/"
CONFIG_LOCALMIRROR="https://www.codeaurora.org/mirrored_source/quic/qsdk/" CONFIG_LOCALMIRROR="https://www.codeaurora.org/mirrored_source/quic/qsdk/"
CONFIG_PACKAGE_QCA_ATH_DEBUG=y CONFIG_PACKAGE_QCA_ATH_DEBUG=y
CONFIG_PKG_RELRO_FULL=y CONFIG_PKG_RELRO_FULL=y
CONFIG_TARGET_INITRAMFS_COMPRESSION_LZMA=y CONFIG_TARGET_INITRAMFS_COMPRESSION_LZMA=y
CONFIG_TARGET_ROOTFS_INITRAMFS=y CONFIG_TARGET_ROOTFS_INITRAMFS=y
# CONFIG_TARGET_ROOTFS_TARGZ is not set
CONFIG_TARGET_ROOTFS_UBIFS=y CONFIG_TARGET_ROOTFS_UBIFS=y
CONFIG_WPA_MSG_MIN_PRIORITY=0 CONFIG_WPA_MSG_MIN_PRIORITY=0
CONFIG_EXTERNAL_KERNEL_TREE="$(TOPDIR)/qca/src/linux-4.4" CONFIG_EXTERNAL_KERNEL_TREE="$(TOPDIR)/qca/src/linux-4.4"
CONFIG_BUSYBOX_CONFIG_FDISK=y CONFIG_BUSYBOX_CONFIG_FDISK=y
CONFIG_BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE=y CONFIG_BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE=y
CONFIG_BUSYBOX_CONFIG_FEATURE_GPT_LABEL=y CONFIG_BUSYBOX_CONFIG_FEATURE_GPT_LABEL=y
@ -58,11 +36,4 @@ diffconfig: |
CONFIG_BUSYBOX_CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 CONFIG_BUSYBOX_CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256
CONFIG_BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG=y CONFIG_BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG=y
CONFIG_BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=4 CONFIG_BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=4
# CONFIG_BUSYBOX_CONFIG_LOGREAD is not set
CONFIG_BUSYBOX_CONFIG_FEATURE_KMSG_SYSLOG=y CONFIG_BUSYBOX_CONFIG_FEATURE_KMSG_SYSLOG=y
CONFIG_PACKAGE_uboot-envtools=n
CONFIG_DEFAULT_uboot-envtools=n
CONFIG_DEFAULT_uboot-ipq40xx=n
CONFIG_DEFAULT_uboot-ipq806x-fwupgrade-tools=n
CONFIG_PACKAGE_uboot-ipq40xx=n
CONFIG_PACKAGE_uboot-ipq806x-fwupgrade-tools=n