add:py&sh

This commit is contained in:
Dich
2025-06-29 19:35:38 +08:00
parent 261e7d1806
commit 86e7811d5a
2 changed files with 104 additions and 0 deletions

27
build.sh Normal file
View 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
View 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()