替换项目演示视频
面向 openKylin 桌面操作系统的启动性能分析、安全优化、回滚与自动验证工具链。
BootOpt-Agent 将“测量、分析、推荐、模拟、优化、回滚、验证、报告”组织成可解释、可复现的闭环。项目以 graphical.target 到达时间作为主要用户感知指标,同时保留 kernel、userspace 和 total 数据辅助归因;所有优化均支持执行前模拟、状态备份和执行后功能回归。
graphical.target
kernel
userspace
total
当前版本已完成 openKylin 2.0 SP2 正式 15+15 次冷启动实验、四阶段消融、两种资源配置验证,以及 Ubuntu Desktop 24.04.4 LTS 的 3+3 次跨发行版实验。
systemd-analyze blame
critical-chain
keep
simulate
dry-run
bootopt doctor
bootopt status
bootopt collect [LABEL]
bootopt top 15
bootopt chain
bootopt report
bootopt graph
bootopt report-html
bootopt recommend
bootopt explain <UNIT>
bootopt simulate [PROFILE]
bootopt optimize [PROFILE]
bootopt rollback
bootopt validate
bootopt agent
bootopt stats
bootopt ablation-report
bootopt summary
systemd-analyze
systemctl
journalctl
VBoxManage
cd openkylin-bootopt chmod +x bin/bootopt scripts/*.sh ./scripts/install_bootopt_user.sh export PATH="$HOME/.local/bin:$PATH"
检查安装结果:
bootopt doctor bootopt status
卸载用户级命令:
./scripts/uninstall_bootopt_user.sh
以下命令不会直接修改系统:
bootopt doctor bootopt status bootopt top 15 bootopt chain bootopt report bootopt recommend bootopt simulate conservative bootopt agent bootopt report-html bootopt summary
HTML 报告生成位置:
results/report/boot_report.html
每次完整冷启动后执行一次:
bootopt collect before
正式实验建议从同一虚拟机快照恢复,固定 CPU、内存和等待时间,正常关机后重复采集。
bootopt report bootopt graph bootopt recommend bootopt explain NetworkManager-wait-online.service bootopt simulate conservative
bootopt optimize conservative
该操作需要 sudo。执行前会记录目标服务的 enabled/active 状态并生成回滚文件。
sudo
enabled/active
bootopt collect after
bootopt stats bootopt validate --competition bootopt agent bootopt report-html bootopt summary
实时桌面功能验证应在已经登录的图形会话中执行,确保 DISPLAY、Wayland/X11 和 D-Bus 会话可用。
DISPLAY
openKylin 的 conservative 配置包含以下可逆操作:
conservative
NetworkManager-wait-online.service
network-online
biometric-authentication.service
avahi-daemon.service
avahi-daemon.socket
Ubuntu 配置另外包含 ModemManager.service,仅适用于确认不存在蜂窝调制解调器的虚拟机环境。
ModemManager.service
NetworkManager、显示管理器、D-Bus、账户、存储及桌面核心服务不会被保守配置禁用。实际设备使用前必须先运行 bootopt simulate 并确认硬件需求。
NetworkManager
bootopt simulate
统计解释:
supported
Ubuntu 实验已真实运行 collect、report-html、recommend、simulate 和 validate,用于证明工具链的跨发行版可迁移性。由于样本量仅为 3+3,该结果不作为普遍性能结论。
collect
report-html
recommend
validate
四阶段消融包含 baseline、wait-online、wait+biometric 和完整保守配置。详细结果见:
baseline
wait-online
wait+biometric
results/ablation_analysis.md
results/statistical_analysis.md
results/environment_matrix.md
kylin-core-dump-monitor.service
运行项目回归测试:
python3 -m unittest discover -s tests -v
BootOpt-Agent 的 Agent 是本地规则和证据驱动的自动诊断模块,不依赖在线大模型。它读取:
results/report/boot_graph.json
results/recommendations.json
results/validation.json
results/statistical_analysis.json
并生成:
openkylin-bootopt/ ├── bin/ # 统一命令入口 bootopt ├── docs/ # 方法、架构、兼容性和复现文档 ├── materials/ # 项目说明书、海报、演示脚本和截图 │ ├── figures/ # 技术路线图与系统架构图 │ └── screenshots/ # 功能运行截图 ├── profiles/ # openKylin、Ubuntu 和消融配置 ├── results/ # 原始证据、统计、验证和可视化成果 ├── rules/ # 服务规则库 ├── scripts/ # 采集、分析、优化、回滚与报告脚本 └── tests/ # Python 回归测试
materials/操作系统开源创新大赛项目说明书_BootOpt-Agent.docx
results/submission_summary.md
results/live_desktop_smoke_validation.md
results/recommendations.md
results/agent_analysis.md
results/bootopt_agent_poster.pdf
bash scripts/reproduce_clean_env.sh
该脚本会重新安装用户级 CLI,并基于已有证据重新生成对比报告、HTML 报告、推荐、Agent 分析、模拟结果、验证报告和提交摘要。日志保存至:
results/reproduce/clean_env_reproduce.log
investigate
experimental
docs/experiment_methodology.md
docs/competition_evidence_upgrade.md
docs/system_architecture.md
docs/compatibility_and_generalization.md
docs/reproducibility_clean_env.md
docs/risk_matrix.md
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
BootOpt-Agent
面向 openKylin 桌面操作系统的启动性能分析、安全优化、回滚与自动验证工具链。
BootOpt-Agent 将“测量、分析、推荐、模拟、优化、回滚、验证、报告”组织成可解释、可复现的闭环。项目以
graphical.target到达时间作为主要用户感知指标,同时保留kernel、userspace和total数据辅助归因;所有优化均支持执行前模拟、状态备份和执行后功能回归。项目亮点
systemd-analyze blame、critical-chain、失败单元、日志和环境指纹。keep类;候选操作必须先simulate或dry-run,并保存回滚状态。技术路线
系统架构
核心功能
bootopt doctorbootopt statusbootopt collect [LABEL]bootopt top 15、bootopt chaingraphical.target关键链bootopt reportbootopt graph、bootopt report-htmlbootopt recommend、bootopt explain <UNIT>bootopt simulate [PROFILE]bootopt optimize [PROFILE]bootopt rollbackbootopt validatebootopt agentbootopt statsbootopt ablation-reportbootopt summary支持环境
主要验证环境
跨发行版验证环境
基础依赖
systemd-analyze、systemctl、journalctlVBoxManage,用于宿主机自动冷启动实验安装
检查安装结果:
卸载用户级命令:
快速演示
以下命令不会直接修改系统:
HTML 报告生成位置:
标准优化流程
1. 采集优化前证据
每次完整冷启动后执行一次:
正式实验建议从同一虚拟机快照恢复,固定 CPU、内存和等待时间,正常关机后重复采集。
2. 分析并模拟
3. 应用保守优化
该操作需要
sudo。执行前会记录目标服务的enabled/active状态并生成回滚文件。4. 重启并采集优化后证据
5. 自动验证与生成报告
实时桌面功能验证应在已经登录的图形会话中执行,确保
DISPLAY、Wayland/X11 和 D-Bus 会话可用。6. 必要时回滚
保守优化配置
openKylin 的
conservative配置包含以下可逆操作:NetworkManager-wait-online.servicenetwork-online,但保留 NetworkManagerbiometric-authentication.serviceavahi-daemon.serviceavahi-daemon.socketUbuntu 配置另外包含
ModemManager.service,仅适用于确认不存在蜂窝调制解调器的虚拟机环境。正式实验结果
openKylin 2.0 SP2,4C/8G,15+15 次
统计解释:
supported。Ubuntu 24.04.4 LTS,2C/4G,3+3 次
Ubuntu 实验已真实运行
collect、report-html、recommend、simulate和validate,用于证明工具链的跨发行版可迁移性。由于样本量仅为 3+3,该结果不作为普遍性能结论。消融与环境验证
四阶段消融包含
baseline、wait-online、wait+biometric和完整保守配置。详细结果见:results/ablation_analysis.mdresults/statistical_analysis.mdresults/environment_matrix.md自动验证结果
kylin-core-dump-monitor.service,没有新增失败单元。运行项目回归测试:
Agent 工作方式
BootOpt-Agent 的 Agent 是本地规则和证据驱动的自动诊断模块,不依赖在线大模型。它读取:
results/report/boot_graph.jsonresults/recommendations.jsonresults/validation.jsonresults/statistical_analysis.json并生成:
项目目录
关键成果文件
materials/操作系统开源创新大赛项目说明书_BootOpt-Agent.docxresults/report/boot_report.htmlresults/submission_summary.mdresults/statistical_analysis.mdresults/ablation_analysis.mdresults/live_desktop_smoke_validation.mdresults/recommendations.mdresults/agent_analysis.mdresults/bootopt_agent_poster.pdf一键复现已有成果
该脚本会重新安装用户级 CLI,并基于已有证据重新生成对比报告、HTML 报告、推荐、Agent 分析、模拟结果、验证报告和提交摘要。日志保存至:
实验边界
investigate或experimental类等待人工确认。进一步阅读
docs/experiment_methodology.md:实验方法和统计口径docs/competition_evidence_upgrade.md:正式证据升级过程docs/system_architecture.md:系统架构说明docs/compatibility_and_generalization.md:跨发行版适配docs/reproducibility_clean_env.md:干净环境复现docs/risk_matrix.md:服务风险矩阵