1
Tink 53 天前 1
Linux From Scratch
了解一下 |
2
Rorysky 53 天前 1
可以看看 opensuse 这是你没提到但是很开放过程的项目
https://build.opensuse.org/ |
3
Rorysky 53 天前 1
其实 Linux 版本发布中最重要分量的工作是没提到的 测试
|
4
cmdOptionKana 53 天前 2
安装一次 Gentoo
安装一次 Slackware 安装一次 Linux From Scratch 然后再倒过来安装一次 Slackware ,一次 Gentoo 第一次是为了降低难度,先通过安装 gentoo 学一点编译步骤,第二次是因为已经理解了细节,要倒回去看怎样从简陋发行版一步步变为相对比较成熟的发行版。 |
5
null2error 53 天前 2
虽然可能更小众一点的,但是可以看看 Yocto~
|
6
z4zr 53 天前 1
搞嵌入式 linux 结果被 Yocto 搞得外焦里嫩🤣
|
7
NessajCN 53 天前 1
编译内核是大家都一样的,
发行版之间的区别是包管理和预装软件 所以你如果要自己发行一个发行版,那你有两个选择: 用别人现成的包管理(如 debian 的 apt, arch 的 pacman ) 或者自己整一个包管理(那你得手动实现软件仓库、打包你想放进仓库的第三方软件,然后管理软件源) 包管理搞定后需要把预装软件用选好的包管理塞进安装镜像,并且做好安装脚本和引导 当然也可以学 gentoo 或 arch 不提供脚本只提供编译/安装工具让用户自己装 后续的发补丁都是通过包管理。各个包管理的打包、分发方式都不一样 譬如 arch 的 pacman https://pacman.archlinux.page/ 基本就是通过手写 PKGBUILD 文件来实现一整个编译、打包、分发工作 |
8
right0 53 天前 1
内核编译 包编译 通过包管理从头开始装包最后装成一个能用的发行版....
https://github.com/RightFS/oemaker 这玩意是我之前做 OpenEuler 项目时改的一个 ISO 打包工具, 看起来 conda 提供了界面, 然后不停调用包管理器把镜像里的所有包给装上就完事了, 每个包都有自己的依赖验证 /preinstall /postinstall. 我觉得构建发行版这玩意技术难度应该是没多少, 但是过程很繁琐. 毕竟 openEuler 好多包里面都是批量替换人家包里的字符串.我调试的时候看到好几个没替换完整的了,前面说联系 openeuler 后面给的网址是人家的. |
9
UIXX 53 天前 2
Linux 发行版是怎么构建的?
大部分的系统镜像是经由系统 SDK 构建而成,这个 SDK 就是一系列流程化脚本集合,开源的比如 https://github.com/armbian/build ,它可用于构建 Debian 、Ubuntu 镜像。 最快的学习方式是先用一用(这种 SDK 会有 GUI ),然后对于不懂的部分再针对性地看代码。 另一种极端的学习方式是从主板硬件开始,了解架构及目标处理器的特性、入口与引导流程,再进入应用软件的范围。 大的流程不难理解,魔鬼在于细节,尤其需要对特定主板编写构建程序。 |
10
tap91624 53 天前 1
open build system 找一下
|
11
qianxunlan 53 天前 via Android 1
我会比较建议玩一玩嵌入式,因为嵌入式开发板用不了官方镜像,得自己打包。
举个例子,荔枝派 4A 的社区镜像,我朋友做的,你看它 github action 跟构建脚本,大概就能明白是怎么回事了 https://github.com/chainsx/fedora-riscv-builder |
12
qianxunlan 53 天前 via Android 1
或者这个更或许简单可行些,买个二三十块钱的 milk-v duo 小板子,玩一玩它官方的这个 buildroot-sdk 订制系统:
https://github.com/milkv-duo/duo-buildroot-sdk |
13
LokiSharp OP @qianxunlan #12 我现在手持树莓派和两个 RK3588 板子,他们有能玩的么?
|
14
LokiSharp OP @cmdOptionKana #4 昨天晚上装了个 Gentoo 玩,好像不涉及打包制作发行版?
|
16
qianxunlan 52 天前 via Android 1
#13 那肯定能玩。
关于 rk3588 ,如果你是 Orange PI ,可以直接研究它的官方构建代码: https://github.com/orangepi-xunlong/orangepi-build 以及前面老兄提到的 armbian 构建脚本,armbian 相当有名,支持众多 arm 开发版,但也因为这个乐音,代码更复杂些: https://github.com/armbian/build 或者你想玩点特别的,也可以整整 v 站上近年🔥过一阵的 NixOS ,这个项目支持好几块 rk3588 的板子(相对的 nixos 有相当不同的设计理念,入门会比较难): https://github.com/ryan4yin/nixos-rk3588 关于树莓派,毕竟相当有名,首先 armbian 跟 nixos 肯定也能刷能玩,但我没折腾过所以就不谈了。 |
17
druggo 49 天前 1
@LokiSharp Gentoo 的构建工具是这个 https://wiki.gentoo.org/wiki/Catalyst
Debian 的话是 debootstrap ,软件包构建过程日志可以在这里看到 https://buildd.debian.org/ |
18
LokiSharp OP @qianxunlan #16 我的是 Nano pi R6S 打算折腾下在上面装 nixos 试试了
|