如题,我想知道如何编写一个完全基于 Linux 内核的 Linux 发行版(而非基于 Debian 或红帽定制),即使没有 GUI 和功能简陋也无所谓。网上有很多关于基于 Debian 或其他定制 Linux 的教程,但是关于如何完全自己制作基于 Linux 内核的 Linux 发行版的教程却很少见。
如题,我想知道如何编写一个完全基于 Linux 内核的 Linux 发行版(而非基于 Debian 或红帽定制),即使没有 GUI 和功能简陋也无所谓。网上有很多关于基于 Debian 或其他定制 Linux 的教程,但是关于如何完全自己制作基于 Linux 内核的 Linux 发行版的教程却很少见。
1
Sainnhepark Jul 8, 2023 via Android LFS?
|
2
0o0O0o0O0o Jul 8, 2023 via iPhone 比起编写,更像是搭建。
LFS |
3
lululau Jul 8, 2023
只给你个内核,其他的软件自己写,是这意思吗,那可能比写的 Linux 内核还要难
|
4
xiaoluobo58 OP @lululau 我的意思是在内核基础上实现基础的系统功能( GUI 之类的不包括),虽然确实有些难度,不过和编写内核比起来还是容易些 hhh
|
5
harrozze Jul 8, 2023 @xiaoluobo58 #4 首先实现个 init 或者 systemd ,然后用这两个去启动其它进程。至于如何从开机到开始执行 init 或者 systemd ,我觉得不如先去找个发行版,看看它是怎么实现的。比如,可以先从 /boot/grub/grub.cfg 入手?了解一下系统怎么启动的。
LFS 也是个不错的选择,就像是找人带着走一遍。 |
6
masterclock Jul 8, 2023
这种教程实际上不少,LFS 类的是一种
嵌入式里用的 Buildroot 、yocto 也是,OpenWRT 来自 Buildroot ,也差不多 这些里面的 BusyBox 自己也能算一个 |
7
baobao1270 Jul 8, 2023
最简单的,其实只编译 busybox+kernel 即可
|
8
lhbc Jul 8, 2023
用 Rust 重写 systemd
|
9
tin3w5 Jul 9, 2023 via iPhone 因为没意义,你的需求就是在重复造轮子。而且你早的轮子几乎没什么人维护,可能 bug 一堆,兼容性极差,甚至包依赖关系混乱。你认为造出来会有人用吗?你自己都不一定想用。如果你就是爱折腾,gentoo 足够用了,何必自己写发行版?
|
10
xsonglive491 Jul 9, 2023
楼主你这是要搞嵌入式?编辑设备树,编译 kernel ,构建文件系统,加载驱动,启动服务?
|
11
rb6221 Jul 10, 2023
因为这种东西在规模上就是属于商业产品的级别了,你见过哪个商业产品有出手把手且免费公开的教程吗?要么就是第三方仿,而且只能仿一些表面的、基本的功能,要么只有 api 文档和使用手册之类的东西,开发方面从来没有过
|
12
424778940 Jul 10, 2023
你要找的是不是 buildroot
|
13
yanqiyu Jul 11, 2023
@xiaoluobo58 并不会简单...大概,要构建一个可用的系统你至少得写一套 shell+libc+编译器+init
作为玩具规模太大,作为项目重复造轮子严重 |
14
Iamsonny Jul 13, 2023
核心在包管理,比如 debian deb ,redhat rpm ,搞一个发行版最难的是有自己的包管理。
基他的 LFS 完全足够了。 |
15
flynaj Jul 20, 2023 via Android
建议先把 lfs 走一遍.
|