Skip to content

Commit c9776ed

Browse files
authored
Add DroidSpaces support and fix related issues
Merge pull request #5 from sanba0519/feature/ds
2 parents 3e4f286 + cb08e09 commit c9776ed

2 files changed

Lines changed: 275 additions & 4 deletions

File tree

.github/workflows/buildOppoK7x.yml

Lines changed: 40 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,11 @@ on:
99
description: "是否启用 BBR 加速(不了解请不要启用)"
1010
required: false
1111
default: false
12+
DroidSpace:
13+
type: boolean
14+
description: "是否启用 DroidSpace(不了解请不要启用)"
15+
required: false
16+
default: false
1217

1318

1419
jobs:
@@ -83,6 +88,20 @@ jobs:
8388
export ARCH=arm64
8489
export SUBARCH=arm64
8590
91+
if [ "${{ github.event.inputs.DroidSpace }}" = "true" ]; then
92+
echo "启用 DroidSpace..."
93+
make -s -j$(nproc --all) O=out ARCH=arm64 mt6853-ss_defconfig
94+
95+
./scripts/config --file out/.config \
96+
--enable NAMESPACES \
97+
--enable USER_NS \
98+
--enable DEVTMPFS \
99+
--enable DEVTMPFS_MOUNT
100+
make O=out olddefconfig
101+
else
102+
echo "不启用 DroidSpace..."
103+
fi
104+
86105
# 添加BBR
87106
if [ "${{ github.event.inputs.BBR }}" = "true" ]; then
88107
echo "启用 BBR..."
@@ -94,19 +113,37 @@ jobs:
94113
echo "不启用 BBR..."
95114
fi
96115
116+
make O=out olddefconfig
97117
cd $GITHUB_WORKSPACE/kernel_workspace/android-kernel
98118
export PATH=$GITHUB_WORKSPACE/kernel_workspace/clang-aosp/bin:$GITHUB_WORKSPACE/kernel_workspace/gcc64/bin:$GITHUB_WORKSPACE/kernel_workspace/gcc32/bin:$PATH
99119
export KBUILD_BUILD_HOST=coolapk@sanba
100120
export KBUILD_BUILD_USER=GitHub@sanba0519
101121
make -s -j$(nproc --all) O=out ARCH=arm64 mt6853-ss_defconfig
102-
make -j$(nproc --all) CC="ccache clang" O=out ARCH=arm64 CLANG_TRIPLE=aarch64-linux-gnu- CROSS_COMPILE=aarch64-linux-android- CROSS_COMPILE_ARM32=arm-linux-androideabi- LD=ld.lld
122+
make -s -j"$(nproc)" O=out ARCH=arm64 mt6853-ss_defconfig
123+
124+
./scripts/config --file out/.config \
125+
--enable CONFIG_NAMESPACES \
126+
--enable CONFIG_DEVTMPFS \
127+
--disable CONFIG_USER_NS \
128+
--enable CONFIG_DEVTMPFS_MOUNT
129+
130+
make O=out ARCH=arm64 olddefconfig
131+
132+
make -j"$(nproc)" \
133+
O=out \
134+
ARCH=arm64 \
135+
CC="ccache clang" \
136+
CLANG_TRIPLE=aarch64-linux-gnu- \
137+
CROSS_COMPILE=aarch64-linux-android- \
138+
CROSS_COMPILE_ARM32=arm-linux-androideabi- \
139+
LD=ld.lld
103140
104141
- name: 制作Anykernel3卡刷包
105142
run: |
106143
cd $GITHUB_WORKSPACE/kernel_workspace
107144
git clone https://github.com/sanba0519/AnyKernel3
108145
sed -i 's/do.devicecheck=1/do.devicecheck=0/g' AnyKernel3/anykernel.sh
109-
sed -i 's!block=/dev/block/platform/omap/omap_hsmmc.0/by-name/boot;!block=auto;!g' AnyKernel3/anykernel.sh
146+
sed -i 's!block=/dev/block/by-name/boot;!block=auto;!g' AnyKernel3/anykernel.sh
110147
sed -i 's/is_slot_device=0;/is_slot_device=auto;/g' AnyKernel3/anykernel.sh
111148
cp android-kernel/out/arch/arm64/boot/Image.gz-dtb AnyKernel3/
112149
rm -rf AnyKernel3/.git* AnyKernel3/README.md
@@ -117,4 +154,4 @@ jobs:
117154
uses: actions/upload-artifact@v4
118155
with:
119156
name: MT6853-RKSU-AnyKernel3
120-
path: kernel_workspace/AnyKernel3/*
157+
path: kernel_workspace/AnyKernel3/*

arch/arm64/configs/mt6853-ss_defconfig

Lines changed: 235 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ CONFIG_CHECKPOINT_RESTORE=y
181181
CONFIG_NAMESPACES=y
182182
CONFIG_UTS_NS=y
183183
CONFIG_IPC_NS=y
184-
CONFIG_USER_NS=y
184+
CONFIG_USER_NS=n
185185
CONFIG_PID_NS=y
186186
CONFIG_NET_NS=y
187187
CONFIG_SCHED_AUTOGROUP=y
@@ -7037,3 +7037,237 @@ CONFIG_SBITMAP=y
70377037

70387038
CONFIG_KSU_MANUAL_HOOK=y
70397039
CONFIG_KSU_MANUAL_HOOK=y
7040+
7041+
7042+
#弥补内核部分设置缺失
7043+
CONFIG_NAMESPACES=y
7044+
CONFIG_USER_NS=n
7045+
CONFIG_DEVTMPFS=y
7046+
CONFIG_DEVTMPFS_MOUNT=y
7047+
7048+
7049+
#防火墙支持
7050+
# UFW & FAIL2BAN 核心
7051+
CONFIG_NETFILTER_XT_MATCH_COMMENT=y
7052+
CONFIG_NETFILTER_XT_MATCH_STATE=y
7053+
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
7054+
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y
7055+
CONFIG_NETFILTER_XT_MATCH_HL=y
7056+
CONFIG_NETFILTER_XT_TARGET_REJECT=y
7057+
CONFIG_IP_NF_TARGET_REJECT=y
7058+
CONFIG_NETFILTER_XT_TARGET_LOG=y
7059+
CONFIG_IP_NF_TARGET_ULOG=y
7060+
CONFIG_NETFILTER_XT_MATCH_RECENT=y
7061+
CONFIG_NETFILTER_XT_MATCH_LIMIT=y
7062+
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y
7063+
CONFIG_NETFILTER_XT_MATCH_OWNER=y
7064+
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
7065+
CONFIG_NETFILTER_XT_MATCH_MARK=y
7066+
CONFIG_NETFILTER_XT_TARGET_MARK=y
7067+
CONFIG_IP_SET=y
7068+
CONFIG_IP_SET_HASH_IP=y
7069+
CONFIG_IP_SET_HASH_NET=y
7070+
CONFIG_NETFILTER_XT_SET=y
7071+
CONFIG_NETFILTER_NETLINK_QUEUE=y
7072+
CONFIG_NETFILTER_NETLINK_LOG=y
7073+
CONFIG_NETFILTER_XT_TARGET_NFLOG=y
7074+
7075+
#覆盖可能出错的前置配置
7076+
# 完全支持Droidspaces的内核配置
7077+
# Copyright (C) 2026 ravindu644 <droidcasts@protonmail.com>
7078+
7079+
# IPC 机制
7080+
CONFIG_SYSCTL=y
7081+
CONFIG_SYSVIPC=y
7082+
CONFIG_POSIX_MQUEUE=y
7083+
7084+
# 核心命名空间支持
7085+
CONFIG_NAMESPACES=y
7086+
CONFIG_PID_NS=y
7087+
CONFIG_UTS_NS=y
7088+
CONFIG_IPC_NS=y
7089+
7090+
# Seccomp 支持
7091+
CONFIG_SECCOMP=y
7092+
CONFIG_SECCOMP_FILTER=y
7093+
7094+
# 控制组支持
7095+
CONFIG_CGROUPS=y
7096+
CONFIG_CGROUP_DEVICE=y
7097+
CONFIG_CGROUP_PIDS=y
7098+
CONFIG_MEMCG=y
7099+
CONFIG_CGROUP_SCHED=y
7100+
CONFIG_FAIR_GROUP_SCHED=y
7101+
CONFIG_CGROUP_FREEZER=y
7102+
CONFIG_CGROUP_NET_PRIO=y
7103+
7104+
# 设备文件系统支持
7105+
CONFIG_DEVTMPFS=y
7106+
7107+
# Overlay 文件系统支持(易失模式必需)
7108+
CONFIG_OVERLAY_FS=y
7109+
7110+
# 启用 tmpfs 上的 xattr、posix acl 支持
7111+
# 用于 NixOS 支持
7112+
CONFIG_TMPFS_POSIX_ACL=y
7113+
CONFIG_TMPFS_XATTR=y
7114+
7115+
# 固件加载支持
7116+
CONFIG_FW_LOADER=y
7117+
CONFIG_FW_LOADER_USER_HELPER=y
7118+
CONFIG_FW_LOADER_COMPRESS=y
7119+
7120+
# Droidspaces 网络隔离支持 - NAT/None 模式
7121+
CONFIG_NET_NS=y
7122+
CONFIG_VETH=y
7123+
CONFIG_BRIDGE=y
7124+
CONFIG_NETFILTER=y
7125+
CONFIG_BRIDGE_NETFILTER=y
7126+
CONFIG_NETFILTER_ADVANCED=y
7127+
CONFIG_NF_CONNTRACK=y
7128+
CONFIG_IP_NF_IPTABLES=y
7129+
CONFIG_IP_NF_FILTER=y
7130+
CONFIG_NF_NAT=y
7131+
CONFIG_NF_TABLES=y
7132+
CONFIG_IP_NF_TARGET_MASQUERADE=y
7133+
CONFIG_NETFILTER_XT_TARGET_MASQUERADE=y
7134+
CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
7135+
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y
7136+
CONFIG_NF_CONNTRACK_NETLINK=y
7137+
CONFIG_NF_NAT_REDIRECT=y
7138+
CONFIG_IP_ADVANCED_ROUTER=y
7139+
CONFIG_IP_MULTIPLE_TABLES=y
7140+
7141+
# 旧版兼容
7142+
CONFIG_NF_CONNTRACK_IPV4=y
7143+
CONFIG_NF_NAT_IPV4=y
7144+
CONFIG_IP_NF_NAT=y
7145+
7146+
# 在旧内核上禁用此选项以使互联网正常工作
7147+
CONFIG_ANDROID_PARANOID_NETWORK=n
7148+
7149+
7150+
#再次确认覆盖配置,
7151+
CONFIG_NAMESPACES=y
7152+
CONFIG_MULTIUSER=y
7153+
CONFIG_UTS_NS=y
7154+
CONFIG_IPC_NS=y
7155+
CONFIG_PID_NS=y
7156+
CONFIG_NET_NS=y
7157+
7158+
7159+
#弥补内核部分设置缺失
7160+
CONFIG_NAMESPACES=y
7161+
CONFIG_USER_NS=n
7162+
CONFIG_DEVTMPFS=y
7163+
CONFIG_DEVTMPFS_MOUNT=y
7164+
7165+
7166+
#防火墙支持
7167+
# UFW & FAIL2BAN 核心
7168+
CONFIG_NETFILTER_XT_MATCH_COMMENT=y
7169+
CONFIG_NETFILTER_XT_MATCH_STATE=y
7170+
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
7171+
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y
7172+
CONFIG_NETFILTER_XT_MATCH_HL=y
7173+
CONFIG_NETFILTER_XT_TARGET_REJECT=y
7174+
CONFIG_IP_NF_TARGET_REJECT=y
7175+
CONFIG_NETFILTER_XT_TARGET_LOG=y
7176+
CONFIG_IP_NF_TARGET_ULOG=y
7177+
CONFIG_NETFILTER_XT_MATCH_RECENT=y
7178+
CONFIG_NETFILTER_XT_MATCH_LIMIT=y
7179+
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y
7180+
CONFIG_NETFILTER_XT_MATCH_OWNER=y
7181+
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
7182+
CONFIG_NETFILTER_XT_MATCH_MARK=y
7183+
CONFIG_NETFILTER_XT_TARGET_MARK=y
7184+
CONFIG_IP_SET=y
7185+
CONFIG_IP_SET_HASH_IP=y
7186+
CONFIG_IP_SET_HASH_NET=y
7187+
CONFIG_NETFILTER_XT_SET=y
7188+
CONFIG_NETFILTER_NETLINK_QUEUE=y
7189+
CONFIG_NETFILTER_NETLINK_LOG=y
7190+
CONFIG_NETFILTER_XT_TARGET_NFLOG=y
7191+
7192+
#覆盖可能出错的前置配置
7193+
# 完全支持Droidspaces的内核配置
7194+
# Copyright (C) 2026 ravindu644 <droidcasts@protonmail.com>
7195+
7196+
# IPC 机制
7197+
CONFIG_SYSCTL=y
7198+
CONFIG_SYSVIPC=y
7199+
CONFIG_POSIX_MQUEUE=y
7200+
7201+
# 核心命名空间支持
7202+
CONFIG_NAMESPACES=y
7203+
CONFIG_PID_NS=y
7204+
CONFIG_UTS_NS=y
7205+
CONFIG_IPC_NS=y
7206+
7207+
# Seccomp 支持
7208+
CONFIG_SECCOMP=y
7209+
CONFIG_SECCOMP_FILTER=y
7210+
7211+
# 控制组支持
7212+
CONFIG_CGROUPS=y
7213+
CONFIG_CGROUP_DEVICE=y
7214+
CONFIG_CGROUP_PIDS=y
7215+
CONFIG_MEMCG=y
7216+
CONFIG_CGROUP_SCHED=y
7217+
CONFIG_FAIR_GROUP_SCHED=y
7218+
CONFIG_CGROUP_FREEZER=y
7219+
CONFIG_CGROUP_NET_PRIO=y
7220+
7221+
# 设备文件系统支持
7222+
CONFIG_DEVTMPFS=y
7223+
7224+
# Overlay 文件系统支持(易失模式必需)
7225+
CONFIG_OVERLAY_FS=y
7226+
7227+
# 启用 tmpfs 上的 xattr、posix acl 支持
7228+
# 用于 NixOS 支持
7229+
CONFIG_TMPFS_POSIX_ACL=y
7230+
CONFIG_TMPFS_XATTR=y
7231+
7232+
# 固件加载支持
7233+
CONFIG_FW_LOADER=y
7234+
CONFIG_FW_LOADER_USER_HELPER=y
7235+
CONFIG_FW_LOADER_COMPRESS=y
7236+
7237+
# Droidspaces 网络隔离支持 - NAT/None 模式
7238+
CONFIG_NET_NS=y
7239+
CONFIG_VETH=y
7240+
CONFIG_BRIDGE=y
7241+
CONFIG_NETFILTER=y
7242+
CONFIG_BRIDGE_NETFILTER=y
7243+
CONFIG_NETFILTER_ADVANCED=y
7244+
CONFIG_NF_CONNTRACK=y
7245+
CONFIG_IP_NF_IPTABLES=y
7246+
CONFIG_IP_NF_FILTER=y
7247+
CONFIG_NF_NAT=y
7248+
CONFIG_NF_TABLES=y
7249+
CONFIG_IP_NF_TARGET_MASQUERADE=y
7250+
CONFIG_NETFILTER_XT_TARGET_MASQUERADE=y
7251+
CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
7252+
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y
7253+
CONFIG_NF_CONNTRACK_NETLINK=y
7254+
CONFIG_NF_NAT_REDIRECT=y
7255+
CONFIG_IP_ADVANCED_ROUTER=y
7256+
CONFIG_IP_MULTIPLE_TABLES=y
7257+
7258+
# 旧版兼容
7259+
CONFIG_NF_CONNTRACK_IPV4=y
7260+
CONFIG_NF_NAT_IPV4=y
7261+
CONFIG_IP_NF_NAT=y
7262+
7263+
# 在旧内核上禁用此选项以使互联网正常工作
7264+
CONFIG_ANDROID_PARANOID_NETWORK=n
7265+
7266+
7267+
#再次确认覆盖配置
7268+
CONFIG_NAMESPACES=y
7269+
CONFIG_MULTIUSER=y
7270+
CONFIG_UTS_NS=y
7271+
CONFIG_IPC_NS=y
7272+
CONFIG_PID_NS=y
7273+
CONFIG_NET_NS=y

0 commit comments

Comments
 (0)