惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
Y
Y Combinator Blog
Engineering at Meta
Engineering at Meta
D
Docker
GbyAI
GbyAI
aimingoo的专栏
aimingoo的专栏
大猫的无限游戏
大猫的无限游戏
腾讯CDC
P
Proofpoint News Feed
A
About on SuperTechFans
WordPress大学
WordPress大学
Stack Overflow Blog
Stack Overflow Blog
Google DeepMind News
Google DeepMind News
C
Check Point Blog
Microsoft Security Blog
Microsoft Security Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
L
LangChain Blog
MyScale Blog
MyScale Blog
博客园 - 三生石上(FineUI控件)
Hugging Face - Blog
Hugging Face - Blog
Microsoft Azure Blog
Microsoft Azure Blog
N
Netflix TechBlog - Medium
G
Google Developers Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻

博客园 - z5337

【转】禁用 Chrome 浏览器的自动更新 【转】Avalonia 12 最小信创项目模板 【转】Avalonia 周边介绍 【转】国产操作系统对 Avalonia 的支持情况 【转】国产操作系统优化篇 [openKylin] 第一步 - Qt + VMware 【转】p2055dn 打印机配置 IP 地址 【转】Windows 锁屏后屏幕不熄灭排查 【转】既然 java 8 因为组件容易被攻击,.net core 也有大量第三方组件,是不是也容易出问题 【转】最小 web api 学习 【转】使用记事本区分图片格式 【转】蓝牙耳机的播放控制 【转】JoyToKey 键位映射 【转】[C#] 要从接口取时间,单个订单查询和批量查询,写一个接口还是两个接口合适? 【转】[C#] Web API 中的常见层次 【转】[C#] .net core 项目的目标框架设置 【转】[C#] 项目里的配置文件与选项对比 【转】[C#] GlobalUsing 的使用 【转】[.net core] 项目的 Windows 服务器部署 【转】《三字经》全文 【转】[IDEA] 调试时怎么判断使用哪个配置文件 【转】PO、DO、VO、BO、DTO、DAO、POJO 的区别 【转】[web]怎么移除网页最上层的水印 【转】[C#] 30+个.NET开发最佳实践 【转】[C#] WPF 保留选中的高亮色 【转】Windows Server 系统的桌面上显示 此电脑 图标 【转】[C#] 参数前加 in 的作用 【转】[C#] Enum 的 Flags 特性 【转】[C#] Tuples 元组介绍 【转】[C#] Record 的使用 【转】[C#] 预处理指令
【转】国产操作系统优化篇 [openKylin] 入门知识点
z5337 · 2026-09-04 · via 博客园 - z5337

转自:豆包AI

基于 openKylin / Deepin 社区版 + AI 辅助自研桌面 OS ≠ 从零写 Linux 内核,而是:在成熟开源根发行版上做二次定制(定制桌面、预装软件、系统配置、镜像裁剪、驱动适配),这是绝大多数国内 OS 厂商的路线,难度可控;

如果是从零开发完整 OS(自己写内核、bootloader、图形栈),难度是工业级,个人 / 小团队几乎不现实。

现有普通 PC 主机大概率能做编译开发,但要看配置;下面拆分【必备知识栈】、【硬件需求】、【现有 PC 能不能用】、【AI 能帮到哪、帮不到哪】

一、需要掌握的开发知识(按优先级,二次定制路线)

路线:基于 openKylin / Deepin 社区版做衍生 OS(推荐这条)

1. Linux 系统基础(必学)

  • Linux 启动流程:BIOS/UEFI → GRUB → initramfs → systemd
  • 文件系统:ext4、squashfs(制作镜像核心)
  • Shell:bash,写构建脚本、自动化打包
  • 用户态权限、cgroup、namespace、系统服务管理(systemd unit)
  • 包管理:deb 包原理,control 文件、pre/postinst 脚本;apt 仓库构建

2. C / C++ + Qt(桌面核心,UKUI/DDE 都是 Qt)

  • Qt 框架:信号槽、QWidget/QML,UKUI、DDE 桌面环境都是 Qt 写的
  • C 语言:内核模块、驱动、底层工具开发
  • C++:桌面组件(文件管理器、控制面板、任务栏)修改

3. 编译构建系统(重中之重,做镜像离不开)

  • Debian 系构建体系:pbuilder、sbuild、debootstrap(构建最小 rootfs)
  • ISO 制作:xorriso、live-build(openKylin 就是用类似工具打包 Live ISO)
  • 交叉编译:如果你要同时支持 x86 + ARM(飞腾 / 鲲鹏),必须会交叉编译

4. 内核相关(按需,不是必学)

如果只改桌面、裁剪应用:不用深度内核开发 需要内核知识场景:

  • 裁剪内核配置(defconfig),关闭不用驱动 / 模块
  • 新增简单内核模块、eBPF、硬件驱动适配

完全自研内核才需要懂中断、调度、内存管理,这个门槛极高

5. 图形栈知识(桌面 OS 特色)

  • X11 / Wayland(UKUI/DDE 都在迁移 Wayland)
  • Mesa、DRI、显卡驱动、窗口管理器、 compositor(合成器)
  • 输入法框架 fcitx5、字体、HiDPI 高分屏适配

6. 调试 & 测试

gdb、strace、perf;日志排查;虚拟机测试(QEMU/KVM)

7. 可选:打包、软件分发、硬件适配

  • 驱动适配:声卡、网卡、显卡、打印机、外设
  • 安全加固:权限、文件完整性、国密(商用才需要)

8. 版本管理

Git,Gitee/GitHub 仓库维护,patch 管理

AI(豆包等)作用:写 Qt 代码、写构建脚本、解读源码、排编译报错、写文档;但 AI 不能帮你理解整体架构、解决硬件驱动底层 bug、解决复杂依赖冲突,需要你自己判断

二、硬件需求(分两类:开发编译机 + 测试机)

✅ 编译主机(做源码编译、构建 ISO,最重要)

最低配置(勉强可用,编译很慢)

  • CPU:4 核 8 线程
  • 内存:≥16GB(底线!编译桌面 + 内核非常吃内存)
  • 硬盘:NVMe SSD,空闲 ≥100GB;编译产生大量临时文件,机械盘会极其慢 推荐配置(舒服开发)
  • CPU:8 核 16 线程以上(i7/R7 及以上)
  • 内存:32GB 优先;编译完整 rootfs、全量内核,32G 体验差距巨大
  • 硬盘:NVMe 500G+,单独分区放编译环境

✅ 测试机(跑你自制 OS 镜像)

可以是另一台 PC,或者直接在编译机上用 KVM/QEMU 虚拟机测试

  • x86_64 普通 PC 就行;
  • 如果要适配国产 ARM 芯片(鲲鹏 / 飞腾):需要 ARM 开发板或 ARM 整机(单独买)

三、你的现有电脑主机能不能满足?

直接判断规则:

  1. 内存 <16GB:不推荐,编译大项目容易 OOM 崩溃,频繁 swap,慢到无法忍受
  2. 内存 ≥16GB,NVMe SSD:可以做,只是全量编译会比较耗时;
  3. 内存≥32GB,8 核以上 CPU + NVMe:完全够用,小团队开发非常合适。

实操技巧: 编译环境推荐:在你的 PC 虚拟机里安装 openKylin,作为编译宿主环境;不要 Windows 原生编译 Linux 组件。

四、两种路线工作量对比(方便评估)

路线 A:基于 openKylin 做衍生桌面 OS(推荐,AI 辅助可行)

目标:改桌面 logo、预装自研软件、裁剪无用组件、定制系统主题、做专属 ISO

  • 工作量:中小级别,1~3 人团队可落地
  • 知识重点:Qt、live-build、deb 打包、脚本
  • AI 增益:⭐⭐⭐⭐⭐(大量代码、脚本、源码阅读都能交给 AI)

路线 B:从零开发 OS(手写内核 + 图形栈)

  • 工作量:几十人团队,数年;个人基本不现实
  • AI 增益:⭐⭐(只能辅助写片段代码,大量底层体系架构需要自己搞定)

五、AI 的边界(很关键,不要高估)

✅ AI 擅长:

  1. 解读 openKylin / UKUI 的源码,梳理模块
  2. 编写 Qt 界面代码、systemd 服务、shell 构建脚本
  3. 解释编译报错,给出 patch、修复代码
  4. 编写文档、构建流程、打包教程

❌ AI 不擅长:

  1. 复杂硬件驱动 bug、显卡 / 声卡底层适配问题
  2. 大规模依赖冲突、发行版体系结构性问题
  3. 内核深层次 bug、调度 / 内存相关疑难问题
  4. 许可证合规审计(木兰、GPL 等开源协议)

六、入门最简起步路径(推荐)

  1. 在 PC 虚拟机安装 openKylin
  2. 使用 live-build 编译一份最小 openKylin 原生 ISO,跑通
  3. AI 辅助:修改 UKUI 文件管理器 logo / 文字,重新编译 deb 包
  4. 重新打包进 ISO,在 QEMU 虚拟机启动验证
  5. 逐步裁剪系统、增加自研桌面组件、预装应用