mirror of
https://github.com/Dichgrem/GKI-build.git
synced 2025-12-16 13:42:00 -05:00
add:py&sh
This commit is contained in:
27
build.sh
Normal file
27
build.sh
Normal file
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
|
||||
starttime=$(date +'%Y-%m-%d %H:%M:%S')
|
||||
|
||||
export ARCH=arm64
|
||||
export SUBARCH=arm64
|
||||
export KCONFIG_CONFIG=$PWD/myconfig
|
||||
|
||||
# 生成默认 config
|
||||
make O=out KCONFIG_CONFIG=$KCONFIG_CONFIG olddefconfig
|
||||
|
||||
# 编译内核,禁用 frame-larger-than 的错误处理
|
||||
make -j$(nproc) O=out WERROR=0 \
|
||||
KCFLAGS="-Wno-error=frame-larger-than= -O3 -pipe" \
|
||||
KCPPFLAGS="-DCONFIG_CC_OPTIMIZE_FOR_PERFORMANCE" \
|
||||
HOSTCFLAGS="-O3 -pipe" \
|
||||
HOSTCXXFLAGS="-O3 -pipe" \
|
||||
NM=~/kernel/toolchains/clang-14/bin/llvm-nm \
|
||||
OBJCOPY=~/kernel/toolchains/clang-14/bin/llvm-objcopy \
|
||||
LD=~/kernel/toolchains/clang-14/bin/ld.lld \
|
||||
CROSS_COMPILE=~/kernel/toolchains/clang-14/bin/aarch64-linux-gnu- \
|
||||
CROSS_COMPILE_ARM32=~/kernel/toolchains/gcc-arm-4.9/bin/arm-linux-androideabi- \
|
||||
CC=~/kernel/toolchains/clang-14/bin/clang \
|
||||
AR=~/kernel/toolchains/clang-14/bin/llvm-ar \
|
||||
OBJDUMP=~/kernel/toolchains/clang-14/bin/llvm-objdump \
|
||||
STRIP=~/kernel/toolchains/clang-14/bin/llvm-strip \
|
||||
2>&1 | tee error.log
|
||||
77
check_packages.py
Normal file
77
check_packages.py
Normal file
@@ -0,0 +1,77 @@
|
||||
import subprocess
|
||||
|
||||
# 要检查和安装的软件包列表
|
||||
packages = [
|
||||
"bc",
|
||||
"bison",
|
||||
"build-essential",
|
||||
"cpio",
|
||||
"curl",
|
||||
"flex",
|
||||
"git",
|
||||
"libncurses-dev",
|
||||
"libssl-dev",
|
||||
"libelf-dev",
|
||||
"lzop",
|
||||
"python3",
|
||||
"unzip",
|
||||
"xz-utils",
|
||||
"zstd",
|
||||
"rsync",
|
||||
"ca-certificates",
|
||||
"wget",
|
||||
"pahole",
|
||||
"dwarves",
|
||||
"zip",
|
||||
]
|
||||
|
||||
|
||||
def is_installed(pkg_name):
|
||||
"""检查软件包是否已安装"""
|
||||
try:
|
||||
subprocess.run(
|
||||
["dpkg", "-s", pkg_name],
|
||||
check=True,
|
||||
stdout=subprocess.DEVNULL,
|
||||
stderr=subprocess.DEVNULL,
|
||||
)
|
||||
return True
|
||||
except subprocess.CalledProcessError:
|
||||
return False
|
||||
|
||||
|
||||
def main():
|
||||
print("检查并安装缺失的软件包...")
|
||||
missing_packages = []
|
||||
|
||||
for pkg in packages:
|
||||
if is_installed(pkg):
|
||||
print(f"✅ 已安装:{pkg}")
|
||||
else:
|
||||
print(f"❌ 未安装:{pkg}")
|
||||
missing_packages.append(pkg)
|
||||
|
||||
if missing_packages:
|
||||
print("\n🔄 正在执行 apt-get update ...")
|
||||
try:
|
||||
subprocess.run(["sudo", "apt-get", "update"], check=True)
|
||||
except subprocess.CalledProcessError:
|
||||
print("❌ apt-get update 失败,请检查网络连接或源设置。")
|
||||
return
|
||||
|
||||
print("\n⬇️ 开始安装以下缺失的软件包:")
|
||||
print(" ".join(missing_packages))
|
||||
try:
|
||||
subprocess.run(
|
||||
["sudo", "apt-get", "install", "-y"] + missing_packages, check=True
|
||||
)
|
||||
except subprocess.CalledProcessError:
|
||||
print("❌ 安装部分软件包失败,请手动检查。")
|
||||
else:
|
||||
print("\n✅ 所有软件包已安装,无需操作。")
|
||||
|
||||
print("✅ 所有软件包检查完毕。")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user